Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: Don't use fsleep for PSR exit waits

[Why]
These functions can be called from high IRQ levels and the OS will hang
if it tries to use a usleep_highres or a msleep.

[How]
Replace the fsleep with a udelay.

Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Nicholas Kazlauskas and committed by
Alex Deucher
79df45dc ddd5298c

+4 -2
+2 -1
drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c
··· 586 586 if (state == PSR_STATE0) 587 587 break; 588 588 } 589 - fsleep(500); 589 + /* must *not* be fsleep - this can be called from high irq levels */ 590 + udelay(500); 590 591 } 591 592 592 593 /* assert if max retry hit */
+2 -1
drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c
··· 217 217 break; 218 218 } 219 219 220 - fsleep(500); 220 + /* must *not* be fsleep - this can be called from high irq levels */ 221 + udelay(500); 221 222 } 222 223 223 224 /* assert if max retry hit */