Lines Matching refs:page
47 struct mlx4_ib_user_db_page *page; in mlx4_ib_db_map_user() local
52 list_for_each_entry(page, &context->db_page_list, list) in mlx4_ib_db_map_user()
53 if (page->user_virt == (virt & PAGE_MASK)) in mlx4_ib_db_map_user()
56 page = kmalloc(sizeof *page, GFP_KERNEL); in mlx4_ib_db_map_user()
57 if (!page) { in mlx4_ib_db_map_user()
62 page->user_virt = (virt & PAGE_MASK); in mlx4_ib_db_map_user()
63 page->refcnt = 0; in mlx4_ib_db_map_user()
64 page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK, in mlx4_ib_db_map_user()
66 if (IS_ERR(page->umem)) { in mlx4_ib_db_map_user()
67 err = PTR_ERR(page->umem); in mlx4_ib_db_map_user()
68 kfree(page); in mlx4_ib_db_map_user()
72 list_add(&page->list, &context->db_page_list); in mlx4_ib_db_map_user()
75 db->dma = sg_dma_address(page->umem->sg_head.sgl) + (virt & ~PAGE_MASK); in mlx4_ib_db_map_user()
76 db->u.user_page = page; in mlx4_ib_db_map_user()
77 ++page->refcnt; in mlx4_ib_db_map_user()