| .. | .. |
|---|
| 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); |
|---|