]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commitdiff
drm/ast: Use msleep instead of mdelay for edid read
authorNirmoy Das <nirmoyd@nvidia.com>
Wed, 17 Sep 2025 19:43:46 +0000 (12:43 -0700)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 19 Sep 2025 06:46:33 +0000 (08:46 +0200)
The busy-waiting in `mdelay()` can cause CPU stalls and kernel timeouts
during boot.

Signed-off-by: Nirmoy Das <nirmoyd@nvidia.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Carol L Soto csoto@nvidia.com<mailto:csoto@nvidia.com>
Fixes: 594e9c04b586 ("drm/ast: Create the driver for ASPEED proprietory Display-Port")
Cc: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v5.19+
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20250917194346.2905522-1-nirmoyd@nvidia.com
drivers/gpu/drm/ast/ast_dp.c

index 19c04687b0fe1f42028fa64bb06c0f8401a8cae8..8e650a02c5287ba39ef2f1543fb338030a5d866a 100644 (file)
@@ -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);