Lines Matching refs:gman
52 struct vmwgfx_gmrid_man *gman = in vmw_gmrid_man_get_node() local
58 id = ida_alloc_max(&gman->gmr_ida, gman->max_gmr_ids - 1, GFP_KERNEL); in vmw_gmrid_man_get_node()
62 spin_lock(&gman->lock); in vmw_gmrid_man_get_node()
64 if (gman->max_gmr_pages > 0) { in vmw_gmrid_man_get_node()
65 gman->used_gmr_pages += bo->num_pages; in vmw_gmrid_man_get_node()
66 if (unlikely(gman->used_gmr_pages > gman->max_gmr_pages)) in vmw_gmrid_man_get_node()
70 mem->mm_node = gman; in vmw_gmrid_man_get_node()
74 spin_unlock(&gman->lock); in vmw_gmrid_man_get_node()
78 gman->used_gmr_pages -= bo->num_pages; in vmw_gmrid_man_get_node()
79 spin_unlock(&gman->lock); in vmw_gmrid_man_get_node()
80 ida_free(&gman->gmr_ida, id); in vmw_gmrid_man_get_node()
87 struct vmwgfx_gmrid_man *gman = in vmw_gmrid_man_put_node() local
91 ida_free(&gman->gmr_ida, mem->start); in vmw_gmrid_man_put_node()
92 spin_lock(&gman->lock); in vmw_gmrid_man_put_node()
93 gman->used_gmr_pages -= mem->num_pages; in vmw_gmrid_man_put_node()
94 spin_unlock(&gman->lock); in vmw_gmrid_man_put_node()
104 struct vmwgfx_gmrid_man *gman = in vmw_gmrid_man_init() local
105 kzalloc(sizeof(*gman), GFP_KERNEL); in vmw_gmrid_man_init()
107 if (unlikely(!gman)) in vmw_gmrid_man_init()
110 spin_lock_init(&gman->lock); in vmw_gmrid_man_init()
111 gman->used_gmr_pages = 0; in vmw_gmrid_man_init()
112 ida_init(&gman->gmr_ida); in vmw_gmrid_man_init()
116 gman->max_gmr_ids = dev_priv->max_gmr_ids; in vmw_gmrid_man_init()
117 gman->max_gmr_pages = dev_priv->max_gmr_pages; in vmw_gmrid_man_init()
120 gman->max_gmr_ids = VMWGFX_NUM_MOB; in vmw_gmrid_man_init()
121 gman->max_gmr_pages = dev_priv->max_mob_pages; in vmw_gmrid_man_init()
126 man->priv = (void *) gman; in vmw_gmrid_man_init()
132 struct vmwgfx_gmrid_man *gman = in vmw_gmrid_man_takedown() local
135 if (gman) { in vmw_gmrid_man_takedown()
136 ida_destroy(&gman->gmr_ida); in vmw_gmrid_man_takedown()
137 kfree(gman); in vmw_gmrid_man_takedown()