[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r1410 - in trunk/debian: . patches



Author: branden
Date: 2004-05-17 17:03:45 -0500 (Mon, 17 May 2004)
New Revision: 1410

Added:
   trunk/debian/patches/006_ati_radeon_fix_eternal_initialization.diff
Modified:
   trunk/debian/CHANGESETS
   trunk/debian/TODO
   trunk/debian/changelog
   trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff
   trunk/debian/patches/079_ati_radeon_fix_power_resume.diff
Log:
Apply Michel D?\195?\164nzer's fix for Radeon driver trying forever to initialize
card if card's firmware is not loaded.  Add patch #006.  Resync patches
#024, #079.  (Closes: #246901)


Modified: trunk/debian/CHANGESETS
===================================================================
--- trunk/debian/CHANGESETS	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/CHANGESETS	2004-05-17 22:03:45 UTC (rev 1410)
@@ -102,4 +102,8 @@
 patches #082 and #084.
     1408
 
+Apply Michel Dänzer's fix for Radeon driver trying forever to initialize card if
+card's firmware is not loaded.
+    1410
+
 vim:set ai et sts=4 sw=4 tw=80:

Modified: trunk/debian/TODO
===================================================================
--- trunk/debian/TODO	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/TODO	2004-05-17 22:03:45 UTC (rev 1410)
@@ -12,9 +12,6 @@
 These items are listed in descending order of priority; that is, the most
 important items come first.
 
-* #246901: Apply Michel Dänzer's fix for Radeon driver trying forever to
-  initialize card if card's firmware is not loaded.
-  http://penguinppc.org/~daenzer/DRI/applied/radeon-accelinit.diff
 * Fix upstream install rule that prevents Xcursor themes from being
   installed on s390.  As I understand it, this is client-side stuff and
   there's not really any reason it shouldn't be made available on the s390

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/changelog	2004-05-17 22:03:45 UTC (rev 1410)
@@ -168,12 +168,16 @@
       - some cosmetic changes.
       (Ivan Pascal). [David Dawes]
 
+  * Apply Michel Dänzer's fix for Radeon driver trying forever to initialize
+    card if card's firmware is not loaded.  Add patch #006.  Resync patches
+    #024, #079.  (Closes: #246901)
+
   Changes by Fabio Massimo Di Nitto:
 
   * Update xutils's package description to refer to bdftruncate and ucs2any
     programs by their correct names.
 
- -- Branden Robinson <branden@debian.org>  Mon, 17 May 2004 12:44:31 -0500
+ -- Branden Robinson <branden@debian.org>  Mon, 17 May 2004 17:02:49 -0500
 
 xfree86 (4.3.0.dfsg.1-1) unstable; urgency=low
 

Added: trunk/debian/patches/006_ati_radeon_fix_eternal_initialization.diff
===================================================================
--- trunk/debian/patches/006_ati_radeon_fix_eternal_initialization.diff	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/patches/006_ati_radeon_fix_eternal_initialization.diff	2004-05-17 22:03:45 UTC (rev 1410)
@@ -0,0 +1,68 @@
+$Id$
+
+Fix Radeon driver so it does not spin forever in RADEONCPGetBuffer() if the
+card's firmware has not been initalized.  See Debian #246901.
+
+This patch by Michel Dänzer.
+
+Not submitted to XFree86; already on the DRI trunk.
+
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon.h xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon.h	2004-05-17 13:21:05.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h	2004-05-17 13:22:10.000000000 -0500
+@@ -566,6 +566,7 @@
+ extern void        RADEONSelectBuffer(ScrnInfoPtr pScrn, int buffer);
+ 
+ extern Bool        RADEONAccelInit(ScreenPtr pScreen);
++extern void        RADEONAccelInitMMIO(ScreenPtr pScreen, XAAInfoRecPtr a);
+ extern void        RADEONEngineInit(ScrnInfoPtr pScrn);
+ extern Bool        RADEONCursorInit(ScreenPtr pScreen);
+ extern Bool        RADEONDGAInit(ScreenPtr pScreen);
+@@ -577,6 +578,7 @@
+ extern void        R300CGWorkaround(ScrnInfoPtr pScrn);
+ 
+ #ifdef XF86DRI
++extern void        RADEONAccelInitCP(ScreenPtr pScreen, XAAInfoRecPtr a);
+ extern Bool        RADEONDRIScreenInit(ScreenPtr pScreen);
+ extern void        RADEONDRICloseScreen(ScreenPtr pScreen);
+ extern void        RADEONDRIResume(ScreenPtr pScreen);
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_accelfuncs.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_accelfuncs.c	2004-05-17 13:21:05.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c	2004-05-17 13:22:10.000000000 -0500
+@@ -1169,7 +1169,7 @@
+ }
+ #endif
+ 
+-static void
++void
+ FUNC_NAME(RADEONAccelInit)(ScreenPtr pScreen, XAAInfoRecPtr a)
+ {
+     ScrnInfoPtr    pScrn = xf86Screens[pScreen->myNum];
+@@ -1224,9 +1224,10 @@
+ 	   | LEFT_EDGE_CLIPPING_NEGATIVE_X);
+     a->NumScanlineColorExpandBuffers    = 1;
+     a->ScanlineColorExpandBuffers       = info->scratch_buffer;
+-    info->scratch_save
+-	= xalloc(((pScrn->virtualX+31)/32*4)
+-		 + (pScrn->virtualX * info->CurrentLayout.pixel_bytes));
++    if (!info->scratch_save)
++	info->scratch_save
++	    = xalloc(((pScrn->virtualX+31)/32*4)
++		     + (pScrn->virtualX * info->CurrentLayout.pixel_bytes));
+     info->scratch_buffer[0]             = info->scratch_save;
+     a->SetupForScanlineCPUToScreenColorExpandFill
+ 	= FUNC_NAME(RADEONSetupForScanlineCPUToScreenColorExpandFill);
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c	2004-05-17 13:21:20.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c	2004-05-17 13:22:10.000000000 -0500
+@@ -4746,7 +4746,9 @@
+ 				/* Now that mi, fb, drm and others have
+ 				   done their thing, complete the DRI
+ 				   setup. */
+-	info->directRenderingEnabled = RADEONDRIFinishScreenInit(pScreen);
++	if (!(info->directRenderingEnabled = RADEONDRIFinishScreenInit(pScreen))) {
++	    RADEONAccelInitMMIO(pScreen, info->accel);
++	}
+     }
+     if (info->directRenderingEnabled) {
+ 	if ((info->DispPriority == 1) && (!info->IsPCI)) {


Property changes on: trunk/debian/patches/006_ati_radeon_fix_eternal_initialization.diff
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff
===================================================================
--- trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff	2004-05-17 22:03:45 UTC (rev 1410)
@@ -237,7 +237,7 @@
  
   fail2:
      if(info->MMIO) RADEONUnmapMMIO(pScrn);
-@@ -5480,7 +5495,9 @@
+@@ -5482,7 +5497,9 @@
      RADEONInfoPtr  info       = RADEONPTR(pScrn);
      unsigned char *RADEONMMIO = info->MMIO;
      RADEONSavePtr  save       = &info->SavedReg;
@@ -247,7 +247,7 @@
  
      RADEONTRACE(("RADEONSave\n"));
      if (info->FBDev) {
-@@ -5489,19 +5506,21 @@
+@@ -5491,19 +5508,21 @@
      }
  
      if (!info->IsSecondary) {
@@ -272,7 +272,7 @@
  	save->dp_datatype      = INREG(RADEON_DP_DATATYPE);
  	save->rbbm_soft_reset  = INREG(RADEON_RBBM_SOFT_RESET);
  	save->clock_cntl_index = INREG(RADEON_CLOCK_CNTL_INDEX);
-@@ -5517,7 +5536,9 @@
+@@ -5519,7 +5538,9 @@
      RADEONInfoPtr  info       = RADEONPTR(pScrn);
      unsigned char *RADEONMMIO = info->MMIO;
      RADEONSavePtr  restore    = &info->SavedReg;
@@ -282,7 +282,7 @@
  
      RADEONTRACE(("RADEONRestore\n"));
  
-@@ -5560,26 +5581,32 @@
+@@ -5562,26 +5583,32 @@
  #endif
  
      if (!info->IsSecondary) {
@@ -318,7 +318,7 @@
      }
      RADEONUnblank(pScrn);
  
-@@ -7022,8 +7049,10 @@
+@@ -7024,8 +7051,10 @@
  
      RADEONTRACE(("RADEONFreeScreen\n"));
  

Modified: trunk/debian/patches/079_ati_radeon_fix_power_resume.diff
===================================================================
--- trunk/debian/patches/079_ati_radeon_fix_power_resume.diff	2004-05-17 18:23:46 UTC (rev 1409)
+++ trunk/debian/patches/079_ati_radeon_fix_power_resume.diff	2004-05-17 22:03:45 UTC (rev 1410)
@@ -18,7 +18,7 @@
      NULL
  };
  
-@@ -6927,9 +6928,22 @@
+@@ -6929,9 +6930,22 @@
  {
      ScrnInfoPtr    pScrn = xf86Screens[scrnIndex];
      RADEONInfoPtr  info  = RADEONPTR(pScrn);



Reply to: