Hi Thomas,
On 18.09.25 12:32, Thomas Zimmermann wrote:
Hi
Am 17.09.25 um 21:43 schrieb Nirmoy Das:
The busy-waiting in `mdelay()` can cause CPU stalls and kernel timeouts
during boot.
Signed-off-by: Nirmoy Das <nirm...@nvidia.com>
Reviewed-by: Thomas Zimmermann <tzimmerm...@suse.de>
Sending this as RFC as I am familiar with the code and not sure
if this transition is safe.
It's only waiting for hardware, so most likely safe. I'll give it a
try before merging the patch. Thanks for this fix.
Perfect. Thanks for also trying it out. We tried it on older kernel and
it helped.
There are other calls to mdelay in the driver. Should they be replaced
as well?
Haven't observed any issue with those calls which occurs at shorter
intervals and may be that is why they didn't cause a blockage.
Regards,
Nirmoy
Best regards
Thomas
---
drivers/gpu/drm/ast/ast_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ast/ast_dp.c b/drivers/gpu/drm/ast/ast_dp.c
index 19c04687b0fe1..8e650a02c5287 100644
--- a/drivers/gpu/drm/ast/ast_dp.c
+++ b/drivers/gpu/drm/ast/ast_dp.c
@@ -134,7 +134,7 @@ static int ast_astdp_read_edid_block(void *data,
u8 *buf, unsigned int block, si
* 3. The Delays are often longer a lot when system
resume from S3/S4.
*/
if (j)
- mdelay(j + 1);
+ msleep(j + 1);
/* Wait for EDID offset to show up in mirror register */
vgacrd7 = ast_get_index_reg(ast, AST_IO_VGACRI, 0xd7);
--
2.43.0