Skip to content

Commit 1a910c1

Browse files
agxlynxeye-dev
authored andcommitted
drm/etnaviv: Ignore MC when checking runtime suspend idleness
Without that runtime suspend is often blocked due to etnaviv_gpu_rpm_suspend() returning -EBUSY since the FE seems to trigger the MC in its idle loop. Ignoring the MC bit makes the GPU suspend as expected. This was tested on GC7000. Signed-off-by: Guido Günther <[email protected]> Signed-off-by: Lucas Stach <[email protected]>
1 parent b170455 commit 1a910c1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/gpu/drm/etnaviv/etnaviv_gpu.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,8 +1835,9 @@ static int etnaviv_gpu_rpm_suspend(struct device *dev)
18351835
if (atomic_read(&gpu->sched.hw_rq_count))
18361836
return -EBUSY;
18371837

1838-
/* Check whether the hardware (except FE) is idle */
1839-
mask = gpu->idle_mask & ~VIVS_HI_IDLE_STATE_FE;
1838+
/* Check whether the hardware (except FE and MC) is idle */
1839+
mask = gpu->idle_mask & ~(VIVS_HI_IDLE_STATE_FE |
1840+
VIVS_HI_IDLE_STATE_MC);
18401841
idle = gpu_read(gpu, VIVS_HI_IDLE_STATE) & mask;
18411842
if (idle != mask)
18421843
return -EBUSY;

0 commit comments

Comments
 (0)