Lines Matching refs:page
49 struct mlx5_ib_user_db_page *page; in mlx5_ib_db_map_user() local
54 list_for_each_entry(page, &context->db_page_list, list) in mlx5_ib_db_map_user()
55 if (page->user_virt == (virt & PAGE_MASK)) in mlx5_ib_db_map_user()
58 page = kmalloc(sizeof(*page), GFP_KERNEL); in mlx5_ib_db_map_user()
59 if (!page) { in mlx5_ib_db_map_user()
64 page->user_virt = (virt & PAGE_MASK); in mlx5_ib_db_map_user()
65 page->refcnt = 0; in mlx5_ib_db_map_user()
66 page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK, in mlx5_ib_db_map_user()
68 if (IS_ERR(page->umem)) { in mlx5_ib_db_map_user()
69 err = PTR_ERR(page->umem); in mlx5_ib_db_map_user()
70 kfree(page); in mlx5_ib_db_map_user()
74 list_add(&page->list, &context->db_page_list); in mlx5_ib_db_map_user()
77 db->dma = sg_dma_address(page->umem->sg_head.sgl) + (virt & ~PAGE_MASK); in mlx5_ib_db_map_user()
78 db->u.user_page = page; in mlx5_ib_db_map_user()
79 ++page->refcnt; in mlx5_ib_db_map_user()