diff options
author | root <root@rshg054.dnsready.net> | 2013-02-26 00:04:24 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-02-26 00:04:24 -0800 |
commit | 6c56414fe7bf470adb65cbd5ece3dce77ea9c617 (patch) | |
tree | 4190641f9a1d00a142902d10b7fbc068751e3821 /extra/xf86-video-openchrome/fix_system_lock.diff | |
parent | 099ae9e11de65606b67c6344d4f62fcd74f20a36 (diff) |
Tue Feb 26 00:04:24 PST 2013
Diffstat (limited to 'extra/xf86-video-openchrome/fix_system_lock.diff')
-rw-r--r-- | extra/xf86-video-openchrome/fix_system_lock.diff | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/extra/xf86-video-openchrome/fix_system_lock.diff b/extra/xf86-video-openchrome/fix_system_lock.diff new file mode 100644 index 000000000..a72369340 --- /dev/null +++ b/extra/xf86-video-openchrome/fix_system_lock.diff @@ -0,0 +1,59 @@ +From 76515c8a369346d76864e55610a6a747d9b152d8 Mon Sep 17 00:00:00 2001 +From: James Simmons <jsimmons@infradead.org> +Date: Sat, 12 Jan 2013 21:02:12 +0000 +Subject: As the comment suggested in via_outputs.c probing the 3rd i2c bug locks up the P4M900. So we re-enable the via_card_id handling of what outputs to test for to get around this problem. + +--- +diff --git a/src/via_display.c b/src/via_display.c +index 97473f0..aaf4267 100644 +--- a/src/via_display.c ++++ b/src/via_display.c +@@ -395,7 +395,7 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode) + hwp->writeCrtc(hwp, 0x18, 0xFF); + ViaCrtcMask(hwp, 0x07, 0x10, 0x10); + ViaCrtcMask(hwp, 0x09, 0x40, 0x40); +- ViaCrtcMask(hwp, 0x33, 0x07, 0x06); ++ ViaCrtcMask(hwp, 0x33, 0x06, 0x07); + ViaCrtcMask(hwp, 0x35, 0x10, 0x10); + + /* zero Maximum scan line */ +diff --git a/src/via_id.c b/src/via_id.c +index 7764782..7321b26 100644 +--- a/src/via_id.c ++++ b/src/via_id.c +@@ -297,6 +297,7 @@ ViaCheckCardId(ScrnInfoPtr pScrn) + (Id->Vendor == SUBVENDOR_ID(pVia->PciInfo)) && + (Id->Device == SUBSYS_ID(pVia->PciInfo))) { + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected %s. Card-Ids (%4X|%4X)\n", Id->String, SUBVENDOR_ID(pVia->PciInfo), SUBSYS_ID(pVia->PciInfo)); ++ pVia->ActiveDevice = Id->Outputs; + pVia->Id = Id; + return; + } +diff --git a/src/via_outputs.c b/src/via_outputs.c +index 808e570..c07b1d2 100644 +--- a/src/via_outputs.c ++++ b/src/via_outputs.c +@@ -873,10 +873,10 @@ ViaOutputsDetect(ScrnInfoPtr pScrn) + /* + * FIXME: xf86I2CProbeAddress(pVia->pI2CBus3, 0x40) + * disables the panel on P4M900 +- * See via_tv_detect. + */ + /* TV encoder */ +- via_tv_init(pScrn); ++ if (pVia->ActiveDevice & VIA_DEVICE_TV) ++ via_tv_init(pScrn); + + if (pVia->ActiveDevice & VIA_DEVICE_DFP) { + switch (pVia->Chipset) { +@@ -1195,7 +1195,7 @@ ViaModePrimaryLegacy(xf86CrtcPtr crtc, DisplayModePtr mode) + /* Enable MMIO & PCI burst (1 wait state) */ + ViaSeqMask(hwp, 0x1A, 0x06, 0x06); + +- if (pBIOSInfo->analog->status == XF86OutputStatusConnected) ++ if (pBIOSInfo->analog->status == XF86OutputStatusConnected) + ViaCrtcMask(hwp, 0x36, 0x30, 0x30); + else + ViaSeqMask(hwp, 0x16, 0x00, 0x40); +-- +cgit v0.9.0.2-2-gbebe |