Commit 6f719373b943 ("drm/ast: Blank with VGACR17 sync enable, always clear VGACRB6 sync off") stopped clearing the SD bit in VGASR1 when enabling the CRTC, as SD was thought to only disable access to video memory. On AST2600, SD also blanks the display output, including the picture captured by the BMC for remote KVM. Nothing else clears SD, as ast_set_std_reg() preserves the bit. If firmware or a previous kernel, such as one that started this kernel with kexec, left SD set, the display stays blank. Clear SD on CRTC enable. Fixes: 6f719373b943 ("drm/ast: Blank with VGACR17 sync enable, always clear VGACRB6 sync off") Cc: stable@vger.kernel.org # v6.7+ Signed-off-by: Han Gao --- drivers/gpu/drm/ast/ast_mode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index 08db132acae85d19003b4361ade227454b6a0e3a..a42d0434cd7999ec2ef66a67cd9d81ff1dc9509a 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -857,6 +857,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); + + /* Firmware or a previous kernel may have left the screen disabled. */ + ast_set_index_reg_mask(ast, AST_IO_VGASRI, 0x01, (u8)~AST_IO_VGASR1_SD, 0x00); } static void ast_crtc_helper_atomic_disable(struct drm_crtc *crtc, struct drm_atomic_commit *state) --- base-commit: 7475ea8b58616b33c04afb976cf0fbaad9dd63fb change-id: 20261113-ast-vgasr1-sd-b28de7568e1a Best regards, -- Han Gao