.. | .. |
---|
31 | 31 | */ |
---|
32 | 32 | |
---|
33 | 33 | #include <linux/slab.h> |
---|
| 34 | +#include <rdma/uverbs_ioctl.h> |
---|
34 | 35 | |
---|
35 | 36 | #include "mlx4_ib.h" |
---|
36 | 37 | |
---|
.. | .. |
---|
41 | 42 | int refcnt; |
---|
42 | 43 | }; |
---|
43 | 44 | |
---|
44 | | -int mlx4_ib_db_map_user(struct mlx4_ib_ucontext *context, unsigned long virt, |
---|
| 45 | +int mlx4_ib_db_map_user(struct ib_udata *udata, unsigned long virt, |
---|
45 | 46 | struct mlx4_db *db) |
---|
46 | 47 | { |
---|
47 | 48 | struct mlx4_ib_user_db_page *page; |
---|
48 | 49 | int err = 0; |
---|
| 50 | + struct mlx4_ib_ucontext *context = rdma_udata_to_drv_context( |
---|
| 51 | + udata, struct mlx4_ib_ucontext, ibucontext); |
---|
49 | 52 | |
---|
50 | 53 | mutex_lock(&context->db_page_mutex); |
---|
51 | 54 | |
---|
.. | .. |
---|
61 | 64 | |
---|
62 | 65 | page->user_virt = (virt & PAGE_MASK); |
---|
63 | 66 | page->refcnt = 0; |
---|
64 | | - page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK, |
---|
65 | | - PAGE_SIZE, 0, 0); |
---|
| 67 | + page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK, |
---|
| 68 | + PAGE_SIZE, 0); |
---|
66 | 69 | if (IS_ERR(page->umem)) { |
---|
67 | 70 | err = PTR_ERR(page->umem); |
---|
68 | 71 | kfree(page); |
---|