Hi
Am 22.10.25 um 13:23 schrieb Peter Schneider:
Am 22.10.2025 um 12:20 schrieb Thomas Zimmermann:
Hi
Am 22.10.25 um 11:16 schrieb Peter Schneider:
Am 22.10.2025 um 11:11 schrieb Thomas Zimmermann:
Hi
Am 22.10.25 um 10:08 schrieb Peter Schneider:
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?
Yes, that's correct.
There's another patch attached. does this make a difference?
Do I have to apply that against base 6.18-rc2 or against 6.18-rc2 +
your previous patch?
Base 6.18-rc2. All the patches are against this.
So with this new patch against 6.18-rc2, I first got this build error:
CC [M] drivers/gpu/drm/ast/ast_mode.o
drivers/gpu/drm/ast/ast_mode.c: In function
‘ast_crtc_helper_atomic_disable’:
drivers/gpu/drm/ast/ast_mode.c:857:12: error: unused variable
‘vgacr17’ [-Werror=unused-variable]
857 | u8 vgacr17 = 0xff;
| ^~~~~~~
cc1: all warnings being treated as errors
because I always do my kernel builds with CONFIG_WERROR=y. So then I
commented out the now superfluous declaration in line 857 and the
build succeeded. However, unfortunately the issue still persists. The
screen still gets blanked on reboot (as clarified before, after
BIOS/POST messages, Grub boot menu, initial boot messages).
I've been able to reproduce the problem with an AST2300 test system. The
attached patch fixes the problem for me. Can you please test and report
on the results?
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 b9a90d9ef266d5f9d3aeb970ae35e10b716fc466 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <[email protected]>
Date: Thu, 23 Oct 2025 14:30:29 +0200
Subject: [PATCH] ast: clear preserved bits from output value
---
drivers/gpu/drm/ast/ast_drv.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
index 7be36a358e74..602bff7f98d9 100644
--- a/drivers/gpu/drm/ast/ast_drv.h
+++ b/drivers/gpu/drm/ast/ast_drv.h
@@ -298,13 +298,14 @@ static inline void __ast_write8_i(void __iomem *addr, u32 reg, u8 index, u8 val)
__ast_write8(addr, reg + 1, val);
}
-static inline void __ast_write8_i_masked(void __iomem *addr, u32 reg, u8 index, u8 read_mask,
+static inline void __ast_write8_i_masked(void __iomem *addr, u32 reg, u8 index, u8 preserve_mask,
u8 val)
{
- u8 tmp = __ast_read8_i_masked(addr, reg, index, read_mask);
+ u8 tmp = __ast_read8_i_masked(addr, reg, index, preserve_mask);
- tmp |= val;
- __ast_write8_i(addr, reg, index, tmp);
+ val &= ~preserve_mask;
+
+ __ast_write8_i(addr, reg, index, tmp | val);
}
static inline u32 ast_read32(struct ast_device *ast, u32 reg)
--
2.51.0