Hi
Am 22.10.25 um 10:08 schrieb Peter Schneider:
Hi Thomas,
thanks very much for your quick response!
(adding Thorsten to CC)
Am 22.10.2025 um 08:51 schrieb Thomas Zimmermann:
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
Your patch applied cleanly against 6.18-rc2 and the kernel built fine,
but unfortunately it did not solve the issue: my console screen stays
blank after booting. This is regardless whether I do a soft reboot,
press the reset button or power cycle and do a cold boot. They are all
the same.
Just to be sure: you do see output at the early boot stages (BIOS, boot
loader). It's at some later point during boot, the driver loads and the
display blanks out?
There's another patch attached. does this make a difference?
Best regards
Thomas
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 0800e8aeaf0c1fd6c49a9fe214f39c655345bb31 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <[email protected]>
Date: Wed, 22 Oct 2025 08:48:49 +0200
Subject: [PATCH] [v2] ast: Set/clear screen-disable bit
---
drivers/gpu/drm/ast/ast_mode.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index 9ce874dba69c..05cbf2fc6560 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,9 +839,13 @@ 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;
- vgacr17 &= ~AST_IO_VGACR17_SYNC_ENABLE;
- ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0x17, 0x7f, vgacr17);
+ 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);
/*
* HW cursors require the underlying primary plane and CRTC to
--
2.51.0