diff --git a/openchrome-0.2.902-panel.patch b/openchrome-0.2.902-panel.patch index a89e544..972987d 100644 --- a/openchrome-0.2.902-panel.patch +++ b/openchrome-0.2.902-panel.patch @@ -1,3 +1,74 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 570) ++++ ChangeLog (working copy) +@@ -1,3 +1,66 @@ ++2008-05-26 Gabriel Mansi ++ ++ * src/Makefile.am: ++ * src/via_accel.c: (viaInitAccel): ++ * src/via_bios.h: ++ * src/via_crtc.c: (ViaCRTCSetGraphicsRegisters), ++ (ViaCRTCSetAttributeRegisters), (ViaCRTCInit), ++ (ViaFirstCRTCSetMode), (ViaFirstCRTCSetStartingAddress), ++ (ViaSecondCRTCSetStartingAddress), ++ (ViaSecondCRTCHorizontalQWCount), (ViaSecondCRTCHorizontalOffset), ++ (ViaSecondCRTCSetMode), (ViaFirstCRTCModeValid), ++ (ViaSecondCRTCModeValid), (ViaShadowCRTCSetMode): ++ * src/via_cursor.c: (viaCursorARGBInit), (viaCursorSetFB), ++ (viaCursorHWInit), (viaCursorHWShow), (viaCursorHWHide), ++ (viaCursorShow), (viaCursorHide), (viaCursorLoadImage), ++ (viaCursorHWSetPosition), (viaCursorSetPosition), ++ (viaCursorSetColors), (viaCursorStore), (viaCursorRestore), ++ (viaCursorARGBShow), (viaCursorARGBHide), ++ (viaCursorARGBSetPosition), (viaCursorARGBUse), ++ (viaCursorARGBLoad), (viaCursorRecInit), (viaCursorRecDestroy), ++ (viaCursorHWUse): ++ * src/via_dga.c: (VIADGASetMode): ++ * src/via_display.c: (ViaSecondDisplayChannelEnable), ++ (ViaSecondDisplayChannelDisable), (ViaDisplayInit), ++ (ViaDisplayEnableSimultaneous), (ViaDisplayDisableSimultaneous), ++ (ViaDisplayEnableCRT), (ViaDisplayDisableCRT), ++ (ViaDisplaySetStreamOnCRT): ++ * src/via_driver.c: (VIAGetRec), (VIAFreeRec), ++ (VIASetupDefaultOptions), (VIAPreInit), (VIAEnterVT), (VIALeaveVT), ++ (ViaGammaDisable), (VIASave), (VIARestore), (ViaMMIOEnable), ++ (ViaMMIODisable), (VIAMapMMIO), (VIAUnmapMem), (VIALoadPalette), ++ (VIAScreenInit), (VIAWriteMode), (VIACloseScreen), ++ (VIAAdjustFrame), (VIADPMS): ++ * src/via_driver.h: ++ * src/via_lvds.c: (ViaLVDSPowerFirstSequence), ++ (ViaLVDSPowerSecondSequence), (ViaLVDSDFPPower), ++ (ViaLVDSPowerChannel), (ViaLVDSPower): ++ * src/via_mode.c: (ViaPrintMode), (ViaOutputsSelect), ++ (VIAGetPanelSize), (ViaPanelGetIndex), (ViaModesAttach), ++ (ViaValidMode), (VIASetLCDMode), (ViaModePrimaryLegacy), ++ (ViaModeSecondaryLegacy), (ViaLCDPower), (ViaModeFirstCRTC), ++ (ViaModeSecondCRTC), (ViaModeSet): ++ * src/via_panel.c: (ViaPanelLookUpModeIndex), ++ (ViaPanelGetNativeModeFromOption), ++ (ViaPanelGetNativeModeFromScratchPad), (ViaPanelScaleDisable), ++ (ViaPanelScale), (ViaPanelGetNativeDisplayMode), (ViaPanelPreInit), ++ (ViaPanelCenterMode), (ViaPanelGetSizeFromEDID), ++ (ViaPanelGetSizeFromDDCv1), (ViaPanelGetSizeFromDDCv2): ++ * src/via_regs.h: ++ * src/via_swov.c: (Upd_Video): ++ * src/via_timing.c: (froundf), (timingGenerateMode), ++ (viaTimingCvt), (viaTimingGtf): ++ * src/via_timing.h: ++ * src/via_vbe.c: (ViaVbeGetActiveDevices), (ViaVbeSetMode), ++ (ViaVbeDoDPMS): ++ * src/via_video.c: (DecideOverlaySupport), (viaSaveVideo), ++ (viaRestoreVideo): ++ ++ Merge panel code from randr branch (rev. 427 to 553) ++ Add native mode setting for P4M890, P4M900, K8M890 and CX700 ++ Add LVDS power functions for P4M900 and CX700 ++ Add ARGB hardware cursor support ++ + 2008-03-11 Xavier Bachelot + + * configure.ac: Index: src/via_panel.c =================================================================== --- src/via_panel.c (revision 0) @@ -90,6 +161,7 @@ Index: src/via_panel.c + ViaPanelInfoPtr panel = pBIOSInfo->Panel; + CARD8 index; + CARD8 length; ++ char aux[10]; + + DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "ViaPanelGetNativeModeFromOption\n")); @@ -97,7 +169,6 @@ Index: src/via_panel.c + panel->NativeModeIndex = VIA_PANEL_INVALID; + if (strlen(name) < 10) { + length = sizeof(ViaPanelNativeModes) / sizeof(ViaPanelModeRec); -+ char aux[10]; + + for (index = 0; index < length; index++) { + sprintf(aux, "%dx%d", ViaPanelNativeModes[index].Width, @@ -2008,11 +2079,39 @@ Index: src/via_driver.c pVia->swov.maxHInterp = 600; pVia->useLegacyVBE = TRUE; -+ pVia->UseLegacyModeSwitch = FALSE; ++ pVia->UseLegacyModeSwitch = TRUE; + switch (pVia->Chipset) { case VIA_KM400: /* IRQ is not broken on KM400A, but testing (pVia->ChipRev < 0x80) +@@ -828,6 +896,7 @@ + pVia->VideoEngine = VIDEO_ENGINE_CME; + pVia->agpEnable = FALSE; + pVia->dmaXV = FALSE; ++ pVia->UseLegacyModeSwitch = FALSE; + break; + case VIA_P4M900: + pVia->VideoEngine = VIDEO_ENGINE_CME; +@@ -835,16 +904,19 @@ + pVia->useLegacyVBE = FALSE; + /* FIXME: this needs to be tested */ + pVia->dmaXV = FALSE; ++ pVia->UseLegacyModeSwitch = FALSE; + break; + case VIA_CX700: + case VIA_PM800: + pVia->VideoEngine = VIDEO_ENGINE_CME; + pVia->swov.maxWInterp = 1920; + pVia->swov.maxHInterp = 1080; ++ pVia->UseLegacyModeSwitch = FALSE; + break; + case VIA_P4M890: + pVia->VideoEngine = VIDEO_ENGINE_CME; + pVia->dmaXV = FALSE; ++ pVia->UseLegacyModeSwitch = FALSE; + break; + } + @@ -1076,6 +1145,11 @@ xf86DrvMsg(pScrn->scrnIndex, from, "Chipset revision: %d\n", pVia->ChipRev); @@ -4517,7 +4616,7 @@ Index: src/via_timing.c =================================================================== --- src/via_timing.c (revision 0) +++ src/via_timing.c (revision 0) -@@ -0,0 +1,395 @@ +@@ -0,0 +1,398 @@ +/* + * Copyright 2007-2008 Gabriel Mansi. + * @@ -4861,48 +4960,51 @@ Index: src/via_timing.c + fprintf( stderr, "hblank:\t\t\t\t%f\n", hBlank ) ; + fprintf( stderr, "actPixelFreq:\t\t\t%f\n", actPixelFreq ) ; +#endif -+ -+ if ( mode ) { -+ if ( mode->name == NULL ) mode->name = malloc(MODE_NAME_LENGTH); -+ if ( mode->name ) { -+ char c = 0 ; -+ if (RED_BLANK_RQD) c = 'r' ; -+ if (INT_RQD) c = 'i' ; -+ -+ sprintf(mode->name, "%dx%d@%d%c", width, height, (int)refresh, c ) ; -+ mode->Clock = actPixelFreq * 1000.0f ; -+ mode->VRefresh = actFrameRat ; -+ -+ mode->HDisplay = width ; -+ mode->HSyncStart = width + hFrontPorch ; -+ mode->HSyncEnd = width + ( hFrontPorch + hSyncRnd ) ; -+ mode->HTotal = totalPixels ; -+ -+ mode->VDisplay = height ; -+ mode->VSyncStart = height + vFrontPorch ; -+ mode->VSyncEnd = height + ( vFrontPorch + vSyncRnd ) ; -+ mode->VTotal = INT_RQD ? totalVLines * 2 : totalVLines ; -+ mode->Flags = 0 ; -+ -+ if (RED_BLANK_RQD) { -+ mode->Flags |= V_PHSYNC ; -+ mode->Flags |= V_NVSYNC ; -+ } else { -+ mode->Flags |= V_NHSYNC ; -+ mode->Flags |= V_PVSYNC ; ++ ++ if (mode) { ++ if (mode->name == NULL) { ++ mode->name = malloc(MODE_NAME_LENGTH); ++ if (mode->name) { ++ memset(mode->name, 0, MODE_NAME_LENGTH) ; ++ char c = 0 ; ++ if (RED_BLANK_RQD) c = 'r' ; ++ if (INT_RQD) c = 'i' ; ++ sprintf(mode->name, "%dx%d@%d%c", width, height, (int)refresh, c ) ; + } -+ -+ if (!(mode->Flags & V_PHSYNC)) mode->Flags |= V_NHSYNC ; -+ if (!(mode->Flags & V_NHSYNC)) mode->Flags |= V_PHSYNC ; -+ if (!(mode->Flags & V_PVSYNC)) mode->Flags |= V_NVSYNC ; -+ if (!(mode->Flags & V_NVSYNC)) mode->Flags |= V_PVSYNC ; ++ } + -+ if (INT_RQD) mode->Flags |= V_INTERLACE ; ++ mode->Clock = actPixelFreq * 1000.0f ; ++ mode->VRefresh = actFrameRat ; ++ ++ mode->HDisplay = width ; ++ mode->HSyncStart = width + hFrontPorch ; ++ mode->HSyncEnd = width + ( hFrontPorch + hSyncRnd ) ; ++ mode->HTotal = totalPixels ; ++ ++ mode->VDisplay = height ; ++ mode->VSyncStart = height + vFrontPorch ; ++ mode->VSyncEnd = height + (vFrontPorch + vSyncRnd) ; ++ mode->VTotal = INT_RQD ? totalVLines * 2 : totalVLines ; ++ mode->Flags = 0 ; ++ ++ if (RED_BLANK_RQD) { ++ mode->Flags |= V_PHSYNC ; ++ mode->Flags |= V_NVSYNC ; + } else { -+ ret |= TIMING_ERR_BAD_ALLOC ; ++ mode->Flags |= V_NHSYNC ; ++ mode->Flags |= V_PVSYNC ; + } -+ ++ ++ if (!(mode->Flags & V_PHSYNC)) mode->Flags |= V_NHSYNC ; ++ if (!(mode->Flags & V_NHSYNC)) mode->Flags |= V_PHSYNC ; ++ if (!(mode->Flags & V_PVSYNC)) mode->Flags |= V_NVSYNC ; ++ if (!(mode->Flags & V_NVSYNC)) mode->Flags |= V_PVSYNC ; ++ ++ if (INT_RQD) mode->Flags |= V_INTERLACE ; ++ } else { ++ ret |= TIMING_ERR_BAD_ALLOC ; + } ++ + return ret ; +} + diff --git a/openchrome-0.2.902-sync_pciids.patch b/openchrome-0.2.902-sync_pciids.patch index e03e59d..0b2aead 100644 --- a/openchrome-0.2.902-sync_pciids.patch +++ b/openchrome-0.2.902-sync_pciids.patch @@ -28,9 +28,11 @@ Index: via_id.c {"Asustek P5VD2-VM", VIA_P4M900, 0x1043, 0x81CE, VIA_DEVICE_CRT}, {"Asustek P5VD2-VM SE", VIA_P4M900, 0x1043, 0x8252, VIA_DEVICE_CRT}, {"Mitac 8515", VIA_P4M900, 0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, -@@ -187,15 +190,18 @@ +@@ -186,16 +189,20 @@ + {"VIA VT8454B", VIA_CX700, 0x0908, 0x1975, VIA_DEVICE_CRT}, /* Evaluation board, reference possibly wrong */ {"VIA VT3324 (CX700)", VIA_CX700, 0x1106, 0x3157, VIA_DEVICE_CRT}, {"MSI Fuzzy CX700/CX700D", VIA_CX700, 0x1462, 0x8020, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, ++ {"Samsung Q1B", VIA_CX700, 0x144D, 0xC02C, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, {"FIC CE260", VIA_CX700, 0x1509, 0x2D30, VIA_DEVICE_LCD}, + {"FIC CE261", VIA_CX700, 0x1509, 0x2F07, VIA_DEVICE_LCD}, {"Packard Bell EasyNote XS", VIA_CX700, 0x1631, 0xC201, VIA_DEVICE_LCD}, /* aka Everex Cloudbook CE1200V */ diff --git a/xorg-x11-drv-openchrome.spec b/xorg-x11-drv-openchrome.spec index 69a0288..62459eb 100644 --- a/xorg-x11-drv-openchrome.spec +++ b/xorg-x11-drv-openchrome.spec @@ -9,7 +9,7 @@ Summary: Xorg X11 openchrome video driver Name: xorg-x11-drv-openchrome Version: 0.2.902 -Release: 7%{?dist} +Release: 8%{?dist} URL: http://www.openchrome.org License: MIT Group: User Interface/X Hardware Support @@ -121,6 +121,9 @@ fi %changelog +* Mon Jun 23 2008 Xavier Bachelot - 0.2.902-8 +- New version of the panel and hw cursor patch. + * Sat May 31 2008 Xavier Bachelot - 0.2.902-7 - New panel and hardware cursor code from randr branch.