aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panthor
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2025-04-04 10:09:30 +0200
committerBoris Brezillon <boris.brezillon@collabora.com>2025-04-10 15:00:11 +0200
commit7d5a3b22f5b58ef89ab8770d7a44c24eecde8d66 (patch)
tree0b66d112553c0d93d782e0935990a21edd39f7bb /drivers/gpu/drm/panthor
parentdrm/panthor: Fix GPU_COHERENCY_ACE[_LITE] definitions (diff)
downloadlinux-7d5a3b22f5b58ef89ab8770d7a44c24eecde8d66.tar.gz
linux-7d5a3b22f5b58ef89ab8770d7a44c24eecde8d66.zip
drm/panthor: Call panthor_gpu_coherency_init() after PM resume()
When the device is coherent, panthor_gpu_coherency_init() will read GPU_COHERENCY_FEATURES to make sure the GPU supports the ACE-Lite coherency protocol, which will fail if the clocks/power-domains are not enabled when the read is done. Move the panthor_gpu_coherency_init() call after the device has been resumed to prevent that. Changes in v2: - Add Liviu's R-b Changes in v3: - Add Steve's R-b Fixes: dd7db8d911a1 ("drm/panthor: Explicitly set the coherency mode") Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Reviewed-by: Steven Price <steven.price@arm.com> Link: https://lore.kernel.org/r/20250404080933.2912674-3-boris.brezillon@collabora.com Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Diffstat (limited to 'drivers/gpu/drm/panthor')
-rw-r--r--drivers/gpu/drm/panthor/panthor_device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c
index a9da1d1eeb70..c73c1608d6e6 100644
--- a/drivers/gpu/drm/panthor/panthor_device.c
+++ b/drivers/gpu/drm/panthor/panthor_device.c
@@ -171,10 +171,6 @@ int panthor_device_init(struct panthor_device *ptdev)
struct page *p;
int ret;
- ret = panthor_gpu_coherency_init(ptdev);
- if (ret)
- return ret;
-
init_completion(&ptdev->unplug.done);
ret = drmm_mutex_init(&ptdev->base, &ptdev->unplug.lock);
if (ret)
@@ -247,6 +243,10 @@ int panthor_device_init(struct panthor_device *ptdev)
if (ret)
goto err_rpm_put;
+ ret = panthor_gpu_coherency_init(ptdev);
+ if (ret)
+ return ret;
+
ret = panthor_mmu_init(ptdev);
if (ret)
goto err_unplug_gpu;