rpms/xorg-x11-drv-ati/devel radeon-6.7.191-git-master.patch, NONE, 1.1 xorg-x11-drv-ati.spec, 1.57, 1.58

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Sun Aug 26 22:06:37 UTC 2007


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15096

Modified Files:
	xorg-x11-drv-ati.spec 
Added Files:
	radeon-6.7.191-git-master.patch 
Log Message:
* Mon Aug 27 2007 Dave Airlie <airlied at redhat.com> 6.7.191-2
- radeon-6.7.191-git-master.patch - upgrade to git head
  f36720377737210c985b196d9a988efdd767f1c7


radeon-6.7.191-git-master.patch:

--- NEW FILE radeon-6.7.191-git-master.patch ---
diff --git a/configure.ac b/configure.ac
index b178224..cdc6377 100644
--- a/configure.ac
+++ b/configure.ac
@@ -71,7 +71,7 @@ XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3 xproto fontsproto $REQUIRED_MODULES])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.
diff --git a/man/radeon.man b/man/radeon.man
index 8423cc9..88665bf 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -150,14 +150,6 @@ affects the "true" overlay via xv, it won't affect things like textured video.
 .br
 The default value is either 1536 (for most chips) or 1920.
 .TP
-.BI "Option \*qUseFBDev\*q \*q" boolean \*q
-Enable or disable use of an OS\-specific framebuffer device interface
-(which is not supported on all OSs).  MergedFB does not work when this
-option is in use.  See fbdevhw(__drivermansuffix__) for further information. 
-.br
-The default is
-.B off.
-.TP
 .BI "Option \*qAGPMode\*q \*q" integer \*q
 Set AGP data transfer rate.
 (used only when DRI is enabled)
diff --git a/src/atidri.c b/src/atidri.c
index d4fbead..07adda7 100644
--- a/src/atidri.c
+++ b/src/atidri.c
@@ -1269,9 +1269,10 @@ Bool ATIDRIScreenInit( ScreenPtr pScreen )
       ErrorF( "[dri] Data does not fit in SAREA\n" );
       return FALSE;
    }
-   xf86DrvMsg( pScreenInfo->scrnIndex, X_INFO, "[drm] SAREA %d+%d: %d\n",
-	       sizeof(XF86DRISAREARec), sizeof(ATISAREAPrivRec),
-	       sizeof(XF86DRISAREARec) + sizeof(ATISAREAPrivRec) );
+   xf86DrvMsg( pScreenInfo->scrnIndex, X_INFO, "[drm] SAREA %u+%u: %u\n",
+	       (unsigned)sizeof(XF86DRISAREARec),
+	       (unsigned)sizeof(ATISAREAPrivRec),
+	       (unsigned)(sizeof(XF86DRISAREARec) + sizeof(ATISAREAPrivRec)) );
    pDRIInfo->SAREASize = SAREA_MAX;
 
    pATIDRI = (ATIDRIPtr) xnfcalloc( sizeof(ATIDRIRec), 1 );
diff --git a/src/radeon.h b/src/radeon.h
index 1a91cfd..53fb5f7 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -39,6 +39,7 @@
 
 #include <stdlib.h>		/* For abs() */
 #include <unistd.h>		/* For usleep() */
+#include <sys/time.h>		/* For gettimeofday() */
 
 #include "xf86str.h"
 #include "compiler.h"
@@ -122,7 +123,6 @@ typedef enum {
 #endif
     OPTION_DDC_MODE,
     OPTION_IGNORE_EDID,
-    OPTION_FBDEV,
     OPTION_DISP_PRIORITY,
     OPTION_PANEL_SIZE,
     OPTION_MIN_DOTCLOCK,
@@ -159,6 +159,8 @@ typedef enum {
 #define RADEON_IDLE_RETRY      16 /* Fall out of idle loops after this count */
 #define RADEON_TIMEOUT    2000000 /* Fall out of wait loops after this count */
 
+#define RADEON_VSYNC_TIMEOUT	20000 /* Maximum wait for VSYNC (in usecs) */
+
 /* Buffer are aligned on 4096 byte boundaries */
 #define RADEON_BUFFER_ALIGN 0x00000fff
 #define RADEON_VBIOS_SIZE 0x00010000
@@ -434,8 +436,6 @@ typedef struct {
     RADEONChipFamily  ChipFamily;
     RADEONErrata      ChipErrata;
 
-    Bool              FBDev;
-
     unsigned long     LinearAddr;       /* Frame buffer physical address     */
     unsigned long     MMIOAddr;         /* MMIO region physical address      */
     unsigned long     BIOSAddr;         /* BIOS physical address             */
@@ -605,6 +605,7 @@ typedef struct {
     Bool              allowPageFlip;    /* Enable 3d page flipping */
 #ifdef DAMAGE
     DamagePtr         pDamage;
+    RegionRec         driRegion;
 #endif
     Bool              have3DWindows;    /* Are there any 3d clients? */
 
@@ -787,6 +788,7 @@ typedef struct {
     int                MaxLines;
 
     CARD32            tv_dac_adj;
+    CARD32            tv_dac_enable_mask;
 
     Bool want_vblank_interrupts;
     RADEONBIOSConnector BiosConnector[RADEON_MAX_BIOS_CONNECTOR];
@@ -1223,4 +1225,21 @@ static __inline__ void RADEON_SYNC(RADEONInfoPtr info, ScrnInfoPtr pScrn)
 #endif
 }
 
+static __inline__ void radeon_init_timeout(struct timeval *endtime,
+    unsigned int timeout)
+{
+    gettimeofday(endtime, NULL);
+    endtime->tv_usec += timeout;
+    endtime->tv_sec += endtime->tv_usec / 1000000;
+    endtime->tv_usec %= 1000000;
+}
+
+static __inline__ int radeon_timedout(const struct timeval *endtime)
+{
+    struct timeval now;
+    gettimeofday(&now, NULL);
+    return now.tv_sec == endtime->tv_sec ?
+        now.tv_usec > endtime->tv_usec : now.tv_sec > endtime->tv_sec;
+}
+
 #endif /* _RADEON_H_ */
diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 975fc07..1ef0ff4 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -619,8 +619,7 @@ Bool RADEONGetTVInfoFromBIOS (xf86OutputPtr output) {
 		ErrorF("\n");
 
 		return TRUE;
-	    } else
-		return FALSE;
+	    }
 	}
     }
     return FALSE;
@@ -654,8 +653,11 @@ Bool RADEONGetClockInfoFromBIOS (ScrnInfoPtr pScrn)
 	    if (info->sclk == 0) info->sclk = 200;
 	    if (info->mclk == 0) info->mclk = 200;
 		
-	    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ref_freq: %d, min_pll: %ld, max_pll: %ld, xclk: %d, sclk: %f, mclk: %f\n",
-		       pll->reference_freq, pll->min_pll_freq, pll->max_pll_freq, pll->xclk, info->sclk, info->mclk);
+	    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ref_freq: %d, min_pll: %u, "
+		       "max_pll: %u, xclk: %d, sclk: %f, mclk: %f\n",
+		       pll->reference_freq, (unsigned)pll->min_pll_freq,
+		       (unsigned)pll->max_pll_freq, pll->xclk, info->sclk,
+		       info->mclk);
 
 	} else {
 	    pll_info_block = RADEON_BIOS16 (info->ROMHeaderStart + 0x30);
@@ -840,8 +842,9 @@ Bool RADEONGetTMDSInfoFromBIOS (xf86OutputPtr output)
 					   ((RADEON_BIOS8(tmp+i*6+9) & 0xf)<<12) |
 					   ((RADEON_BIOS8(tmp+i*6+11) & 0xf)<<16));
 		xf86DrvMsg(pScrn->scrnIndex, X_INFO, 
-			   "TMDS PLL from BIOS: %ld %lx\n", 
-			   radeon_output->tmds_pll[i].freq, radeon_output->tmds_pll[i].value);
+			   "TMDS PLL from BIOS: %u %x\n", 
+			   (unsigned)radeon_output->tmds_pll[i].freq,
+			   (unsigned)radeon_output->tmds_pll[i].value);
 		       
 		if (maxfreq == radeon_output->tmds_pll[i].freq) {
 		    radeon_output->tmds_pll[i].freq = 0xffffffff;
@@ -1077,7 +1080,7 @@ RADEONRestoreBIOSRegBlock(ScrnInfoPtr pScrn, CARD16 table_offset)
 	case RADEON_TABLE_FLAG_WRITE_INDEXED:
 	    val = RADEON_BIOS32(offset);
 	    ErrorF("WRITE INDEXED: 0x%x 0x%x\n",
-		   index, val);
+		   index, (unsigned)val);
 	    OUTREG(RADEON_MM_INDEX, index);
 	    OUTREG(RADEON_MM_DATA, val);
 	    offset += 4;
@@ -1085,7 +1088,7 @@ RADEONRestoreBIOSRegBlock(ScrnInfoPtr pScrn, CARD16 table_offset)
 
 	case RADEON_TABLE_FLAG_WRITE_DIRECT:
 	    val = RADEON_BIOS32(offset);
-	    ErrorF("WRITE DIRECT: 0x%x 0x%x\n", index, val);
+	    ErrorF("WRITE DIRECT: 0x%x 0x%x\n", index, (unsigned)val);
 	    OUTREG(index, val);
 	    offset += 4;
 	    break;
@@ -1096,7 +1099,7 @@ RADEONRestoreBIOSRegBlock(ScrnInfoPtr pScrn, CARD16 table_offset)
 	    ormask = RADEON_BIOS32(offset);
 	    offset += 4;
 	    ErrorF("MASK INDEXED: 0x%x 0x%x 0x%x\n",
-		   index, andmask, ormask);
+		   index, (unsigned)andmask, (unsigned)ormask);
 	    OUTREG(RADEON_MM_INDEX, index);
 	    val = INREG(RADEON_MM_DATA);
 	    val = (val & andmask) | ormask;
@@ -1109,7 +1112,7 @@ RADEONRestoreBIOSRegBlock(ScrnInfoPtr pScrn, CARD16 table_offset)
 	    ormask = RADEON_BIOS32(offset);
 	    offset += 4;
 	    ErrorF("MASK DIRECT: 0x%x 0x%x 0x%x\n",
-		   index, andmask, ormask);
+		   index, (unsigned)andmask, (unsigned)ormask);
[...1642 lines suppressed...]
 
@@ -3328,8 +3330,8 @@ RADEONInitOffscreenImages(ScreenPtr pScreen)
 	return;
 
     offscreenImages[0].image = &Images[0];
-    offscreenImages[0].flags = VIDEO_OVERLAID_IMAGES |
-			       VIDEO_CLIP_TO_VIEWPORT;
+    offscreenImages[0].flags = VIDEO_OVERLAID_IMAGES /*|
+			       VIDEO_CLIP_TO_VIEWPORT*/;
     offscreenImages[0].alloc_surface = RADEONAllocateSurface;
     offscreenImages[0].free_surface = RADEONFreeSurface;
     offscreenImages[0].display = RADEONDisplaySurface;
@@ -3358,7 +3360,6 @@ RADEONPutVideo(
 ){
    RADEONInfoPtr info = RADEONPTR(pScrn);
    RADEONPortPrivPtr pPriv = (RADEONPortPrivPtr)data;
-   xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
    unsigned char *RADEONMMIO = info->MMIO;
    INT32 xa, xb, ya, yb, top;
    unsigned int pitch, new_size, alloc_size;
@@ -3372,7 +3373,6 @@ RADEONPutVideo(
    int mult;
    int vbi_line_width, vbi_start, vbi_end;
    xf86CrtcPtr crtc;
-   RADEONCrtcPrivatePtr radeon_crtc;
 
     RADEON_SYNC(info, pScrn);
    /*
@@ -3444,7 +3444,8 @@ RADEONPutVideo(
    id = FOURCC_YUY2;
    
    top = ya>>16;
-
+#if 0
+   /* setting the ID above makes this useful - needs revisiting */
    switch(id) {
    case FOURCC_YV12:
    case FOURCC_I420:
@@ -3462,6 +3463,10 @@ RADEONPutVideo(
         srcPitch = (width<<1);
         break;
    }
+#else
+   dstPitch = ((width<<1) + 15) & ~15;
+   srcPitch = (width<<1);
+#endif
 
    new_size = dstPitch * height;
    new_size = new_size + 0x1f; /* for aligning */
diff --git a/src/theatre.c b/src/theatre.c
index 0a635fa..a5aadfb 100644
--- a/src/theatre.c
+++ b/src/theatre.c
@@ -1796,7 +1796,9 @@ void RT_SetConnector (TheatrePtr t, CARD16 wConnector, int tunerFlag)
     	counter++;
 	}
     dwTempContrast = ReadRT_fld (fld_LP_CONTRAST);
-    if(counter>=10000)xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "Rage Theatre: timeout waiting for line count (%ld)\n", ReadRT_fld (fld_VS_LINE_COUNT));
+    if(counter>=10000)xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+				 "Rage Theatre: timeout waiting for line count (%u)\n",
+				 (unsigned)ReadRT_fld (fld_VS_LINE_COUNT));
 
 
     WriteRT_fld (fld_LP_CONTRAST, 0x0);
@@ -1851,7 +1853,9 @@ void RT_SetConnector (TheatrePtr t, CARD16 wConnector, int tunerFlag)
     	counter++;
 	}
     WriteRT_fld (fld_LP_CONTRAST, dwTempContrast);
-    if(counter>=10000)xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "Rage Theatre: timeout waiting for line count (%ld)\n", ReadRT_fld (fld_VS_LINE_COUNT));
+    if(counter>=10000)xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+				 "Rage Theatre: timeout waiting for line count (%u)\n",
+				 (unsigned)ReadRT_fld (fld_VS_LINE_COUNT));
 
 
 
@@ -1942,7 +1946,8 @@ void DumpRageTheatreRegs(TheatrePtr t)
     for(i=0;i<0x900;i+=4)
     {
        RT_regr(i, &data);
-       xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "register 0x%04x is equal to 0x%08lx\n", i, data);
+       xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+		  "register 0x%04x is equal to 0x%08x\n", i, (unsigned)data);
     }   
 
 }
@@ -2147,7 +2152,9 @@ void DumpRageTheatreRegsByName(TheatrePtr t)
 
     for(i=0; rt_reg_list[i].name!=NULL;i++){
         RT_regr(rt_reg_list[i].addr, &data);
-        xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "register (0x%04lx) %s is equal to 0x%08lx\n", rt_reg_list[i].addr, rt_reg_list[i].name, data);
+        xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+		   "register (0x%04lx) %s is equal to 0x%08x\n",
+		   rt_reg_list[i].addr, rt_reg_list[i].name, (unsigned)data);
     	}
 
 }
diff --git a/src/theatre200.c b/src/theatre200.c
index ff86395..672f01e 100644
--- a/src/theatre200.c
+++ b/src/theatre200.c
@@ -1799,10 +1799,12 @@ void RT_SetConnector (TheatrePtr t, CARD16 wConnector, int tunerFlag)
 	t->wConnector = wConnector;
 
 	theatre_read(t, VIP_GPIO_CNTL, &data);
-	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_CNTL: %lx\n", data);
+	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_CNTL: %x\n",
+		   (unsigned)data);
 
 	theatre_read(t, VIP_GPIO_INOUT, &data);
-	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_INOUT: %lx\n", data);
+	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_INOUT: %x\n",
+		   (unsigned)data);
 	
 	switch (wConnector)
 	{
@@ -1851,10 +1853,12 @@ void RT_SetConnector (TheatrePtr t, CARD16 wConnector, int tunerFlag)
 	}
 
 	theatre_read(t, VIP_GPIO_CNTL, &data);
-	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_CNTL: %lx\n", data);
+	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_CNTL: %x\n",
+		   (unsigned)data);
 
 	theatre_read(t, VIP_GPIO_INOUT, &data);
-	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_INOUT: %lx\n", data);
+	xf86DrvMsg(t->VIP->scrnIndex,X_INFO,"VIP_GPIO_INOUT: %x\n",
+		   (unsigned)data);
 
 
 	dsp_configure_i2s_port(t, 0, 0, 0);
@@ -2007,7 +2011,8 @@ void DumpRageTheatreRegs(TheatrePtr t)
     for(i=0;i<0x900;i+=4)
     {
        RT_regr(i, &data);
-       xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "register 0x%04x is equal to 0x%08lx\n", i, data);
+       xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+		  "register 0x%04x is equal to 0x%08x\n", i, (unsigned)data);
     }   
 
 }
@@ -2212,7 +2217,9 @@ void DumpRageTheatreRegsByName(TheatrePtr t)
 
     for(i=0; rt_reg_list[i].name!=NULL;i++){
         RT_regr(rt_reg_list[i].addr, &data);
-        xf86DrvMsg(t->VIP->scrnIndex, X_INFO, "register (0x%04lx) %s is equal to 0x%08lx\n", rt_reg_list[i].addr, rt_reg_list[i].name, data);
+        xf86DrvMsg(t->VIP->scrnIndex, X_INFO,
+		   "register (0x%04lx) %s is equal to 0x%08x\n",
+		   rt_reg_list[i].addr, rt_reg_list[i].name, (unsigned)data);
     	}
 
 }
diff --git a/src/theatre_detect.c b/src/theatre_detect.c
index e754832..8770911 100644
--- a/src/theatre_detect.c
+++ b/src/theatre_detect.c
@@ -67,7 +67,7 @@ static Bool theatre_write(TheatrePtr t,CARD32 reg, CARD32 data)
 TheatrePtr DetectTheatre(GENERIC_BUS_Ptr b)
 {
    TheatrePtr t;  
-   CARD32 i;
+   int i;
    CARD32 val;
    char s[20];
    
@@ -88,7 +88,9 @@ TheatrePtr DetectTheatre(GENERIC_BUS_Ptr b)
    {
 	if(b->read(b, ((i & 0x03)<<14) | VIP_VIP_VENDOR_DEVICE_ID, 4, (CARD8 *)&val))
         {
-	  if(val)xf86DrvMsg(b->scrnIndex, X_INFO, "Device %ld on VIP bus ids as 0x%08lx\n",i,val);
+	  if(val)xf86DrvMsg(b->scrnIndex, X_INFO,
+			    "Device %d on VIP bus ids as 0x%08x\n", i,
+			    (unsigned)val);
 	  if(t->theatre_num>=0)continue; /* already found one instance */
 	  switch(val){
 	  	case RT100_ATI_ID:
@@ -101,10 +103,12 @@ TheatrePtr DetectTheatre(GENERIC_BUS_Ptr b)
 		   break;
                 }
 	} else {
-	  xf86DrvMsg(b->scrnIndex, X_INFO, "No response from device %ld on VIP bus\n",i);	
+	  xf86DrvMsg(b->scrnIndex, X_INFO, "No response from device %d on VIP bus\n",i);	
 	}
    }
-   if(t->theatre_num>=0)xf86DrvMsg(b->scrnIndex, X_INFO, "Detected Rage Theatre as device %d on VIP bus with id 0x%08lx\n",t->theatre_num,t->theatre_id);
+   if(t->theatre_num>=0)xf86DrvMsg(b->scrnIndex, X_INFO,
+				   "Detected Rage Theatre as device %d on VIP bus with id 0x%08x\n",
+				   t->theatre_num, (unsigned)t->theatre_id);
 
    if(t->theatre_num < 0)
    {
@@ -113,7 +117,8 @@ TheatrePtr DetectTheatre(GENERIC_BUS_Ptr b)
    }
 
    RT_regr(VIP_VIP_REVISION_ID, &val);
-   xf86DrvMsg(b->scrnIndex, X_INFO, "Detected Rage Theatre revision %8.8lX\n", val);
+   xf86DrvMsg(b->scrnIndex, X_INFO, "Detected Rage Theatre revision %8.8X\n",
+	      (unsigned)val);
 
 #if 0
 DumpRageTheatreRegsByName(t);


Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/xorg-x11-drv-ati.spec,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- xorg-x11-drv-ati.spec	23 Aug 2007 04:28:22 -0000	1.57
+++ xorg-x11-drv-ati.spec	26 Aug 2007 22:06:04 -0000	1.58
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.7.191
-Release:   1%{?dist}
+Release:   2%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -18,6 +18,7 @@
 
 # Radeon patches (0-99)
 #Patch0:	    radeon-6.6.192-dotclock-filter.patch
+Patch1:	    radeon-6.7.191-git-master.patch
 Patch2:     radeon-6.6.3-renderaccel-buglet.patch
 
 # Rage 128 patches (100-199)
@@ -42,6 +43,7 @@
 %setup -q -n %{tarball}-%{version}
 
 #%patch0 -p1 -b .dotclock-filter
+%patch1 -p1 -b .git-master
 %patch2 -p1 -b .renderaccel
 
 %build
@@ -83,6 +85,10 @@
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Mon Aug 27 2007 Dave Airlie <airlied at redhat.com> 6.7.191-2
+- radeon-6.7.191-git-master.patch - upgrade to git head
+  f36720377737210c985b196d9a988efdd767f1c7
+
 * Tue Aug 23 2007 Dave Airlie <airlied at redhat.com> 6.7.191-1
 - xf86-video-ati 6.7.191. - Add a pre-release of radeon randr code
   This will break old zaphod mode further than the current 6.6.193




More information about the fedora-extras-commits mailing list