Lines Matching refs:page
48 struct mlx4_ib_user_db_page *page; in mlx4_ib_db_map_user() local
55 list_for_each_entry(page, &context->db_page_list, list) in mlx4_ib_db_map_user()
56 if (page->user_virt == (virt & PAGE_MASK)) in mlx4_ib_db_map_user()
59 page = kmalloc(sizeof *page, GFP_KERNEL); in mlx4_ib_db_map_user()
60 if (!page) { in mlx4_ib_db_map_user()
65 page->user_virt = (virt & PAGE_MASK); in mlx4_ib_db_map_user()
66 page->refcnt = 0; in mlx4_ib_db_map_user()
67 page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK, in mlx4_ib_db_map_user()
69 if (IS_ERR(page->umem)) { in mlx4_ib_db_map_user()
70 err = PTR_ERR(page->umem); in mlx4_ib_db_map_user()
71 kfree(page); in mlx4_ib_db_map_user()
75 list_add(&page->list, &context->db_page_list); in mlx4_ib_db_map_user()
78 db->dma = sg_dma_address(page->umem->sgt_append.sgt.sgl) + in mlx4_ib_db_map_user()
80 db->u.user_page = page; in mlx4_ib_db_map_user()
81 ++page->refcnt; in mlx4_ib_db_map_user()