Lines Matching refs:dev_priv

134 	struct vmw_private *dev_priv = res->dev_priv;  in vmw_hw_context_destroy()  local
143 mutex_lock(&dev_priv->cmdbuf_mutex); in vmw_hw_context_destroy()
145 mutex_lock(&dev_priv->binding_mutex); in vmw_hw_context_destroy()
148 mutex_unlock(&dev_priv->binding_mutex); in vmw_hw_context_destroy()
149 if (dev_priv->pinned_bo != NULL && in vmw_hw_context_destroy()
150 !dev_priv->query_cid_valid) in vmw_hw_context_destroy()
151 __vmw_execbuf_release_pinned_bo(dev_priv, NULL); in vmw_hw_context_destroy()
152 mutex_unlock(&dev_priv->cmdbuf_mutex); in vmw_hw_context_destroy()
157 vmw_execbuf_release_pinned_bo(dev_priv); in vmw_hw_context_destroy()
158 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_hw_context_destroy()
169 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_hw_context_destroy()
170 vmw_fifo_resource_dec(dev_priv); in vmw_hw_context_destroy()
173 static int vmw_gb_context_init(struct vmw_private *dev_priv, in vmw_gb_context_init() argument
184 ret = vmw_resource_init(dev_priv, res, true, in vmw_gb_context_init()
191 if (dev_priv->has_mob) { in vmw_gb_context_init()
192 uctx->man = vmw_cmdbuf_res_man_create(dev_priv); in vmw_gb_context_init()
200 uctx->cbs = vmw_binding_state_alloc(dev_priv); in vmw_gb_context_init()
210 uctx->cotables[i] = vmw_cotable_alloc(dev_priv, in vmw_gb_context_init()
234 static int vmw_context_init(struct vmw_private *dev_priv, in vmw_context_init() argument
246 if (dev_priv->has_mob) in vmw_context_init()
247 return vmw_gb_context_init(dev_priv, dx, res, res_free); in vmw_context_init()
249 ret = vmw_resource_init(dev_priv, res, false, in vmw_context_init()
263 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_context_init()
274 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_context_init()
275 vmw_fifo_resource_inc(dev_priv); in vmw_context_init()
294 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_create() local
315 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_gb_context_create()
326 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_create()
327 vmw_fifo_resource_inc(dev_priv); in vmw_gb_context_create()
340 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_bind() local
349 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_gb_context_bind()
361 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_bind()
370 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_unbind() local
390 mutex_lock(&dev_priv->binding_mutex); in vmw_gb_context_unbind()
395 cmd = vmw_fifo_reserve(dev_priv, submit_size); in vmw_gb_context_unbind()
399 mutex_unlock(&dev_priv->binding_mutex); in vmw_gb_context_unbind()
416 vmw_fifo_commit(dev_priv, submit_size); in vmw_gb_context_unbind()
417 mutex_unlock(&dev_priv->binding_mutex); in vmw_gb_context_unbind()
423 (void) vmw_execbuf_fence_commands(NULL, dev_priv, in vmw_gb_context_unbind()
436 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_destroy() local
445 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_gb_context_destroy()
455 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_destroy()
456 if (dev_priv->query_cid == res->id) in vmw_gb_context_destroy()
457 dev_priv->query_cid_valid = false; in vmw_gb_context_destroy()
459 vmw_fifo_resource_dec(dev_priv); in vmw_gb_context_destroy()
470 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_create() local
491 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_dx_context_create()
502 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_create()
503 vmw_fifo_resource_inc(dev_priv); in vmw_dx_context_create()
516 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_bind() local
525 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_dx_context_bind()
538 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_bind()
587 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_unbind() local
607 mutex_lock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
619 cmd = vmw_fifo_reserve(dev_priv, submit_size); in vmw_dx_context_unbind()
623 mutex_unlock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
640 vmw_fifo_commit(dev_priv, submit_size); in vmw_dx_context_unbind()
641 mutex_unlock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
647 (void) vmw_execbuf_fence_commands(NULL, dev_priv, in vmw_dx_context_unbind()
660 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_destroy() local
669 cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); in vmw_dx_context_destroy()
679 vmw_fifo_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_destroy()
680 if (dev_priv->query_cid == res->id) in vmw_dx_context_destroy()
681 dev_priv->query_cid_valid = false; in vmw_dx_context_destroy()
683 vmw_fifo_resource_dec(dev_priv); in vmw_dx_context_destroy()
702 struct vmw_private *dev_priv = res->dev_priv; in vmw_user_context_free() local
710 ttm_mem_global_free(vmw_mem_glob(dev_priv), in vmw_user_context_free()
742 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_context_define() local
750 if (!dev_priv->has_dx && dx) { in vmw_context_define()
762 ((dev_priv->has_mob) ? vmw_cmdbuf_res_man_size() : 0); in vmw_context_define()
764 ret = ttm_read_lock(&dev_priv->reservation_sem, true); in vmw_context_define()
768 ret = ttm_mem_global_alloc(vmw_mem_glob(dev_priv), in vmw_context_define()
780 ttm_mem_global_free(vmw_mem_glob(dev_priv), in vmw_context_define()
794 ret = vmw_context_init(dev_priv, res, vmw_user_context_free, dx); in vmw_context_define()
811 ttm_read_unlock(&dev_priv->reservation_sem); in vmw_context_define()