Lines Matching refs:page
51 struct mlx5_ib_user_db_page *page; in mlx5_ib_db_map_user() local
56 list_for_each_entry(page, &context->db_page_list, list) in mlx5_ib_db_map_user()
57 if ((current->mm == page->mm) && in mlx5_ib_db_map_user()
58 (page->user_virt == (virt & PAGE_MASK))) in mlx5_ib_db_map_user()
61 page = kmalloc(sizeof(*page), GFP_KERNEL); in mlx5_ib_db_map_user()
62 if (!page) { in mlx5_ib_db_map_user()
67 page->user_virt = (virt & PAGE_MASK); in mlx5_ib_db_map_user()
68 page->refcnt = 0; in mlx5_ib_db_map_user()
69 page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK, in mlx5_ib_db_map_user()
71 if (IS_ERR(page->umem)) { in mlx5_ib_db_map_user()
72 err = PTR_ERR(page->umem); in mlx5_ib_db_map_user()
73 kfree(page); in mlx5_ib_db_map_user()
77 page->mm = current->mm; in mlx5_ib_db_map_user()
79 list_add(&page->list, &context->db_page_list); in mlx5_ib_db_map_user()
82 db->dma = sg_dma_address(page->umem->sgt_append.sgt.sgl) + in mlx5_ib_db_map_user()
84 db->u.user_page = page; in mlx5_ib_db_map_user()
85 ++page->refcnt; in mlx5_ib_db_map_user()