[SeaBIOS] [PATCH v3 3/3] atiext: Add DDC type to tables for radeon Linux driver (KMS)

Chad Jablonski posted 3 patches 1 month, 2 weeks ago
[SeaBIOS] [PATCH v3 3/3] atiext: Add DDC type to tables for radeon Linux driver (KMS)
Posted by Chad Jablonski 1 month, 2 weeks ago
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