aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_surface.c')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_surface.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
index db1bb166845e..b236c48bf265 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
@@ -345,7 +345,6 @@ static void vmw_hw_surface_destroy(struct vmw_resource *res)
345 dev_priv->used_memory_size -= res->backup_size; 345 dev_priv->used_memory_size -= res->backup_size;
346 mutex_unlock(&dev_priv->cmdbuf_mutex); 346 mutex_unlock(&dev_priv->cmdbuf_mutex);
347 } 347 }
348 vmw_fifo_resource_dec(dev_priv);
349} 348}
350 349
351/** 350/**
@@ -407,6 +406,8 @@ static int vmw_legacy_srf_create(struct vmw_resource *res)
407 406
408 vmw_surface_define_encode(srf, cmd); 407 vmw_surface_define_encode(srf, cmd);
409 vmw_fifo_commit(dev_priv, submit_size); 408 vmw_fifo_commit(dev_priv, submit_size);
409 vmw_fifo_resource_inc(dev_priv);
410
410 /* 411 /*
411 * Surface memory usage accounting. 412 * Surface memory usage accounting.
412 */ 413 */
@@ -558,6 +559,7 @@ static int vmw_legacy_srf_destroy(struct vmw_resource *res)
558 */ 559 */
559 560
560 vmw_resource_release_id(res); 561 vmw_resource_release_id(res);
562 vmw_fifo_resource_dec(dev_priv);
561 563
562 return 0; 564 return 0;
563} 565}
@@ -579,15 +581,11 @@ static int vmw_surface_init(struct vmw_private *dev_priv,
579 struct vmw_resource *res = &srf->res; 581 struct vmw_resource *res = &srf->res;
580 582
581 BUG_ON(!res_free); 583 BUG_ON(!res_free);
582 if (!dev_priv->has_mob)
583 vmw_fifo_resource_inc(dev_priv);
584 ret = vmw_resource_init(dev_priv, res, true, res_free, 584 ret = vmw_resource_init(dev_priv, res, true, res_free,
585 (dev_priv->has_mob) ? &vmw_gb_surface_func : 585 (dev_priv->has_mob) ? &vmw_gb_surface_func :
586 &vmw_legacy_surface_func); 586 &vmw_legacy_surface_func);
587 587
588 if (unlikely(ret != 0)) { 588 if (unlikely(ret != 0)) {
589 if (!dev_priv->has_mob)
590 vmw_fifo_resource_dec(dev_priv);
591 res_free(res); 589 res_free(res);
592 return ret; 590 return ret;
593 } 591 }