mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
drm/etnaviv: drop GPU initialized property
Now that it is only used to track the driver internal state of the MMU global and cmdbuf objects, we can get rid of this property by making the free/finit functions of those objects safe to call on an uninitialized object. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
This commit is contained in:
parent
647d817d80
commit
e116be254a
@ -121,6 +121,9 @@ void etnaviv_cmdbuf_free(struct etnaviv_cmdbuf *cmdbuf)
|
||||
int order = order_base_2(ALIGN(cmdbuf->size, SUBALLOC_GRANULE) /
|
||||
SUBALLOC_GRANULE);
|
||||
|
||||
if (!suballoc)
|
||||
return;
|
||||
|
||||
mutex_lock(&suballoc->lock);
|
||||
bitmap_release_region(suballoc->granule_map,
|
||||
cmdbuf->suballoc_offset / SUBALLOC_GRANULE,
|
||||
|
@ -876,8 +876,6 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
|
||||
pm_runtime_mark_last_busy(gpu->dev);
|
||||
pm_runtime_put_autosuspend(gpu->dev);
|
||||
|
||||
gpu->initialized = true;
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
@ -1805,11 +1803,8 @@ static void etnaviv_gpu_unbind(struct device *dev, struct device *master,
|
||||
if (gpu->mmu_context)
|
||||
etnaviv_iommu_context_put(gpu->mmu_context);
|
||||
|
||||
if (gpu->initialized) {
|
||||
etnaviv_cmdbuf_free(&gpu->buffer);
|
||||
etnaviv_iommu_global_fini(gpu);
|
||||
gpu->initialized = false;
|
||||
}
|
||||
etnaviv_cmdbuf_free(&gpu->buffer);
|
||||
etnaviv_iommu_global_fini(gpu);
|
||||
|
||||
gpu->drm = NULL;
|
||||
xa_destroy(&gpu->user_fences);
|
||||
|
@ -114,7 +114,6 @@ struct etnaviv_gpu {
|
||||
struct mutex sched_lock;
|
||||
struct drm_gpu_scheduler sched;
|
||||
enum etnaviv_gpu_state state;
|
||||
bool initialized;
|
||||
|
||||
/* 'ring'-buffer: */
|
||||
struct etnaviv_cmdbuf buffer;
|
||||
|
@ -553,6 +553,9 @@ void etnaviv_iommu_global_fini(struct etnaviv_gpu *gpu)
|
||||
struct etnaviv_drm_private *priv = gpu->drm->dev_private;
|
||||
struct etnaviv_iommu_global *global = priv->mmu_global;
|
||||
|
||||
if (!global)
|
||||
return;
|
||||
|
||||
if (--global->use > 0)
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user