summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Glisse <glisse@localhost.localdomain>2007-08-28 21:00:32 +0200
committerJerome Glisse <glisse@localhost.localdomain>2007-08-28 21:00:32 +0200
commitc1c42fcc19a61b9d9c2aa0fbd38dc16786138b0f (patch)
tree0f0fb2c55dae31f1d760e89376fd54f27a8ef7fc
parent6ab229becb97631c6990a2c677b82d839a0ae6f1 (diff)
avivo: always return LVDS as connected and check if we read a valid EDID.
-rw-r--r--xorg/avivo_output.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/xorg/avivo_output.c b/xorg/avivo_output.c
index a9a90f0..6b62428 100644
--- a/xorg/avivo_output.c
+++ b/xorg/avivo_output.c
@@ -316,8 +316,11 @@ avivo_output_detect_ddc_dac(xf86OutputPtr output)
xf86MonPtr edid_mon;
if (!xf86I2CProbeAddress(avivo_output->i2c, 0x00A0))
- return XF86OutputStatusDisconnected;
+ return XF86OutputStatusUnknown;
edid_mon = xf86OutputGetEDID(output, avivo_output->i2c);
+ if (edid_mon == NULL) {
+ return XF86OutputStatusUnknown;
+ }
if (edid_mon->features.input_type) {
xfree(edid_mon);
return XF86OutputStatusDisconnected;
@@ -337,8 +340,11 @@ avivo_output_detect_ddc_tmds(xf86OutputPtr output)
xf86MonPtr edid_mon;
if (!xf86I2CProbeAddress(avivo_output->i2c, 0x00A0))
- return XF86OutputStatusDisconnected;
+ return XF86OutputStatusUnknown;
edid_mon = xf86OutputGetEDID(output, avivo_output->i2c);
+ if (edid_mon == NULL) {
+ return XF86OutputStatusUnknown;
+ }
if (edid_mon->features.input_type) {
xfree(edid_mon);
return XF86OutputStatusConnected;
@@ -351,6 +357,12 @@ avivo_output_detect_ddc_tmds(xf86OutputPtr output)
return XF86OutputStatusDisconnected;
}
+static xf86OutputStatus
+avivo_output_detect_ddc_lfp(xf86OutputPtr output)
+{
+ return XF86OutputStatusConnected;
+}
+
DisplayModePtr
avivo_output_get_modes(xf86OutputPtr output)
{
@@ -413,7 +425,7 @@ static const xf86OutputFuncsRec avivo_output_lfp_funcs = {
.prepare = avivo_output_prepare,
.mode_set = avivo_output_mode_set,
.commit = avivo_output_commit,
- .detect = avivo_output_detect_ddc_tmds,
+ .detect = avivo_output_detect_ddc_lfp,
.get_modes = avivo_output_lfp_get_modes,
.destroy = avivo_output_destroy
};