Author: speedy                       Date: Mon Jul  4 22:07:36 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix radeon driver

---- Files affected:
SOURCES:
   X11-radeon-cursor-sync.patch (NONE -> 1.1)  (NEW), 
X11-radeon-dynamic-clocks.patch (NONE -> 1.1)  (NEW), 
X11-radeon-render-byteswap.patch (NONE -> 1.1)  (NEW), 
X11-radeon-set-fb-location.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/X11-radeon-cursor-sync.patch
diff -u /dev/null SOURCES/X11-radeon-cursor-sync.patch:1.1
--- /dev/null   Tue Jul  5 00:07:36 2005
+++ SOURCES/X11-radeon-cursor-sync.patch        Tue Jul  5 00:07:31 2005
@@ -0,0 +1,39 @@
+--- 
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c.radeon-cursor-sync-fdo2844-2230
 2004-08-04 09:17:31.000000000 -0400
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c 2005-04-12 
00:32:01.000000000 -0400
+@@ -64,6 +64,10 @@
+ #define CURSOR_WIDTH  64
+ #define CURSOR_HEIGHT 64
+ 
++#define COMMON_CURSOR_SWAPPING_START()          \
++    if (info->accel && info->accel->Sync) \
++      info->accel->Sync(pScrn);
++
+ /*
+  * The cursor bits are always 32bpp.  On MSBFirst buses,
+  * configure byte swapping to swap 32 bit units when writing
+@@ -74,17 +78,23 @@
+ 
+ #define CURSOR_SWAPPING_DECL_MMIO   unsigned char *RADEONMMIO = info->MMIO;
+ #define CURSOR_SWAPPING_START() \
++  do { \
+     OUTREG(RADEON_SURFACE_CNTL, \
+          (info->ModeReg.surface_cntl | \
+           RADEON_NONSURF_AP0_SWP_32BPP) & \
+-         ~RADEON_NONSURF_AP0_SWP_16BPP)
++         ~RADEON_NONSURF_AP0_SWP_16BPP); \
++    COMMON_CURSOR_SWAPPING_START(); \
++  } while (0)
+ #define CURSOR_SWAPPING_END() (OUTREG(RADEON_SURFACE_CNTL, \
+                                       info->ModeReg.surface_cntl))
+ 
+ #else
+ 
+ #define CURSOR_SWAPPING_DECL_MMIO
+-#define CURSOR_SWAPPING_START()
++#define CURSOR_SWAPPING_START() \
++  do { \
++    COMMON_CURSOR_SWAPPING_START(); \
++  } while (0)
+ #define CURSOR_SWAPPING_END()
+ 
+ #endif

================================================================
Index: SOURCES/X11-radeon-dynamic-clocks.patch
diff -u /dev/null SOURCES/X11-radeon-dynamic-clocks.patch:1.1
--- /dev/null   Tue Jul  5 00:07:36 2005
+++ SOURCES/X11-radeon-dynamic-clocks.patch     Tue Jul  5 00:07:31 2005
@@ -0,0 +1,54 @@
+--- 
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.ati-radeon-dynamic-clocks-fix
   2005-04-14 14:07:38.000000000 -0400
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-04-14 
14:10:50.000000000 -0400
+@@ -4512,7 +4512,7 @@
+ 
+     RADEONSave(pScrn);
+ 
+-    if ((!info->IsSecondary) && info->IsMobility) {
++    if ((!info->IsSecondary)) {
+         if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, 
FALSE)) {
+           RADEONSetDynamicClock(pScrn, 1);
+         } else {
+@@ -7808,6 +7808,34 @@
+     CARD32 tmp;
+     switch(mode) {
+         case 0: /* Turn everything OFF (ForceON to everything)*/
++#if 1
++          /* some chips seem to have problems with the method of
++           * forcing everything on as per below; thus we revert to the old 
++           * forceON behavior
++           */
++          if (info->HasCRTC2) {
++              tmp = INPLL(pScrn, RADEON_SCLK_CNTL);
++              OUTPLL(RADEON_SCLK_CNTL, ((tmp & ~RADEON_DYN_STOP_LAT_MASK) |
++                                              RADEON_CP_MAX_DYN_STOP_LAT |
++                                              RADEON_SCLK_FORCEON_MASK));
++
++              if (info->ChipFamily == CHIP_FAMILY_RV200) {
++                  tmp = INPLL(pScrn, RADEON_SCLK_MORE_CNTL);
++                  OUTPLL(RADEON_SCLK_MORE_CNTL, tmp | 
RADEON_SCLK_MORE_FORCEON);
++              }
++
++          }
++
++          tmp = INPLL(pScrn, RADEON_MCLK_CNTL);
++          OUTPLL(RADEON_MCLK_CNTL, (tmp |
++                               RADEON_FORCEON_MCLKA |
++                               RADEON_FORCEON_MCLKB |
++                               RADEON_FORCEON_YCLKA |
++                               RADEON_FORCEON_YCLKB |
++                               RADEON_FORCEON_MC |
++                               RADEON_FORCEON_AIC));
++
++#else
+             if ( !info->HasCRTC2 ) {
+                 tmp = INPLL(pScrn, RADEON_SCLK_CNTL);
+                 tmp |= (RADEON_SCLK_FORCE_CP   | RADEON_SCLK_FORCE_HDP |
+@@ -7945,6 +7973,7 @@
+                        RADEON_PIXCLK_DAC_ALWAYS_ONb); 
+                 OUTPLL(RADEON_VCLK_ECP_CNTL, tmp);
+           }
++#endif
+           xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Dynamic Clock Scaling 
Disabled\n");
+             break;
+         case 1:

================================================================
Index: SOURCES/X11-radeon-render-byteswap.patch
diff -u /dev/null SOURCES/X11-radeon-render-byteswap.patch:1.1
--- /dev/null   Tue Jul  5 00:07:36 2005
+++ SOURCES/X11-radeon-render-byteswap.patch    Tue Jul  5 00:07:31 2005
@@ -0,0 +1,10 @@
+--- 
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c.radeon-render-byteswap-fdo2164-1863
     2005-01-24 22:20:12.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c 2005-04-12 
00:50:44.000000000 -0400
+@@ -326,6 +326,7 @@
+                  "tex_bytepp == %d!\n", __func__, tex_bytepp);
+       return FALSE;
+     }
++    return TRUE;
+ }
+ 
+ static void RADEONRestoreByteswap(RADEONInfoPtr info)

================================================================
Index: SOURCES/X11-radeon-set-fb-location.patch
diff -u /dev/null SOURCES/X11-radeon-set-fb-location.patch:1.1
--- /dev/null   Tue Jul  5 00:07:36 2005
+++ SOURCES/X11-radeon-set-fb-location.patch    Tue Jul  5 00:07:31 2005
@@ -0,0 +1,10 @@
+--- 
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.radeon-set-fb-location-fdo2698-2079
     2005-04-11 23:43:02.000000000 -0400
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-04-12 
00:33:34.000000000 -0400
+@@ -7179,7 +7179,6 @@
+       RADEONDoAdjustFrame(pScrn, x, y, FALSE);
+     }
+ 
+-    RADEONSetFBLocation (pScrn);
+ #ifdef XF86DRI
+       if (info->CPStarted) DRIUnlock(pScrn->pScreen);
+ #endif
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to