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 scm-commits
mailing list