summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-04-24 12:21:45 -0700
committerEric Anholt <anholt@FreeBSD.org>2006-04-24 12:21:45 -0700
commitd32514aee4b00b035652830e8b5e6c0b43cf159c (patch)
treedf3860de9495ecc5cf7c6e537b9684d4fd77b486 /src/i830_driver.c
parenteffab21c3d108fac7a4e28ae4dabb0b5f74a5380 (diff)
Start trying to implement DDC over SDVO. It's slightly tricky because the
control bus will reset from DDC mode to internal-registers mode after every Stop afer a Start on the DDC bus. The xf86 DDC code causes multiple Start/Stops in one probe. So, we create a wrapper bus that does the control bus switch at every Start. It's not working yet on my hardware, but I'm pretty sure this is the right way to go.
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r--src/i830_driver.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 3f671066..7c6de99a 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -1462,16 +1462,12 @@ void I830DetectMonitors(ScrnInfoPtr pScrn)
break;
case I830_OUTPUT_SDVO:
if (pI830->output[i].sdvo_drv != NULL) {
-#if 0
- I830SDVOSetupDDC(pI830->output[i].sdvo_drv);
-
pI830->output[i].MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex,
- pI830->output[i].pI2CBus);
+ pI830->output[i].pDDCBus);
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "DDC SDVO %d, %08X\n", i,
- pI830->output[i].pI2CBus->DriverPrivate.uval);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "DDC SDVO %d, %08lX\n", i,
+ pI830->output[i].pDDCBus->DriverPrivate.uval);
xf86PrintEDID(pI830->output[i].MonInfo);
-#endif
}
break;
case I830_OUTPUT_UNUSED: