|
@@ -345,7 +345,6 @@ static void vmw_hw_surface_destroy(struct vmw_resource *res)
|
|
dev_priv->used_memory_size -= res->backup_size;
|
|
dev_priv->used_memory_size -= res->backup_size;
|
|
mutex_unlock(&dev_priv->cmdbuf_mutex);
|
|
mutex_unlock(&dev_priv->cmdbuf_mutex);
|
|
}
|
|
}
|
|
- vmw_fifo_resource_dec(dev_priv);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -407,6 +406,8 @@ static int vmw_legacy_srf_create(struct vmw_resource *res)
|
|
|
|
|
|
vmw_surface_define_encode(srf, cmd);
|
|
vmw_surface_define_encode(srf, cmd);
|
|
vmw_fifo_commit(dev_priv, submit_size);
|
|
vmw_fifo_commit(dev_priv, submit_size);
|
|
|
|
+ vmw_fifo_resource_inc(dev_priv);
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Surface memory usage accounting.
|
|
* Surface memory usage accounting.
|
|
*/
|
|
*/
|
|
@@ -558,6 +559,7 @@ static int vmw_legacy_srf_destroy(struct vmw_resource *res)
|
|
*/
|
|
*/
|
|
|
|
|
|
vmw_resource_release_id(res);
|
|
vmw_resource_release_id(res);
|
|
|
|
+ vmw_fifo_resource_dec(dev_priv);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -579,15 +581,11 @@ static int vmw_surface_init(struct vmw_private *dev_priv,
|
|
struct vmw_resource *res = &srf->res;
|
|
struct vmw_resource *res = &srf->res;
|
|
|
|
|
|
BUG_ON(!res_free);
|
|
BUG_ON(!res_free);
|
|
- if (!dev_priv->has_mob)
|
|
|
|
- vmw_fifo_resource_inc(dev_priv);
|
|
|
|
ret = vmw_resource_init(dev_priv, res, true, res_free,
|
|
ret = vmw_resource_init(dev_priv, res, true, res_free,
|
|
(dev_priv->has_mob) ? &vmw_gb_surface_func :
|
|
(dev_priv->has_mob) ? &vmw_gb_surface_func :
|
|
&vmw_legacy_surface_func);
|
|
&vmw_legacy_surface_func);
|
|
|
|
|
|
if (unlikely(ret != 0)) {
|
|
if (unlikely(ret != 0)) {
|
|
- if (!dev_priv->has_mob)
|
|
|
|
- vmw_fifo_resource_dec(dev_priv);
|
|
|
|
res_free(res);
|
|
res_free(res);
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|