diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2024-08-22 09:42:22 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2024-08-22 09:42:23 +0200 |
commit | 11df68c265460d4dff5d19a1313f0fff69470f98 (patch) | |
tree | 89a00d1bbbd7356cf48037fccc47b70fb4105779 /drivers/gpu/drm/ast/ast_dp.c | |
parent | a809b92ee0f84c3f655b16a8b4d04bc3665d954a (diff) | |
parent | 8befe8fa5a4e4b30787b17e078d9d7b5cb92ea19 (diff) |
Merge tag 'drm-misc-next-2024-08-16' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.12:
Core Changes:
ci:
- Update dependencies
docs:
- Cleanups
edid:
- Improve debug logging
- Clean up interface
fbdev emulation:
- Remove old fbdev hooks
- Update documentation
panic:
- Cleanups
Driver Changes:
amdgpu:
- Remove usage of old fbdev hooks
- Use backlight constants
ast:
- Fix timeout loop for DP link training
hisilicon:
- hibmc: Cleanups
mipi-dsi:
- Improve error handling
- startek-kd070fhfid015: Use new error handling
nouveau:
- Remove usage of old fbdev hooks
panel:
- Use backlight constants
radeon:
- Use backlight constants
rockchip:
- Improve DP sink-capability reporting
- Cleanups
- dw_hdmi: Support 4k@60Hz; Cleanups
- vop: Support RGB display on Rockchip RK3066; Support 4096px width
tilcdc:
- Use backlight constants
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240816084109.GA229316@localhost.localdomain
Diffstat (limited to 'drivers/gpu/drm/ast/ast_dp.c')
-rw-r--r-- | drivers/gpu/drm/ast/ast_dp.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/gpu/drm/ast/ast_dp.c b/drivers/gpu/drm/ast/ast_dp.c index 5d07678b502c..ca022c287785 100644 --- a/drivers/gpu/drm/ast/ast_dp.c +++ b/drivers/gpu/drm/ast/ast_dp.c @@ -146,18 +146,19 @@ void ast_dp_power_on_off(struct drm_device *dev, bool on) void ast_dp_link_training(struct ast_device *ast) { struct drm_device *dev = &ast->base; - unsigned int i = 10; + int i; - while (i--) { - u8 vgacrdc = ast_get_index_reg(ast, AST_IO_VGACRI, 0xdc); + for (i = 0; i < 10; i++) { + u8 vgacrdc; - if (vgacrdc & AST_IO_VGACRDC_LINK_SUCCESS) - break; if (i) msleep(100); + + vgacrdc = ast_get_index_reg(ast, AST_IO_VGACRI, 0xdc); + if (vgacrdc & AST_IO_VGACRDC_LINK_SUCCESS) + return; } - if (!i) - drm_err(dev, "Link training failed\n"); + drm_err(dev, "Link training failed\n"); } void ast_dp_set_on_off(struct drm_device *dev, bool on) |