Hi

Am 22.10.25 um 05:27 schrieb Peter Schneider:
#regzbot introduced: 6f719373b943a955fee6fc2012aed207b65e2854

Hi all,

I have encountered a serious (for me) regression with 6.18-rc2 on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. After booting, my console screen goes blank and stays blank. 6.18-rc1 was still fine.

The machine has an Asus Z9PE-D16 server mainboard with an onboard ASpeed AST2300 VGA chip with 16MB VRAM. I have attached an older HP Monitor to it via old VGA jack/cable. It also has a second graphics card in a PCI-E slot; an older NVidia GTX 560. It is not connected to a monitor, but I have configured it via kernel command line for PCI-pass-through to VMs running on this server (I use Proxmox VE, i.e. QEMU/KVM virtual machines). Currently, no VMs use this yet, and also no VMs are autostarting with machine boot. So when this regression occurs, the server is idle. Pressing a key on the keyboard does not make the screen come alive. The server is running fine though, and I can access it via SSH. It just has no graphic output anymore. In case this is important, the machine also has a ASMB6 BMC (can be used via http).

I have attached dmesg output from both 6.18-rc1 which is fine, and 6.18-rc2 which exhibits this bug. I have bisected the issue, please see attached git bisect.log.

Thanks for the detailed bug report.

Attached is a patch that partially reverts the broken commit. Could you please apply it on top of the broken kernel and report on the results?

Best regards
Thomas


The bad commit is

commit 6f719373b943a955fee6fc2012aed207b65e2854
Author: Thomas Zimmermann <[email protected]>
Date:   Tue Oct 14 10:46:34 2025 +0200

    drm/ast: Blank with VGACR17 sync enable, always clear VGACRB6 sync off

    Blank the display by disabling sync pulses with VGACR17<7>. Unblank
    by reenabling them. This VGA setting should be supported by all Aspeed
    hardware.

When I revert this from 6.18-rc2, the issue goes away and my console screen works again.

I just saw that Greg just yesterday evening included the offending patch already in stable RCs 6.12.55-rc1 and 6.17.5-rc1, so I'll test these seperately and send a mail to the stable mailing list, too, if affected (which I anticipate).

Beste Grüße,
Peter Schneider


--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

From 5fdea2e9936a49905902e339e627a27b0ab0a884 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <[email protected]>
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

Reply via email to