Lines Matching refs:page
47 struct mlx4_ib_user_db_page *page; in mlx4_ib_db_map_user() local
53 list_for_each_entry(page, &context->db_page_list, list) in mlx4_ib_db_map_user()
54 if (page->user_virt == (virt & PAGE_MASK)) in mlx4_ib_db_map_user()
57 page = kmalloc(sizeof *page, GFP_KERNEL); in mlx4_ib_db_map_user()
58 if (!page) { in mlx4_ib_db_map_user()
63 page->user_virt = (virt & PAGE_MASK); in mlx4_ib_db_map_user()
64 page->refcnt = 0; in mlx4_ib_db_map_user()
65 page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK, in mlx4_ib_db_map_user()
67 if (IS_ERR(page->umem)) { in mlx4_ib_db_map_user()
68 err = PTR_ERR(page->umem); in mlx4_ib_db_map_user()
69 kfree(page); in mlx4_ib_db_map_user()
73 list_add(&page->list, &context->db_page_list); in mlx4_ib_db_map_user()
76 chunk = list_entry(page->umem->chunk_list.next, struct ib_umem_chunk, list); in mlx4_ib_db_map_user()
78 db->u.user_page = page; in mlx4_ib_db_map_user()
79 ++page->refcnt; in mlx4_ib_db_map_user()