summaryrefslogtreecommitdiff
path: root/vgasrc
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-06-24 12:17:28 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-24 14:39:27 +0200
commitaf573dceef7b9a45d13192ec5abf29b73c78540e (patch)
tree97ac1daeedf460ed737574ae2feaad2d284ed6cc /vgasrc
parentae9a9796ec395e66ff0ed6d4484ea40ce85c0300 (diff)
downloadqemu-seabios-af573dceef7b9a45d13192ec5abf29b73c78540e.tar.gz
ati-vga: try vga ddc first
Try vga ddc bus before dvi ddc bus. Return early in case we got valid data. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'vgasrc')
-rw-r--r--vgasrc/atiext.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/vgasrc/atiext.c b/vgasrc/atiext.c
index 901e82d..71dfa85 100644
--- a/vgasrc/atiext.c
+++ b/vgasrc/atiext.c
@@ -299,6 +299,15 @@ static void ati_i2c_edid_radeon(void)
SET_VGA(ati_i2c_bit_sda_out, 16);
SET_VGA(ati_i2c_bit_sda_in, 8);
+ dprintf(1, "ati: reading edid blob (radeon vga) ... \n");
+ SET_VGA(ati_i2c_reg, GPIO_VGA_DDC);
+ ati_i2c_edid();
+ valid = (GET_GLOBAL(VBE_edid[0]) == 0x00 &&
+ GET_GLOBAL(VBE_edid[1]) == 0xff);
+ dprintf(1, "ati: ... %s\n", valid ? "good" : "invalid");
+ if (valid)
+ return;
+
dprintf(1, "ati: reading edid blob (radeon dvi) ... \n");
SET_VGA(ati_i2c_reg, GPIO_DVI_DDC);
ati_i2c_edid();