Lines Matching refs:dev_priv

121 static void vmw_context_cotables_unref(struct vmw_private *dev_priv,  in vmw_context_cotables_unref()  argument
126 u32 cotable_max = has_sm5_context(dev_priv) ? in vmw_context_cotables_unref()
144 struct vmw_private *dev_priv = res->dev_priv; in vmw_hw_context_destroy() local
153 mutex_lock(&dev_priv->cmdbuf_mutex); in vmw_hw_context_destroy()
155 mutex_lock(&dev_priv->binding_mutex); in vmw_hw_context_destroy()
158 mutex_unlock(&dev_priv->binding_mutex); in vmw_hw_context_destroy()
159 if (dev_priv->pinned_bo != NULL && in vmw_hw_context_destroy()
160 !dev_priv->query_cid_valid) in vmw_hw_context_destroy()
161 __vmw_execbuf_release_pinned_bo(dev_priv, NULL); in vmw_hw_context_destroy()
162 mutex_unlock(&dev_priv->cmdbuf_mutex); in vmw_hw_context_destroy()
163 vmw_context_cotables_unref(dev_priv, uctx); in vmw_hw_context_destroy()
167 vmw_execbuf_release_pinned_bo(dev_priv); in vmw_hw_context_destroy()
168 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_hw_context_destroy()
176 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_hw_context_destroy()
177 vmw_fifo_resource_dec(dev_priv); in vmw_hw_context_destroy()
180 static int vmw_gb_context_init(struct vmw_private *dev_priv, in vmw_gb_context_init() argument
191 ret = vmw_resource_init(dev_priv, res, true, in vmw_gb_context_init()
198 if (dev_priv->has_mob) { in vmw_gb_context_init()
199 uctx->man = vmw_cmdbuf_res_man_create(dev_priv); in vmw_gb_context_init()
207 uctx->cbs = vmw_binding_state_alloc(dev_priv); in vmw_gb_context_init()
216 u32 cotable_max = has_sm5_context(dev_priv) ? in vmw_gb_context_init()
219 uctx->cotables[i] = vmw_cotable_alloc(dev_priv, in vmw_gb_context_init()
232 vmw_context_cotables_unref(dev_priv, uctx); in vmw_gb_context_init()
241 static int vmw_context_init(struct vmw_private *dev_priv, in vmw_context_init() argument
253 if (dev_priv->has_mob) in vmw_context_init()
254 return vmw_gb_context_init(dev_priv, dx, res, res_free); in vmw_context_init()
256 ret = vmw_resource_init(dev_priv, res, false, in vmw_context_init()
270 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_context_init()
280 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_context_init()
281 vmw_fifo_resource_inc(dev_priv); in vmw_context_init()
300 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_create() local
321 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_gb_context_create()
330 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_create()
331 vmw_fifo_resource_inc(dev_priv); in vmw_gb_context_create()
344 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_bind() local
353 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_gb_context_bind()
363 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_bind()
372 struct vmw_private *dev_priv = res->dev_priv; in vmw_gb_context_unbind() local
392 mutex_lock(&dev_priv->binding_mutex); in vmw_gb_context_unbind()
397 cmd = VMW_CMD_RESERVE(dev_priv, submit_size); in vmw_gb_context_unbind()
399 mutex_unlock(&dev_priv->binding_mutex); in vmw_gb_context_unbind()
416 vmw_cmd_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_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_gb_context_destroy()
452 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_gb_context_destroy()
453 if (dev_priv->query_cid == res->id) in vmw_gb_context_destroy()
454 dev_priv->query_cid_valid = false; in vmw_gb_context_destroy()
456 vmw_fifo_resource_dec(dev_priv); in vmw_gb_context_destroy()
467 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_create() local
488 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_dx_context_create()
497 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_create()
498 vmw_fifo_resource_inc(dev_priv); in vmw_dx_context_create()
511 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_bind() local
520 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_dx_context_bind()
530 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_bind()
555 u32 cotable_max = has_sm5_context(ctx->dev_priv) ? in vmw_dx_context_scrub_cotables()
581 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_unbind() local
601 mutex_lock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
613 cmd = VMW_CMD_RESERVE(dev_priv, submit_size); in vmw_dx_context_unbind()
615 mutex_unlock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
632 vmw_cmd_commit(dev_priv, submit_size); in vmw_dx_context_unbind()
633 mutex_unlock(&dev_priv->binding_mutex); in vmw_dx_context_unbind()
639 (void) vmw_execbuf_fence_commands(NULL, dev_priv, in vmw_dx_context_unbind()
652 struct vmw_private *dev_priv = res->dev_priv; in vmw_dx_context_destroy() local
661 cmd = VMW_CMD_RESERVE(dev_priv, sizeof(*cmd)); in vmw_dx_context_destroy()
668 vmw_cmd_commit(dev_priv, sizeof(*cmd)); in vmw_dx_context_destroy()
669 if (dev_priv->query_cid == res->id) in vmw_dx_context_destroy()
670 dev_priv->query_cid_valid = false; in vmw_dx_context_destroy()
672 vmw_fifo_resource_dec(dev_priv); in vmw_dx_context_destroy()
728 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_context_define() local
736 if (!has_sm4_context(dev_priv) && dx) { in vmw_context_define()
755 ret = vmw_context_init(dev_priv, res, vmw_user_context_free, dx); in vmw_context_define()
822 u32 cotable_max = has_sm5_context(ctx->dev_priv) ? in vmw_context_cotable()