mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
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>
This commit is contained in:
parent
ddd5298c63
commit
79df45dc4b
|
|
@ -586,7 +586,8 @@ static void dcn10_dmcu_set_psr_enable(struct dmcu *dmcu, bool enable, bool wait)
|
|||
if (state == PSR_STATE0)
|
||||
break;
|
||||
}
|
||||
fsleep(500);
|
||||
/* must *not* be fsleep - this can be called from high irq levels */
|
||||
udelay(500);
|
||||
}
|
||||
|
||||
/* assert if max retry hit */
|
||||
|
|
|
|||
|
|
@ -217,7 +217,8 @@ static void dmub_psr_enable(struct dmub_psr *dmub, bool enable, bool wait, uint8
|
|||
break;
|
||||
}
|
||||
|
||||
fsleep(500);
|
||||
/* must *not* be fsleep - this can be called from high irq levels */
|
||||
udelay(500);
|
||||
}
|
||||
|
||||
/* assert if max retry hit */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user