diff options
author | Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> | 2023-09-27 22:06:41 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2024-06-14 23:17:13 +0300 |
commit | b5236da757adc75d7e52c69bdc233d29249a0d0c (patch) | |
tree | b76a429261eb5037bc26dced7b90d95eeed12107 /drivers/gpu/drm/amd/display/dc/dce | |
parent | 030631e97b209481edbac38000d2a60fd340f6b1 (diff) | |
download | linux-b5236da757adc75d7e52c69bdc233d29249a0d0c.tar.xz |
drm/amd/display: Don't use fsleep for PSR exit waits on dmub replay
[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 flseep with a udelay for dmub_replay_enable.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@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>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dce')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c index fe431bd9baa2..33cfeb730d7d 100644 --- a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c +++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c @@ -96,7 +96,8 @@ static void dmub_replay_enable(struct dmub_replay *dmub, bool enable, bool wait, break; } - fsleep(500); + /* must *not* be fsleep - this can be called from high irq levels */ + udelay(500); } /* assert if max retry hit */ |