The connector info section needs a non-zero value in the DDC
type field. Zero causes the Linux radeon driver to fail to initialize the DDC
bus and then no connectors are found. DDC_DVI (0x2) is used here so that
the GPIO_DVI_DDC register is used for the radeon. From what I have seen
r128 drivers ignore this field entirely.
Tested on Debian Squeeze (Linux 2.6.32) and Debian Trixie (Linux 6.12.94)
with:
qemu-system-x86_64 -vga none -device ati-vga,model=rv100,vgamem_mb=32
Signed-off-by: Chad Jablonski <chad@jablonski.xyz>
---
vgasrc/atiext.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/vgasrc/atiext.c b/vgasrc/atiext.c
index 44c9afa0..1b857967 100644
--- a/vgasrc/atiext.c
+++ b/vgasrc/atiext.c
@@ -15,6 +15,9 @@
#include "svgamodes.h"
+#define CONNECTOR_DVI_I_LEGACY 0x3
+#define DDC_DVI 0x2
+
#define MM_INDEX 0x0000
#define MM_DATA 0x0004
#define CRTC_GEN_CNTL 0x0050
@@ -390,7 +393,7 @@ static struct ati_pll_table_s ati_pll_table VAR16 __aligned(16) = {
static struct ati_connector_table_s ati_connector_table VAR16 __aligned(16) = {
.num_chip = 0x10,
.num_connector = 1,
- .flags = 0x3000,
+ .flags = (CONNECTOR_DVI_I_LEGACY << 12) | (DDC_DVI << 8)
};
static void
--
2.54.0
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org