From 5fdea2e9936a49905902e339e627a27b0ab0a884 Mon Sep 17 00:00:00 2001 From: Thomas Zimmermann Date: Wed, 22 Oct 2025 08:48:49 +0200 Subject: [PATCH] ast: Set/clear screen-disable bit --- drivers/gpu/drm/ast/ast_mode.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index 9ce874dba69c..b73437083dbf 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -820,6 +820,7 @@ ast_crtc_helper_atomic_flush(struct drm_crtc *crtc, static void ast_crtc_helper_atomic_enable(struct drm_crtc *crtc, struct drm_atomic_state *state) { struct ast_device *ast = to_ast_device(crtc->dev); + u8 vgasr1 = 0xff; u8 vgacr17 = 0x00; u8 vgacrb6 = 0xff; @@ -828,6 +829,9 @@ static void ast_crtc_helper_atomic_enable(struct drm_crtc *crtc, struct drm_atom ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0x17, 0x7f, vgacr17); ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0xb6, 0xfc, vgacrb6); + + vgasr1 &= ~AST_IO_VGASR1_SD; + ast_set_index_reg_mask(ast, AST_IO_VGASRI, 0x01, 0xdf, vgasr1); } static void ast_crtc_helper_atomic_disable(struct drm_crtc *crtc, struct drm_atomic_state *state) @@ -835,6 +839,10 @@ static void ast_crtc_helper_atomic_disable(struct drm_crtc *crtc, struct drm_ato struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); struct ast_device *ast = to_ast_device(crtc->dev); u8 vgacr17 = 0xff; + u8 vgasr1 = 0x00; + + vgasr1 |= AST_IO_VGASR1_SD; + ast_set_index_reg_mask(ast, AST_IO_VGASRI, 0x01, 0xdf, vgasr1); vgacr17 &= ~AST_IO_VGACR17_SYNC_ENABLE; ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0x17, 0x7f, vgacr17); -- 2.51.0