diff --git a/openchrome-0.2.903-latest_snapshot.patch b/openchrome-0.2.903-latest_snapshot.patch index d0348e8..24591a2 100644 --- a/openchrome-0.2.903-latest_snapshot.patch +++ b/openchrome-0.2.903-latest_snapshot.patch @@ -1,7 +1,7 @@ Index: configure.ac =================================================================== ---- configure.ac (.../tags/release_0_2_903) (revision 735) -+++ configure.ac (.../trunk) (revision 735) +--- configure.ac (.../tags/release_0_2_903) (revision 740) ++++ configure.ac (.../trunk) (revision 740) @@ -70,7 +70,7 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) @@ -63,8 +63,8 @@ Index: configure.ac AC_SUBST([DRIVER_MAN_SUFFIX]) Index: libxvmc/Makefile.am =================================================================== ---- libxvmc/Makefile.am (.../tags/release_0_2_903) (revision 735) -+++ libxvmc/Makefile.am (.../trunk) (revision 735) +--- libxvmc/Makefile.am (.../tags/release_0_2_903) (revision 740) ++++ libxvmc/Makefile.am (.../trunk) (revision 740) @@ -24,13 +24,13 @@ xf86dristr.h \ vldXvMC.h @@ -85,8 +85,8 @@ Index: libxvmc/Makefile.am driDrawable.c \ Index: libxvmc/viaLowLevel.c =================================================================== ---- libxvmc/viaLowLevel.c (.../tags/release_0_2_903) (revision 735) -+++ libxvmc/viaLowLevel.c (.../trunk) (revision 735) +--- libxvmc/viaLowLevel.c (.../tags/release_0_2_903) (revision 740) ++++ libxvmc/viaLowLevel.c (.../trunk) (revision 740) @@ -276,8 +276,8 @@ xl->tsMem.context = *(xl->drmcontext); xl->tsMem.size = 64; @@ -100,8 +100,8 @@ Index: libxvmc/viaLowLevel.c return -1; Index: libxvmc/viaLowLevelPro.c =================================================================== ---- libxvmc/viaLowLevelPro.c (.../tags/release_0_2_903) (revision 735) -+++ libxvmc/viaLowLevelPro.c (.../trunk) (revision 735) +--- libxvmc/viaLowLevelPro.c (.../tags/release_0_2_903) (revision 740) ++++ libxvmc/viaLowLevelPro.c (.../trunk) (revision 740) @@ -1460,13 +1460,13 @@ if (size != mem->size) { @@ -129,8 +129,8 @@ Index: libxvmc/viaLowLevelPro.c Index: libxvmc/viaXvMC.c =================================================================== ---- libxvmc/viaXvMC.c (.../tags/release_0_2_903) (revision 735) -+++ libxvmc/viaXvMC.c (.../trunk) (revision 735) +--- libxvmc/viaXvMC.c (.../tags/release_0_2_903) (revision 740) ++++ libxvmc/viaXvMC.c (.../trunk) (revision 740) @@ -248,7 +248,7 @@ return errType; } @@ -407,9 +407,21 @@ Index: libxvmc/viaXvMC.c Index: ChangeLog =================================================================== ---- ChangeLog (.../tags/release_0_2_903) (revision 735) -+++ ChangeLog (.../trunk) (revision 735) -@@ -1,3 +1,311 @@ +--- ChangeLog (.../tags/release_0_2_903) (revision 740) ++++ ChangeLog (.../trunk) (revision 740) +@@ -1,3 +1,323 @@ ++2009-03-21 Xavier Bachelot ++ ++ * src/via_bios.h: ++ * src/via_display.c: (ViaDisplaySetStreamOnDFP): ++ * src/via_driver.c: (VIAPreInit), (VIASave), (VIARestore), ++ (VIADPMS): ++ * src/via_driver.h: ++ * src/via_mode.c: (ViaDFPDetect), (ViaOutputsDetect), ++ (ViaOutputsSelect), (ViaDFPPower), (ViaModeSet): ++ ++ CX700 integrated TMDS (Patch courtesy Tim Chen from VIA). ++ +2009-02-19 Gabriel Mansi + + * src/via_driver.c: (VIAScreenInit), (VIAWriteMode): @@ -724,7 +736,7 @@ Index: ChangeLog Index: src/via_panel.c =================================================================== --- src/via_panel.c (.../tags/release_0_2_903) (revision 0) -+++ src/via_panel.c (.../trunk) (revision 735) ++++ src/via_panel.c (.../trunk) (revision 740) @@ -0,0 +1,461 @@ +/* + * Copyright 2007 The Openchrome Project [openchrome.org] @@ -1189,8 +1201,8 @@ Index: src/via_panel.c +} Index: src/via_id.h =================================================================== ---- src/via_id.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_id.h (.../trunk) (revision 735) +--- src/via_id.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_id.h (.../trunk) (revision 740) @@ -37,6 +37,7 @@ VIA_P4M900, VIA_CX700, @@ -1209,8 +1221,8 @@ Index: src/via_id.h * the CLE266, often labelled Ax and Cx. The dividing line seems to be Index: src/via_video.c =================================================================== ---- src/via_video.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_video.c (.../trunk) (revision 735) +--- src/via_video.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_video.c (.../trunk) (revision 740) @@ -112,11 +112,7 @@ static int viaSetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer); static int viaPutImage(ScrnInfoPtr, short, short, short, short, short, short, @@ -1395,7 +1407,7 @@ Index: src/via_video.c Index: src/via_lvds.c =================================================================== --- src/via_lvds.c (.../tags/release_0_2_903) (revision 0) -+++ src/via_lvds.c (.../trunk) (revision 735) ++++ src/via_lvds.c (.../trunk) (revision 740) @@ -0,0 +1,121 @@ +/* + * Copyright 2007 The Openchrome Project [openchrome.org] @@ -1520,8 +1532,8 @@ Index: src/via_lvds.c +} Index: src/via_mode.c =================================================================== ---- src/via_mode.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_mode.c (.../trunk) (revision 735) +--- src/via_mode.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_mode.c (.../trunk) (revision 740) @@ -1,4 +1,5 @@ /* + * Copyright 2005-2007 The Openchrome Project [openchrome.org] @@ -1583,7 +1595,47 @@ Index: src/via_mode.c /* * * TV specific code. -@@ -277,7 +326,7 @@ +@@ -243,6 +292,29 @@ + return MODE_OK; + } + ++ ++static Bool ++ViaDFPDetect(ScrnInfoPtr pScrn) ++{ ++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDFPDetect\n")); ++ ++ VIAPtr pVia = VIAPTR(pScrn); ++ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo; ++ xf86MonPtr monPtr; ++ ++ if (pVia->pI2CBus2) ++ monPtr = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus2); ++ ++ if (monPtr) { ++ xf86PrintEDID(monPtr); ++ xf86SetDDCproperties(pScrn, monPtr); ++ return TRUE; ++ } else { ++ return FALSE; ++ } ++} ++ ++ + /* + * + */ +@@ -256,7 +328,8 @@ + + pBIOSInfo->CrtPresent = FALSE; + pBIOSInfo->PanelPresent = FALSE; +- ++ pBIOSInfo->DfpPresent = FALSE; ++ + /* Panel */ + if (pBIOSInfo->ForcePanel) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enabling panel from config.\n"); +@@ -277,7 +350,7 @@ pBIOSInfo->CrtPresent = TRUE; } @@ -1592,7 +1644,27 @@ Index: src/via_mode.c * FIXME: xf86I2CProbeAddress(pVia->pI2CBus3, 0x40) * disables the panel on P4M900 * See ViaTVDetect. -@@ -347,14 +396,14 @@ +@@ -297,6 +370,19 @@ + pBIOSInfo->TVOutput = 0; + } + } ++ ++ if (pVia->Chipset == VIA_CX700) { ++ ++ if (ViaDFPDetect(pScrn)) { ++ pBIOSInfo->DfpPresent = TRUE; ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "DFP is connected.\n"); ++ } else { ++ pBIOSInfo->DfpPresent = FALSE; ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "DFP is disconnected.\n"); ++ } ++ } + } + + #ifdef HAVE_DEBUG +@@ -347,24 +433,30 @@ " Initialised register: 0x%02x\n", VIAGetActiveDisplay(pScrn))); @@ -1600,7 +1672,9 @@ Index: src/via_mode.c + pBIOSInfo->Panel->IsActive = FALSE; pBIOSInfo->CrtActive = FALSE; pBIOSInfo->TVActive = FALSE; - +- ++ pBIOSInfo->DfpActive = FALSE; ++ if (!pVia->ActiveDevice) { /* always enable the panel when present */ if (pBIOSInfo->PanelPresent) @@ -1609,7 +1683,14 @@ Index: src/via_mode.c else if (pBIOSInfo->TVOutput != TVOUTPUT_NONE) /* cable is attached! */ pBIOSInfo->TVActive = TRUE; -@@ -364,7 +413,7 @@ + /* CRT can be used with everything when present */ + if (pBIOSInfo->CrtPresent) + pBIOSInfo->CrtActive = TRUE; ++ ++ /* DFP */ ++ if (pBIOSInfo->DfpPresent) ++ pBIOSInfo->DfpActive = TRUE; ++ } else { if (pVia->ActiveDevice & VIA_DEVICE_LCD) { if (pBIOSInfo->PanelPresent) @@ -1618,7 +1699,7 @@ Index: src/via_mode.c else xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate" " panel: no panel is present.\n"); -@@ -377,7 +426,7 @@ +@@ -377,7 +469,7 @@ else if (pBIOSInfo->TVOutput == TVOUTPUT_NONE) xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate" " TV encoder: no cable attached.\n"); @@ -1627,12 +1708,19 @@ Index: src/via_mode.c xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to activate" " TV encoder and panel simultaneously. Not using" " TV encoder.\n"); -@@ -386,17 +435,26 @@ +@@ -385,221 +477,112 @@ + pBIOSInfo->TVActive = TRUE; } ++ if (pVia->ActiveDevice & VIA_DEVICE_DFP) { ++ pBIOSInfo->DfpPresent = TRUE; ++ pBIOSInfo->DfpActive = TRUE; ++ } ++ if ((pVia->ActiveDevice & VIA_DEVICE_CRT) - || (!pBIOSInfo->PanelActive && !pBIOSInfo->TVActive)) { -+ || (!pBIOSInfo->Panel->IsActive && !pBIOSInfo->TVActive)) { ++ || (!pBIOSInfo->Panel->IsActive && !pBIOSInfo->TVActive ++ && !pBIOSInfo->DfpActive)) { pBIOSInfo->CrtPresent = TRUE; pBIOSInfo->CrtActive = TRUE; } @@ -1640,6 +1728,8 @@ Index: src/via_mode.c + if (!pVia->UseLegacyModeSwitch) { + if (pBIOSInfo->CrtActive) + pBIOSInfo->FirstCRTC->IsActive = TRUE ; ++ if (pBIOSInfo->DfpActive) ++ pBIOSInfo->FirstCRTC->IsActive = TRUE ; + if (pBIOSInfo->Panel->IsActive) { + pVia->pBIOSInfo->SecondCRTC->IsActive = TRUE ; + if (pVia->Chipset == VIA_P4M900 || pVia->Chipset == VIA_CX700 || pVia->Chipset == VIA_VX800 ) @@ -1656,7 +1746,13 @@ Index: src/via_mode.c DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaOutputsSelect: Panel.\n")); if (pBIOSInfo->TVActive) -@@ -407,199 +465,70 @@ + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "ViaOutputsSelect: TV.\n")); ++ if (pBIOSInfo->DfpActive) ++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "ViaOutputsSelect: DFP.\n")); + #endif + return TRUE; /* !Secondary always has at least CRT */ } /* @@ -1878,7 +1974,7 @@ Index: src/via_mode.c } /* -@@ -656,7 +585,7 @@ +@@ -656,7 +639,7 @@ /* * @@ -1887,7 +1983,7 @@ Index: src/via_mode.c * pBIOSInfo->PanelIndex is the index to lcdTable. * */ -@@ -670,9 +599,9 @@ +@@ -670,9 +653,9 @@ pBIOSInfo->PanelIndex = VIA_BIOS_NUM_PANEL; @@ -1899,21 +1995,30 @@ Index: src/via_mode.c xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaPanelGetIndex: PanelSize not set.\n"); return FALSE; -@@ -693,7 +622,8 @@ +@@ -692,12 +675,14 @@ + return FALSE; } - for (i = 0; ViaResolutionTable[i].Index != VIA_RES_INVALID; i++) +- for (i = 0; ViaResolutionTable[i].Index != VIA_RES_INVALID; i++) - if (ViaResolutionTable[i].PanelIndex == pBIOSInfo->PanelSize) { ++ for (i = 0; ViaResolutionTable[i].Index != VIA_RES_INVALID; i++) { + if (ViaResolutionTable[i].PanelIndex + == pBIOSInfo->Panel->NativeModeIndex) { pBIOSInfo->panelX = ViaResolutionTable[i].X; pBIOSInfo->panelY = ViaResolutionTable[i].Y; break; -@@ -713,7 +643,10 @@ + } ++ } + + if (ViaResolutionTable[i].Index == VIA_RES_INVALID) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelGetIndex: Unable" +@@ -712,8 +697,11 @@ + return FALSE; } - for (i = 0; i < VIA_BIOS_NUM_PANEL; i++) +- for (i = 0; i < VIA_BIOS_NUM_PANEL; i++) - if (lcdTable[i].fpSize == pBIOSInfo->PanelSize) { ++ for (i = 0; i < VIA_BIOS_NUM_PANEL; i++) { + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelGetIndex:" + "Match Debug: %d == %d)\n", pBIOSInfo->Panel->NativeModeIndex, + lcdTable[i].fpSize)); @@ -1921,7 +2026,15 @@ Index: src/via_mode.c int modeNum, tmp; modeNum = ViaGetVesaMode(pScrn, mode); -@@ -743,6 +676,53 @@ +@@ -736,6 +724,7 @@ + " to match given mode with this PanelSize.\n"); + return FALSE; + } ++ } + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelGetIndex: Unable" + " to match PanelSize with an lcdTable entry.\n"); +@@ -743,6 +732,53 @@ } /* @@ -1975,7 +2088,7 @@ Index: src/via_mode.c * Stolen from xf86Config.c's addDefaultModes */ static void -@@ -764,6 +744,7 @@ +@@ -764,6 +800,7 @@ mode->prev = NULL; } last = mode; @@ -1983,7 +2096,7 @@ Index: src/via_mode.c } monitorp->Last = last; } -@@ -778,7 +759,7 @@ +@@ -778,7 +815,7 @@ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaModesAttach\n")); @@ -1992,7 +2105,7 @@ Index: src/via_mode.c ViaModesAttachHelper(pScrn, monitorp, ViaPanelModes); if (pBIOSInfo->TVActive && pBIOSInfo->TVModes) ViaModesAttachHelper(pScrn, monitorp, pBIOSInfo->TVModes); -@@ -815,155 +796,12 @@ +@@ -815,155 +852,12 @@ } } @@ -2150,7 +2263,7 @@ Index: src/via_mode.c ModeStatus ViaValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) { -@@ -982,27 +820,57 @@ +@@ -982,27 +876,57 @@ if (mode->Flags & V_INTERLACE) return MODE_NO_INTERLACE; @@ -2224,7 +2337,7 @@ Index: src/via_mode.c temp = mode->CrtcHDisplay * mode->CrtcVDisplay * mode->VRefresh * (pScrn->bitsPerPixel >> 3); if (pBIOSInfo->Bandwidth < temp) { -@@ -1037,7 +905,7 @@ +@@ -1037,7 +961,7 @@ hwp->writeMiscOut(hwp, data | 0x0C); } @@ -2233,7 +2346,7 @@ Index: src/via_mode.c * */ static void -@@ -1062,7 +930,7 @@ +@@ -1062,7 +986,7 @@ ViaSeqMask(hwp, 0x40, 0x00, 0x02); } @@ -2242,7 +2355,7 @@ Index: src/via_mode.c * */ static void -@@ -1104,7 +972,7 @@ +@@ -1104,7 +1028,7 @@ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetLCDMode\n")); @@ -2251,7 +2364,7 @@ Index: src/via_mode.c hwp->writeCrtc(hwp, 0x89, 0x07); /* LCD Expand Mode Y Scale Flag */ -@@ -1165,7 +1033,7 @@ +@@ -1165,7 +1089,7 @@ case VIA_RES_1280X768: case VIA_RES_1280X960: case VIA_RES_1280X1024: @@ -2260,7 +2373,7 @@ Index: src/via_mode.c resIdx = VIA_RES_INVALID; else resIdx = 4; -@@ -1317,261 +1185,6 @@ +@@ -1317,261 +1241,6 @@ } } @@ -2522,7 +2635,7 @@ Index: src/via_mode.c static CARD32 ViaComputeDotClock(unsigned clock) { -@@ -1692,13 +1305,14 @@ +@@ -1692,13 +1361,14 @@ * */ void @@ -2538,7 +2651,7 @@ Index: src/via_mode.c /* Turn off Screen */ ViaCrtcMask(hwp, 0x17, 0x00, 0x80); -@@ -1709,7 +1323,8 @@ +@@ -1709,7 +1379,8 @@ hwp->writeCrtc(hwp, 0x6C, 0x00); hwp->writeCrtc(hwp, 0x93, 0x00); @@ -2548,7 +2661,7 @@ Index: src/via_mode.c pBIOSInfo->Clock = ViaModeDotClockTranslate(pScrn, mode); pBIOSInfo->ClockExternal = FALSE; -@@ -1721,7 +1336,7 @@ +@@ -1721,7 +1392,7 @@ else ViaSeqMask(hwp, 0x16, 0x00, 0x40); @@ -2557,7 +2670,7 @@ Index: src/via_mode.c VIASetLCDMode(pScrn, mode); ViaLCDPower(pScrn, TRUE); } else if (pBIOSInfo->PanelPresent) -@@ -1765,192 +1380,23 @@ +@@ -1765,192 +1436,23 @@ hwp->disablePalette(hwp); } @@ -2753,7 +2866,7 @@ Index: src/via_mode.c if (pBIOSInfo->TVActive) ViaTVSetMode(pScrn, mode); -@@ -1959,7 +1405,7 @@ +@@ -1959,7 +1461,7 @@ if (!(pVia->Chipset == VIA_CLE266 && pVia->ChipRev == 0x02)) ViaCrtcMask(hwp, 0x6C, 0x00, 0x1E); @@ -2762,7 +2875,7 @@ Index: src/via_mode.c && (pBIOSInfo->PanelIndex != VIA_BIOS_NUM_PANEL)) { pBIOSInfo->SetDVI = TRUE; VIASetLCDMode(pScrn, mode); -@@ -2017,9 +1463,12 @@ +@@ -2017,9 +1519,12 @@ else ViaCrtcMask(hwp, 0x6A, 0x00, 0x08); @@ -2776,12 +2889,34 @@ Index: src/via_mode.c for (i = 0; i < NumPowerOn; i++) { if (lcdTable[pBIOSInfo->PanelIndex].powerSeq == powerOn[i].powerSeq) -@@ -2038,3 +1487,106 @@ +@@ -2038,3 +1543,137 @@ ViaLCDPowerSequence(hwp, powerOff[i]); usleep(1); } + +void ++ViaDFPPower(ScrnInfoPtr pScrn, Bool On) ++{ ++#ifdef HAVE_DEBUG ++ if (On) ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDFPPower: On.\n"); ++ else ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDFPPower: Off.\n"); ++#endif ++ vgaHWPtr hwp = VGAHWPTR(pScrn); ++ VIAPtr pVia = VIAPTR(pScrn); ++ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo; ++ ++ /* Display Channel Select */ ++ ViaCrtcMask(hwp, 0xD2, 0x30, 0x30); ++ ++ /* Power on TMDS */ ++ ViaCrtcMask(hwp, 0xD2, 0x00, 0x08); ++ ++} ++ ++ ++void +ViaModeFirstCRTC(ScrnInfoPtr pScrn, DisplayModePtr mode) +{ + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaModeFirstCRTC\n"); @@ -2869,9 +3004,18 @@ Index: src/via_mode.c + } + + if (pBIOSInfo->FirstCRTC->IsActive) { -+ /* CRT on FirstCRTC */ -+ ViaDisplaySetStreamOnCRT(pScrn, TRUE); -+ ViaDisplayEnableCRT(pScrn); ++ if (pBIOSInfo->CrtActive) { ++ /* CRT on FirstCRTC */ ++ ViaDisplaySetStreamOnCRT(pScrn, TRUE); ++ ViaDisplayEnableCRT(pScrn); ++ } ++ ++ if (pBIOSInfo->DfpActive) { ++ /* DFP on FirstCrtc */ ++ ViaDisplaySetStreamOnDFP(pScrn, TRUE); ++ ViaDFPPower(pScrn, TRUE); ++ } ++ + ViaModeFirstCRTC(pScrn, mode); + } else { + ViaDisplayDisableCRT(pScrn); @@ -2885,8 +3029,8 @@ Index: src/via_mode.c +} Index: src/via_mode.h =================================================================== ---- src/via_mode.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_mode.h (.../trunk) (revision 735) +--- src/via_mode.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_mode.h (.../trunk) (revision 740) @@ -32,7 +32,7 @@ */ #define VIA_BW_MIN 74000000 /* > 640x480@60Hz@32bpp */ @@ -2942,8 +3086,8 @@ Index: src/via_mode.h Index: src/via_driver.c =================================================================== ---- src/via_driver.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_driver.c (.../trunk) (revision 735) +--- src/via_driver.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_driver.c (.../trunk) (revision 740) @@ -73,6 +73,7 @@ return via_pci_device(&bridge_match); } @@ -3266,6 +3410,17 @@ Index: src/via_driver.c pVia->hwcursor = !pVia->hwcursor; from = X_CONFIG; } +@@ -1346,8 +1409,8 @@ + pVia->ActiveDevice |= VIA_DEVICE_CRT; + if (strstr(s, "LCD")) + pVia->ActiveDevice |= VIA_DEVICE_LCD; +- if (strstr(s, "DFP")) /* just treat this the same as LCD */ +- pVia->ActiveDevice |= VIA_DEVICE_LCD; ++ if (strstr(s, "DFP")) ++ pVia->ActiveDevice |= VIA_DEVICE_DFP; + if (strstr(s, "TV")) + pVia->ActiveDevice |= VIA_DEVICE_TV; + } @@ -1375,45 +1438,24 @@ xf86DrvMsg(pScrn->scrnIndex, from, "DVI Center is %s.\n", pBIOSInfo->Center ? "enabled" : "disabled"); @@ -3455,7 +3610,7 @@ Index: src/via_driver.c Regs->CR49 = hwp->readCrtc(hwp, 0x49); DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n")); -@@ -2019,15 +2088,19 @@ +@@ -2019,15 +2088,23 @@ for (i = 0; i < 68; i++) Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50); @@ -3479,10 +3634,14 @@ Index: src/via_driver.c + + } + ++ /* Save TMDS status */ ++ if (pVia->Chipset == VIA_CX700) ++ Regs->CRD2 = hwp->readCrtc(hwp, 0xD2); ++ vgaHWProtect(pScrn, FALSE); } } -@@ -2055,6 +2128,8 @@ +@@ -2055,6 +2132,8 @@ hwp->writeCrtc(hwp, 0x6B, 0x00); hwp->writeCrtc(hwp, 0x6C, 0x00); @@ -3491,7 +3650,7 @@ Index: src/via_driver.c if (pBIOSInfo->TVI2CDev) ViaTVRestore(pScrn); -@@ -2118,22 +2193,27 @@ +@@ -2118,22 +2197,31 @@ hwp->writeCrtc(hwp, 0x35, Regs->CR35); hwp->writeCrtc(hwp, 0x36, Regs->CR36); @@ -3525,11 +3684,15 @@ Index: src/via_driver.c + + } + ++ /* Restore TMDS status */ ++ if (pVia->Chipset == VIA_CX700) ++ hwp->writeCrtc(hwp, 0xD2, Regs->CRD2); ++ + if (pBIOSInfo->Panel->IsActive) ViaLCDPower(pScrn, TRUE); ViaDisablePrimaryFIFO(pScrn); -@@ -2145,26 +2225,61 @@ +@@ -2145,26 +2233,61 @@ vgaHWProtect(pScrn, FALSE); } @@ -3599,7 +3762,7 @@ Index: src/via_driver.c xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "mapping MMIO @ 0x%lx with size 0x%x\n", pVia->MmioBase, VIA_MMIO_REGSIZE); -@@ -2196,8 +2311,7 @@ +@@ -2196,8 +2319,7 @@ err = pci_device_map_range(pVia->PciInfo, pVia->MmioBase + VIA_MMIO_BLTBASE, VIA_MMIO_BLTSIZE, @@ -3609,7 +3772,7 @@ Index: src/via_driver.c (void **)&pVia->BltBase); if (err) { -@@ -2215,7 +2329,7 @@ +@@ -2215,7 +2337,7 @@ if (!pVia->MapBase || !pVia->BltBase) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -3618,7 +3781,7 @@ Index: src/via_driver.c return FALSE; } -@@ -2238,14 +2352,15 @@ +@@ -2238,14 +2360,15 @@ hwp->writeMiscOut(hwp, val | 0x01); /* Unlock extended IO space. */ @@ -3640,7 +3803,7 @@ Index: src/via_driver.c vgaHWGetIOBase(hwp); } -@@ -2257,8 +2372,12 @@ +@@ -2257,8 +2380,12 @@ VIAMapFB(ScrnInfoPtr pScrn) { VIAPtr pVia = VIAPTR(pScrn); @@ -3653,7 +3816,7 @@ Index: src/via_driver.c #endif DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n")); -@@ -2298,7 +2417,8 @@ +@@ -2298,7 +2425,8 @@ #ifdef XSERVER_LIBPCIACCESS err = pci_device_map_range(pVia->PciInfo, pVia->FrameBufferBase, pVia->videoRambytes, @@ -3663,7 +3826,7 @@ Index: src/via_driver.c (void **)&pVia->FBBase); if (err) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, -@@ -2346,8 +2466,7 @@ +@@ -2346,8 +2474,7 @@ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAUnmapMem\n")); @@ -3673,7 +3836,7 @@ Index: src/via_driver.c #ifdef XSERVER_LIBPCIACCESS if (pVia->MapBase) -@@ -2431,75 +2550,65 @@ +@@ -2431,75 +2558,65 @@ { vgaHWPtr hwp = VGAHWPTR(pScrn); VIAPtr pVia = VIAPTR(pScrn); @@ -3788,7 +3951,7 @@ Index: src/via_driver.c for (i = 0; i < numColors; i++) { index = indices[i]; hwp->writeDacWriteAddr(hwp, index); -@@ -2507,6 +2616,23 @@ +@@ -2507,6 +2624,23 @@ hwp->writeDacData(hwp, colors[index].green); hwp->writeDacData(hwp, colors[index].blue); } @@ -3812,7 +3975,7 @@ Index: src/via_driver.c } } -@@ -2543,6 +2669,7 @@ +@@ -2543,6 +2677,7 @@ } } else { vgaHWBlankScreen(pScrn, FALSE); @@ -3820,7 +3983,7 @@ Index: src/via_driver.c if (!VIAWriteMode(pScrn, pScrn->currentMode)) { vgaHWBlankScreen(pScrn, TRUE); return FALSE; -@@ -2623,7 +2750,8 @@ +@@ -2623,7 +2758,8 @@ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "- SW cursor set up\n")); if (pVia->hwcursor) { @@ -3830,7 +3993,7 @@ Index: src/via_driver.c xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Hardware cursor initialization failed\n"); } -@@ -2787,6 +2915,7 @@ +@@ -2787,6 +2923,7 @@ VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode) { VIAPtr pVia = VIAPTR(pScrn); @@ -3838,7 +4001,7 @@ Index: src/via_driver.c DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n")); -@@ -2799,10 +2928,15 @@ +@@ -2799,10 +2936,15 @@ if (!vgaHWInit(pScrn, mode)) return FALSE; @@ -3858,7 +4021,7 @@ Index: src/via_driver.c } else { -@@ -2813,22 +2947,19 @@ +@@ -2813,22 +2955,19 @@ * to detect when the display is using the secondary head. * TODO: This should be enabled for other chipsets as well. */ @@ -3884,7 +4047,7 @@ Index: src/via_driver.c viaInitialize2DEngine(pScrn); } -@@ -2856,14 +2987,15 @@ +@@ -2856,14 +2995,15 @@ viaAccelSync(pScrn); /* A soft reset avoids a 3D hang after X restart. */ @@ -3903,7 +4066,7 @@ Index: src/via_driver.c } if (pVia->VQEnable) -@@ -2875,10 +3007,6 @@ +@@ -2875,10 +3015,6 @@ #endif viaExitAccel(pScreen); @@ -3914,7 +4077,7 @@ Index: src/via_driver.c if (pVia->ShadowPtr) { xfree(pVia->ShadowPtr); pVia->ShadowPtr = NULL; -@@ -2936,24 +3064,17 @@ +@@ -2936,24 +3072,17 @@ if (pVia->pVbe) { ViaVbeAdjustFrame(scrnIndex, x, y, flags); } else { @@ -3949,7 +4112,7 @@ Index: src/via_driver.c } } -@@ -3003,52 +3124,59 @@ +@@ -3003,52 +3132,65 @@ vgaHWPtr hwp = VGAHWPTR(pScrn); VIAPtr pVia = VIAPTR(pScrn); VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo; @@ -3997,8 +4160,8 @@ Index: src/via_driver.c - if (pBIOSInfo->TVActive) - ViaTVPower(pScrn, FALSE); -+ if (pBIOSInfo->Simultaneous->IsActive) -+ ViaDisplayEnableSimultaneous(pScrn); ++ if (pBIOSInfo->DfpActive) ++ ViaDFPPower(pScrn, TRUE); - val |= 0x30; - hwp->writeCrtc(hwp, 0x36, val); @@ -4007,6 +4170,9 @@ Index: src/via_driver.c - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Invalid DPMS mode %d\n", mode); - break; ++ if (pBIOSInfo->Simultaneous->IsActive) ++ ViaDisplayEnableSimultaneous(pScrn); ++ + break; + case DPMSModeStandby: + case DPMSModeSuspend: @@ -4024,6 +4190,9 @@ Index: src/via_driver.c + if (pBIOSInfo->TVActive) + ViaTVPower(pScrn, FALSE); + ++ if (pBIOSInfo->DfpActive) ++ ViaDFPPower(pScrn, FALSE); ++ + if (pBIOSInfo->Simultaneous->IsActive) + ViaDisplayDisableSimultaneous(pScrn); + @@ -4042,7 +4211,7 @@ Index: src/via_driver.c void VIAInitialize3DEngine(ScrnInfoPtr pScrn) { -@@ -3111,4 +3239,3 @@ +@@ -3111,4 +3253,3 @@ VIASETREG(VIA_REG_TRANSPACE, 0x11000000); VIASETREG(VIA_REG_TRANSPACE, 0x20000000); } @@ -4050,7 +4219,7 @@ Index: src/via_driver.c Index: src/via_crtc.c =================================================================== --- src/via_crtc.c (.../tags/release_0_2_903) (revision 0) -+++ src/via_crtc.c (.../trunk) (revision 735) ++++ src/via_crtc.c (.../trunk) (revision 740) @@ -0,0 +1,659 @@ +/* + * Copyright 2005-2007 The Openchrome Project [openchrome.org] @@ -4713,8 +4882,8 @@ Index: src/via_crtc.c +} Index: src/via_swov.c =================================================================== ---- src/via_swov.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_swov.c (.../trunk) (revision 735) +--- src/via_swov.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_swov.c (.../trunk) (revision 740) @@ -95,7 +95,8 @@ pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg)); @@ -4852,8 +5021,8 @@ Index: src/via_swov.c Index: src/via_driver.h =================================================================== ---- src/via_driver.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_driver.h (.../trunk) (revision 735) +--- src/via_driver.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_driver.h (.../trunk) (revision 740) @@ -65,6 +65,7 @@ #include "via_swov.h" #include "via_dmabuffer.h" @@ -4893,7 +5062,17 @@ Index: src/via_driver.h #define VIA_VQ_SIZE (256 * 1024) typedef struct { -@@ -211,7 +205,6 @@ +@@ -130,6 +124,9 @@ + CARD8 CR97, CR99, CR9B, CR9F, CRA0, CRA1, CRA2; + CARD8 CRTCRegs[68]; + /* CARD8 LCDRegs[0x40];*/ ++ ++ /* TMDS/LVDS Control */ ++ CARD8 CRD2; + } VIARegRec, *VIARegPtr; + + /* +@@ -211,7 +208,6 @@ int FBFreeEnd; int driSize; int maxDriSize; @@ -4901,7 +5080,7 @@ Index: src/via_driver.h int VQStart; int VQEnd; -@@ -230,7 +223,7 @@ +@@ -230,7 +226,7 @@ /* Here are all the Options */ Bool VQEnable; @@ -4910,7 +5089,7 @@ Index: src/via_driver.h Bool NoAccel; Bool shadowFB; int rotate; -@@ -276,7 +269,7 @@ +@@ -276,7 +272,7 @@ CARD32 lastMarkerRead; Bool agpDMA; Bool nPOT[VIA_NUM_TEXUNITS]; @@ -4919,7 +5098,7 @@ Index: src/via_driver.h ExaDriverPtr exaDriverPtr; ExaOffscreenArea *exa_scratch; unsigned int exa_scratch_next; -@@ -298,7 +291,6 @@ +@@ -298,7 +294,6 @@ char * texAddr; char * dBounce; #endif @@ -4927,7 +5106,7 @@ Index: src/via_driver.h /* BIOS Info Ptr */ VIABIOSInfoPtr pBIOSInfo; -@@ -354,11 +346,32 @@ +@@ -354,11 +349,32 @@ Bool dmaXV; CARD8 ActiveDevice; /* Option */ @@ -4963,7 +5142,7 @@ Index: src/via_driver.h /* Video */ int VideoEngine; swovRec swov; -@@ -375,12 +388,21 @@ +@@ -375,12 +391,21 @@ ViaSharedPtr sharedData; Bool useDmaBlit; @@ -4985,7 +5164,7 @@ Index: src/via_driver.h #endif /* HAVE_DEBUG */ } VIARec, *VIAPtr; -@@ -402,16 +424,17 @@ +@@ -402,16 +427,17 @@ } VIAEntRec, *VIAEntPtr; /* Prototypes. */ @@ -5012,8 +5191,8 @@ Index: src/via_driver.h Bool viaInitAccel(ScreenPtr); Index: src/via_bios.h =================================================================== ---- src/via_bios.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_bios.h (.../trunk) (revision 735) +--- src/via_bios.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_bios.h (.../trunk) (revision 740) @@ -34,6 +34,14 @@ #define VIA_PANEL14X10 5 #define VIA_PANEL16X12 6 @@ -5076,7 +5255,7 @@ Index: src/via_bios.h typedef struct _VIABIOSINFO { int scrnIndex; -@@ -102,20 +150,29 @@ +@@ -102,13 +150,12 @@ CARD32 Bandwidth; /* available memory bandwidth */ /* Panel/LCD entries */ @@ -5092,9 +5271,13 @@ Index: src/via_bios.h Bool SetDVI; /* LCD Simultaneous Expand Mode HWCursor Y Scale */ Bool scaleY; - int panelX; +@@ -116,6 +163,20 @@ int panelY; int resY; + ++ /* DFP */ ++ Bool DfpPresent; ++ Bool DfpActive; + + /* Integrated LVDS */ + ViaLVDSInfoPtr Lvds; @@ -5102,14 +5285,14 @@ Index: src/via_bios.h + /* CRTCs */ + ViaCRTCInfoPtr FirstCRTC ; + ViaCRTCInfoPtr SecondCRTC ; - ++ + /* Simultaneous */ + ViaSimultaneousInfoPtr Simultaneous ; + /* TV entries */ int TVEncoder; int TVOutput; -@@ -156,10 +213,8 @@ +@@ -156,18 +217,46 @@ void ViaModesAttach(ScrnInfoPtr pScrn, MonPtr monitorp); CARD32 ViaGetMemoryBandwidth(ScrnInfoPtr pScrn); ModeStatus ViaValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags); @@ -5120,9 +5303,10 @@ Index: src/via_bios.h +void ViaModePrimaryLegacy(ScrnInfoPtr pScrn, DisplayModePtr mode); +void ViaModeSecondaryLegacy(ScrnInfoPtr pScrn, DisplayModePtr mode); void ViaLCDPower(ScrnInfoPtr pScrn, Bool On); ++void ViaDFPPower(ScrnInfoPtr pScrn, Bool On); void ViaTVPower(ScrnInfoPtr pScrn, Bool On); void ViaTVSave(ScrnInfoPtr pScrn); -@@ -167,7 +222,36 @@ + void ViaTVRestore(ScrnInfoPtr pScrn); #ifdef HAVE_DEBUG void ViaTVPrintRegs(ScrnInfoPtr pScrn); #endif @@ -5159,7 +5343,7 @@ Index: src/via_bios.h /* in via_bandwidth.c */ void ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePtr mode); void ViaSetSecondaryFIFO(ScrnInfoPtr pScrn, DisplayModePtr mode); -@@ -181,4 +265,13 @@ +@@ -181,4 +270,13 @@ I2CDevPtr ViaCH7xxxDetect(ScrnInfoPtr pScrn, I2CBusPtr pBus, CARD8 Address); void ViaCH7xxxInit(ScrnInfoPtr pScrn); @@ -5175,8 +5359,8 @@ Index: src/via_bios.h #endif /* _VIA_BIOS_H_ */ Index: src/via_bandwidth.c =================================================================== ---- src/via_bandwidth.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_bandwidth.c (.../trunk) (revision 735) +--- src/via_bandwidth.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_bandwidth.c (.../trunk) (revision 740) @@ -227,6 +227,10 @@ ViaSeqMask(hwp, 0x18, 0x00, 0x80); break; @@ -5228,8 +5412,8 @@ Index: src/via_bandwidth.c Index: src/via_display.c =================================================================== --- src/via_display.c (.../tags/release_0_2_903) (revision 0) -+++ src/via_display.c (.../trunk) (revision 735) -@@ -0,0 +1,128 @@ ++++ src/via_display.c (.../trunk) (revision 740) +@@ -0,0 +1,145 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -5358,10 +5542,27 @@ Index: src/via_display.c + else + ViaSeqMask(hwp, 0x16, 0x40, 0x40); +} ++ ++/* ++ * Sets the primary or secondary display stream on internal TMDS. ++ */ ++void ++ViaDisplaySetStreamOnDFP(ScrnInfoPtr pScrn, Bool primary) ++{ ++ vgaHWPtr hwp = VGAHWPTR(pScrn); ++ ++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDisplaySetStreamOnDFP\n")); ++ ++ if (primary) ++ ViaCrtcMask(hwp, 0x99, 0x00, 0x10); ++ else ++ ViaCrtcMask(hwp, 0x99, 0x10, 0x10); ++} ++ Index: src/via_regs.h =================================================================== ---- src/via_regs.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_regs.h (.../trunk) (revision 735) +--- src/via_regs.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_regs.h (.../trunk) (revision 740) @@ -42,7 +42,7 @@ #define VIA_MMIO_REGBASE 0x0 #define VIA_MMIO_VGABASE 0x8000 @@ -5524,8 +5725,8 @@ Index: src/via_regs.h #define VIA_GEC_NOOP 0x00000000 Index: src/via_accel.c =================================================================== ---- src/via_accel.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_accel.c (.../trunk) (revision 735) +--- src/via_accel.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_accel.c (.../trunk) (revision 740) @@ -1,5 +1,5 @@ /* - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. @@ -5679,7 +5880,7 @@ Index: src/via_accel.c /* Initialize the 2D engine registers to reset the 2D engine. */ - for (i = 0x04; i < 0x44; i += 4) { -+ for (i = 0x04; i < 0x40; i += 4) { ++ for (i = 0x04; i <= 0x40; i += 4) { VIASETREG(i, 0x0); } @@ -6452,8 +6653,8 @@ Index: src/via_accel.c ADVANCE_RING; Index: src/via_memory.c =================================================================== ---- src/via_memory.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_memory.c (.../trunk) (revision 735) +--- src/via_memory.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_memory.c (.../trunk) (revision 740) @@ -52,7 +52,6 @@ * 2 - DRM */ @@ -6516,8 +6717,8 @@ Index: src/via_memory.c long size = pVia->FBFreeEnd / pVia->Bpp - offset; Index: src/via_vbe.c =================================================================== ---- src/via_vbe.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_vbe.c (.../trunk) (revision 735) +--- src/via_vbe.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_vbe.c (.../trunk) (revision 740) @@ -95,7 +95,7 @@ /* Set Active Device and translate BIOS byte definition. */ if (pBIOSInfo->CrtActive) @@ -6547,8 +6748,8 @@ Index: src/via_vbe.c VBEDPMSSet(pVia->pVbe, mode); Index: src/via_cursor.c =================================================================== ---- src/via_cursor.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_cursor.c (.../trunk) (revision 735) +--- src/via_cursor.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_cursor.c (.../trunk) (revision 740) @@ -1,5 +1,6 @@ /* - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. @@ -7113,8 +7314,8 @@ Index: src/via_cursor.c } Index: src/via_xvmc.c =================================================================== ---- src/via_xvmc.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_xvmc.c (.../trunk) (revision 735) +--- src/via_xvmc.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_xvmc.c (.../trunk) (revision 740) @@ -114,11 +114,7 @@ static int viaXvMCInterceptPutImage(ScrnInfoPtr, short, short, short, short, short, short, short, short, int, @@ -7156,8 +7357,8 @@ Index: src/via_xvmc.c unsigned long Index: src/via_vt162x.h =================================================================== ---- src/via_vt162x.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_vt162x.h (.../trunk) (revision 735) +--- src/via_vt162x.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_vt162x.h (.../trunk) (revision 740) @@ -926,6 +926,23 @@ 0x0, 0x0, }, @@ -7184,8 +7385,8 @@ Index: src/via_vt162x.h { 0x03, 0x00, 0x10, 0x1f, 0x03, 0x00, 0x00, 0xc9, 0x4c, 0x11, 0x7c, 0x00, 0x56, 0x57, 0x07, 0xbf, Index: src/via.h =================================================================== ---- src/via.h (.../tags/release_0_2_903) (revision 735) -+++ src/via.h (.../trunk) (revision 735) +--- src/via.h (.../tags/release_0_2_903) (revision 740) ++++ src/via.h (.../trunk) (revision 740) @@ -561,9 +561,6 @@ #define HQV_V_FILTER_DEFAULT 0x00420000 #define HQV_H_FILTER_DEFAULT 0x00000040 @@ -7218,8 +7419,8 @@ Index: src/via.h #define CHROMA_KEY_HIGH 0x00FFFFFF Index: src/via_priv.h =================================================================== ---- src/via_priv.h (.../tags/release_0_2_903) (revision 735) -+++ src/via_priv.h (.../trunk) (revision 735) +--- src/via_priv.h (.../tags/release_0_2_903) (revision 740) ++++ src/via_priv.h (.../trunk) (revision 740) @@ -29,9 +29,7 @@ #ifdef XF86DRI #include "via_drm.h" @@ -7243,7 +7444,7 @@ Index: src/via_priv.h Index: src/via_timing.c =================================================================== --- src/via_timing.c (.../tags/release_0_2_903) (revision 0) -+++ src/via_timing.c (.../trunk) (revision 735) ++++ src/via_timing.c (.../trunk) (revision 740) @@ -0,0 +1,398 @@ +/* + * Copyright 2007-2008 Gabriel Mansi. @@ -7645,8 +7846,8 @@ Index: src/via_timing.c +} Index: src/Makefile.am =================================================================== ---- src/Makefile.am (.../tags/release_0_2_903) (revision 735) -+++ src/Makefile.am (.../trunk) (revision 735) +--- src/Makefile.am (.../tags/release_0_2_903) (revision 740) ++++ src/Makefile.am (.../trunk) (revision 740) @@ -43,23 +43,29 @@ via_ch7xxx.c \ via_ch7xxx.h \ @@ -7679,8 +7880,8 @@ Index: src/Makefile.am via_vgahw.h \ Index: src/via_dga.c =================================================================== ---- src/via_dga.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_dga.c (.../trunk) (revision 735) +--- src/via_dga.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_dga.c (.../trunk) (revision 740) @@ -248,7 +248,7 @@ pScrn->SwitchMode(index, pScrn->currentMode, 0); @@ -7701,8 +7902,8 @@ Index: src/via_dga.c pVia->DGAOldDisplayWidth = pScrn->displayWidth; Index: src/via_id.c =================================================================== ---- src/via_id.c (.../tags/release_0_2_903) (revision 735) -+++ src/via_id.c (.../trunk) (revision 735) +--- src/via_id.c (.../tags/release_0_2_903) (revision 740) ++++ src/via_id.c (.../trunk) (revision 740) @@ -87,6 +87,7 @@ {"Asustek K8V-MX", VIA_K8M800, 0x1043, 0x8129, VIA_DEVICE_CRT}, {"Mitac 8399", VIA_K8M800, 0x1071, 0x8399, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "Pogolinux Konabook 3100" */ @@ -7750,7 +7951,7 @@ Index: src/via_id.c {"Packard Bell EasyNote XS", VIA_CX700, 0x1631, 0xC201, VIA_DEVICE_LCD}, /* aka Everex Cloudbook CE1200V */ /*** P4M890, VN890 ***/ -@@ -204,11 +209,16 @@ +@@ -204,11 +209,17 @@ {"Asustek P5V-VM ULTRA", VIA_P4M890, 0x1043, 0x81B5, VIA_DEVICE_CRT}, {"Asustek P5V-VM DH", VIA_P4M890, 0x1043, 0x81CE, VIA_DEVICE_CRT}, {"Mitac 8615", VIA_P4M890, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, @@ -7762,6 +7963,7 @@ Index: src/via_id.c + /*** VX800 ***/ + {"VIA Epia M700", VIA_VX800, 0x1106, 0x1122, VIA_DEVICE_CRT}, ++ {"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, + {"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, + /* keep this */ @@ -7770,7 +7972,7 @@ Index: src/via_id.c Index: src/via_timing.h =================================================================== --- src/via_timing.h (.../tags/release_0_2_903) (revision 0) -+++ src/via_timing.h (.../trunk) (revision 735) ++++ src/via_timing.h (.../trunk) (revision 740) @@ -0,0 +1,51 @@ +/* + * Copyright 2007-2008 Gabriel Mansi. diff --git a/xorg-x11-drv-openchrome.spec b/xorg-x11-drv-openchrome.spec index cd7e37c..0283c83 100644 --- a/xorg-x11-drv-openchrome.spec +++ b/xorg-x11-drv-openchrome.spec @@ -10,7 +10,7 @@ Summary: Xorg X11 openchrome video driver Name: xorg-x11-drv-openchrome Version: 0.2.903 -Release: 9%{?dist} +Release: 10%{?dist} URL: http://www.openchrome.org License: MIT Group: User Interface/X Hardware Support @@ -127,6 +127,12 @@ fi %changelog +* Sat Mar 21 2009 Xavier Bachelot - 0.2.903-10 +- Update to latest snapshot (svn 740) : + - Fix panel resolution detection fallback (RHBZ#491417). + - Fix 2D engine initialization. + - Add support for CX700 integrated TMDS encoder. + * Thu Feb 26 2009 Fedora Release Engineering - 0.2.903-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild