]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/panthor: Wait for _READY register when powering on
authorSteven Price <steven.price@arm.com>
Mon, 30 Jun 2025 14:07:02 +0000 (15:07 +0100)
committerSteven Price <steven.price@arm.com>
Mon, 30 Jun 2025 15:57:24 +0000 (16:57 +0100)
panthor_gpu_block_power_on() takes a register offset (rdy_reg) for the
purpose of waiting for the power transition to complete. However, a
copy/paste error converting to use the new 64 register functions
switched it to using the pwrtrans_reg register instead. Fix the function
to use the correct register.

Fixes: 4d230aa209ed ("drm/panthor: Add 64-bit and poll register accessors")
Signed-off-by: Steven Price <steven.price@arm.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/r/20250630140704.432409-1-steven.price@arm.com
drivers/gpu/drm/panthor/panthor_gpu.c

index 5347355188243ed6f23c6389bd767be9e15fdf5b..cb7a335e07d7c3b6457150c8a3225a9c49286677 100644 (file)
@@ -297,8 +297,9 @@ int panthor_gpu_block_power_on(struct panthor_device *ptdev,
 
        gpu_write64(ptdev, pwron_reg, mask);
 
-       ret = gpu_read64_relaxed_poll_timeout(ptdev, pwrtrans_reg, val,
-                                             !(mask & val), 100, timeout_us);
+       ret = gpu_read64_relaxed_poll_timeout(ptdev, rdy_reg, val,
+                                             (mask & val) == val,
+                                             100, timeout_us);
        if (ret) {
                drm_err(&ptdev->base, "timeout waiting on %s:%llx readiness",
                        blk_name, mask);