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 <[email protected]>
---
 drivers/gpu/drm/panthor/panthor_gpu.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/panthor/panthor_gpu.c 
b/drivers/gpu/drm/panthor/panthor_gpu.c
index 534735518824..cb7a335e07d7 100644
--- a/drivers/gpu/drm/panthor/panthor_gpu.c
+++ b/drivers/gpu/drm/panthor/panthor_gpu.c
@@ -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);
-- 
2.39.5

Reply via email to