rpms/xorg-x11-drv-ati/devel import.log, NONE, 1.1 radeon-6.9.0-to-git.patch, NONE, 1.1 .cvsignore, 1.23, 1.24 radeon-modeset.patch, 1.6, 1.7 sources, 1.23, 1.24 xorg-x11-drv-ati.spec, 1.96, 1.97 ati.xinf, 1.1, NONE mach64-ia64-pagesize.patch, 1.1, NONE r128-bios-size.patch, 1.1, NONE r128.xinf, 1.1, NONE radeon-6.7.196-faster-ddc.patch, 1.2, NONE radeon-git-upstream-fixes.patch, 1.9, NONE radeon-git-upstream-fixes2.patch, 1.5, NONE

Adam Jackson (ajax) fedora-extras-commits at redhat.com
Mon Aug 11 04:14:51 UTC 2008


Author: ajax

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

Modified Files:
	.cvsignore radeon-modeset.patch sources xorg-x11-drv-ati.spec 
Added Files:
	import.log radeon-6.9.0-to-git.patch 
Removed Files:
	ati.xinf mach64-ia64-pagesize.patch r128-bios-size.patch 
	r128.xinf radeon-6.7.196-faster-ddc.patch 
	radeon-git-upstream-fixes.patch 
	radeon-git-upstream-fixes2.patch 
Log Message:
rebase to 6.9.0




--- NEW FILE import.log ---
xorg-x11-drv-ati-6_9_0-1_fc10:HEAD:xorg-x11-drv-ati-6.9.0-1.fc10.src.rpm:1218428001

radeon-6.9.0-to-git.patch:

--- NEW FILE radeon-6.9.0-to-git.patch ---
diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c
index 509aa0c..58c4ae9 100644
--- a/src/AtomBios/CD_Operations.c
+++ b/src/AtomBios/CD_Operations.c
@@ -44,7 +44,6 @@ Revision History:
 #include "xorg-server.h"
 
 #include "Decoder.h"
-#include	"atombios.h"
 
 VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData);
 VOID PutDataPS(PARSER_TEMP_DATA STACK_BASED * pParserTempData);
@@ -231,7 +230,7 @@ UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 		IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].func(pParserTempData);
 		pParserTempData->IndirectIOTablePointer+=IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].csize;
 	    }
-	    pParserTempData->IndirectIOTablePointer-=*(UINT16*)(pParserTempData->IndirectIOTablePointer+1);
+	    pParserTempData->IndirectIOTablePointer-=UINT16LE_TO_CPU(*(UINT16*)(pParserTempData->IndirectIOTablePointer+1));
 	    pParserTempData->IndirectIOTablePointer++;
 	    return pParserTempData->IndirectData;
 	} else pParserTempData->IndirectIOTablePointer+=IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].csize;
@@ -243,7 +242,7 @@ UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 
 VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
-    pParserTempData->Index=(UINT32)pParserTempData->pCmd->Parameters.WordXX.PA_Destination;
+    pParserTempData->Index=(UINT32)UINT16LE_TO_CPU(pParserTempData->pCmd->Parameters.WordXX.PA_Destination);
     pParserTempData->Index+=pParserTempData->CurrentRegBlock;
     switch(pParserTempData->Multipurpose.CurrentPort){
 	case ATI_RegsPort:
@@ -269,16 +268,16 @@ VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 VOID PutDataPS(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
     *(pParserTempData->pDeviceData->pParameterSpace+pParserTempData->pCmd->Parameters.ByteXX.PA_Destination)=
-	pParserTempData->DestData32;
+	    CPU_TO_UINT32LE(pParserTempData->DestData32);
 }
 
 VOID PutDataWS(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
     if (pParserTempData->pCmd->Parameters.ByteXX.PA_Destination < WS_QUOTIENT_C)
-	*(pParserTempData->pWorkingTableData->pWorkSpace+pParserTempData->pCmd->Parameters.ByteXX.PA_Destination) = pParserTempData->DestData32;
+      *(pParserTempData->pWorkingTableData->pWorkSpace+pParserTempData->pCmd->Parameters.ByteXX.PA_Destination) = pParserTempData->DestData32;
     else
-	switch (pParserTempData->pCmd->Parameters.ByteXX.PA_Destination)
-	{
+	  switch (pParserTempData->pCmd->Parameters.ByteXX.PA_Destination)
+	  {
 	    case WS_REMINDER_C:
 		pParserTempData->MultiplicationOrDivision.Division.Reminder32=pParserTempData->DestData32;
 		break;
@@ -339,7 +338,7 @@ VOID SkipParameters16(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 
 UINT32 GetParametersRegister(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 {
-    pParserTempData->Index=*(UINT16*)pParserTempData->pWorkingTableData->IP;
+    pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP);
     pParserTempData->pWorkingTableData->IP+=sizeof(UINT16);
     pParserTempData->Index+=pParserTempData->CurrentRegBlock;
     switch(pParserTempData->Multipurpose.CurrentPort)
@@ -361,9 +360,11 @@ UINT32 GetParametersRegister(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 
 UINT32 GetParametersPS(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 {
+    UINT32 data;
     pParserTempData->Index=*pParserTempData->pWorkingTableData->IP;
     pParserTempData->pWorkingTableData->IP+=sizeof(UINT8);
-    return *(pParserTempData->pDeviceData->pParameterSpace+pParserTempData->Index);
+    data = UINT32LE_TO_CPU(*(pParserTempData->pDeviceData->pParameterSpace+pParserTempData->Index));
+    return data;
 }
 
 UINT32 GetParametersWS(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
@@ -419,9 +420,12 @@ UINT32 GetParametersMC(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 
 UINT32 GetParametersIndirect(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 {
-    pParserTempData->Index=*(UINT16*)pParserTempData->pWorkingTableData->IP;
+	  UINT32 ret;
+
+    pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP);
     pParserTempData->pWorkingTableData->IP+=sizeof(UINT16);
-    return *(UINT32*)(RELATIVE_TO_BIOS_IMAGE(pParserTempData->Index)+pParserTempData->CurrentDataBlock);
+    ret = UINT32LE_TO_CPU(*(UINT32*)(RELATIVE_TO_BIOS_IMAGE(pParserTempData->Index)+pParserTempData->CurrentDataBlock));
+    return ret;
 }
 
 UINT32 GetParametersDirect8(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
@@ -435,7 +439,7 @@ UINT32 GetParametersDirect8(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 {
     pParserTempData->CD_Mask.SrcAlignment=alignmentLowerWord;
-    pParserTempData->Index=*(UINT16*)pParserTempData->pWorkingTableData->IP;
+    pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP);
     pParserTempData->pWorkingTableData->IP+=sizeof(UINT16);
     return pParserTempData->Index;
 }
@@ -443,7 +447,7 @@ UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 UINT32 GetParametersDirect32(PARSER_TEMP_DATA STACK_BASED *	pParserTempData)
 {
     pParserTempData->CD_Mask.SrcAlignment=alignmentDword;
-    pParserTempData->Index=*(UINT32*)pParserTempData->pWorkingTableData->IP;
+    pParserTempData->Index=UINT32LE_TO_CPU(*(UINT32*)pParserTempData->pWorkingTableData->IP);
     pParserTempData->pWorkingTableData->IP+=sizeof(UINT32);
     return pParserTempData->Index;
 }
@@ -474,7 +478,7 @@ VOID ProcessMove(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
     if (pParserTempData->CD_Mask.SrcAlignment!=alignmentDword)
     {
-	pParserTempData->DestData32=GetDestination[pParserTempData->ParametersType.Destination](pParserTempData);
+				pParserTempData->DestData32=GetDestination[pParserTempData->ParametersType.Destination](pParserTempData);
     } else
     {
 	SkipDestination[pParserTempData->ParametersType.Destination](pParserTempData);
@@ -664,7 +668,8 @@ VOID ProcessSwitch(PARSER_TEMP_DATA STACK_BASED * pParserTempData){
     pParserTempData->SourceData32=GetSource[pParserTempData->ParametersType.Source](pParserTempData);
     pParserTempData->SourceData32 >>= SourceAlignmentShift[pParserTempData->CD_Mask.SrcAlignment];
     pParserTempData->SourceData32 &= AlignmentMask[pParserTempData->CD_Mask.SrcAlignment];
-    while ( *(UINT16*)pParserTempData->pWorkingTableData->IP != (((UINT16)NOP_OPCODE << 8)+NOP_OPCODE))
+
+    while ( UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP) != (((UINT16)NOP_OPCODE << 8)+NOP_OPCODE))
     {
 	if (*pParserTempData->pWorkingTableData->IP == 'c')
 	{
@@ -673,7 +678,7 @@ VOID ProcessSwitch(PARSER_TEMP_DATA STACK_BASED * pParserTempData){
 	    pParserTempData->Index=GetParametersDirect16(pParserTempData);
 	    if (pParserTempData->SourceData32 == pParserTempData->DestData32)
 	    {
-		pParserTempData->pWorkingTableData->IP= RELATIVE_TO_TABLE(pParserTempData->Index);
+ 	        pParserTempData->pWorkingTableData->IP= RELATIVE_TO_TABLE(pParserTempData->Index);
 		return;
 	    }
 	}
@@ -695,7 +700,7 @@ VOID	cmdSetDataBlock(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
         } else
 	{
 	    pMasterDataTable = GetDataMasterTablePointer(pParserTempData->pDeviceData);
-	    pParserTempData->CurrentDataBlock= (TABLE_UNIT_TYPE)((PTABLE_UNIT_TYPE)pMasterDataTable)[value];
+	    pParserTempData->CurrentDataBlock= UINT16LE_TO_CPU((TABLE_UNIT_TYPE)((PTABLE_UNIT_TYPE)pMasterDataTable)[value]);
 	}
     }
     pParserTempData->pWorkingTableData->IP+=sizeof(COMMAND_TYPE_OPCODE_VALUE_BYTE);
@@ -704,13 +709,13 @@ VOID	cmdSetDataBlock(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 VOID	cmdSet_ATI_Port(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
     pParserTempData->Multipurpose.CurrentPort=ATI_RegsPort;
-    pParserTempData->CurrentPortID = (UINT8)((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination;
+    pParserTempData->CurrentPortID = (UINT8)UINT16LE_TO_CPU(((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination);
     pParserTempData->pWorkingTableData->IP+=sizeof(COMMAND_TYPE_OPCODE_OFFSET16);
 }
 
 VOID	cmdSet_Reg_Block(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
-    pParserTempData->CurrentRegBlock = ((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination;
+    pParserTempData->CurrentRegBlock = UINT16LE_TO_CPU(((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination);
     pParserTempData->pWorkingTableData->IP+=sizeof(COMMAND_TYPE_OPCODE_OFFSET16);
 }
 
@@ -754,19 +759,23 @@ VOID ProcessDebug(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 
 VOID ProcessDS(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 {
-    pParserTempData->pWorkingTableData->IP+=((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination+sizeof(COMMAND_TYPE_OPCODE_OFFSET16);
+    pParserTempData->pWorkingTableData->IP+=UINT16LE_TO_CPU(((COMMAND_TYPE_1*)pParserTempData->pWorkingTableData->IP)->Parameters.WordXX.PA_Destination)+sizeof(COMMAND_TYPE_OPCODE_OFFSET16);
 }
 
 
-VOID	cmdCall_Table(PARSER_TEMP_DATA STACK_BASED * pParserTempData){
+VOID	cmdCall_Table(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
+{
     UINT16*	MasterTableOffset;
     pParserTempData->pWorkingTableData->IP+=sizeof(COMMAND_TYPE_OPCODE_VALUE_BYTE);
     MasterTableOffset = GetCommandMasterTablePointer(pParserTempData->pDeviceData);
     if(((PTABLE_UNIT_TYPE)MasterTableOffset)[((COMMAND_TYPE_OPCODE_VALUE_BYTE*)pParserTempData->pCmd)->Value]!=0 )  // if the offset is not ZERO
     {
+	ATOM_TABLE_ATTRIBUTE lTableAttr;
+
 	pParserTempData->CommandSpecific.IndexInMasterTable=GetTrueIndexInMasterTable(pParserTempData,((COMMAND_TYPE_OPCODE_VALUE_BYTE*)pParserTempData->pCmd)->Value);
-	pParserTempData->Multipurpose.PS_SizeInDwordsUsedByCallingTable =
-	    (((ATOM_COMMON_ROM_COMMAND_TABLE_HEADER *)pParserTempData->pWorkingTableData->pTableHead)->TableAttribute.PS_SizeInBytes>>2);
+
+	lTableAttr = GetCommandTableAttribute(pParserTempData->pWorkingTableData->pTableHead);
+	pParserTempData->Multipurpose.PS_SizeInDwordsUsedByCallingTable = (lTableAttr.PS_SizeInBytes >>2);
 	pParserTempData->pDeviceData->pParameterSpace+=
 	    pParserTempData->Multipurpose.PS_SizeInDwordsUsedByCallingTable;
 	pParserTempData->Status=CD_CALL_TABLE;
@@ -792,7 +801,7 @@ VOID ProcessJump(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 	(pParserTempData->ParametersType.Destination == pParserTempData->CompareFlags ))
     {
 
-	pParserTempData->pWorkingTableData->IP= RELATIVE_TO_TABLE(((COMMAND_TYPE_OPCODE_OFFSET16*)pParserTempData->pWorkingTableData->IP)->CD_Offset16);
+      pParserTempData->pWorkingTableData->IP= RELATIVE_TO_TABLE(UINT16LE_TO_CPU(((COMMAND_TYPE_OPCODE_OFFSET16*)pParserTempData->pWorkingTableData->IP)->CD_Offset16));
     } else
     {
 	pParserTempData->pWorkingTableData->IP+=sizeof(COMMAND_TYPE_OPCODE_OFFSET16);
@@ -805,7 +814,7 @@ VOID ProcessJumpE(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
 	(pParserTempData->CompareFlags == pParserTempData->ParametersType.Destination))
     {
[...3872 lines suppressed...]
+	    m = NTSC_TV_PLL_M_27;
+	    n = NTSC_TV_PLL_N_27;
+	    p = NTSC_TV_PLL_P_27;
+	} else {
+	    m = NTSC_TV_PLL_M_14;
+	    n = NTSC_TV_PLL_N_14;
+	    p = NTSC_TV_PLL_P_14;
+	}
+    } else {
+	if (pll->reference_freq == 2700) {
+	    m = PAL_TV_PLL_M_27;
+	    n = PAL_TV_PLL_N_27;
+	    p = PAL_TV_PLL_P_27;
+	} else {
+	    /* FIXME */
+	    m = PAL_TV_PLL_M_27;
+	    n = PAL_TV_PLL_N_27;
+	    p = PAL_TV_PLL_P_27;
+	}
+    }
+    save->tv_pll_cntl = (m & RADEON_TV_M0LO_MASK) |
+	(((m >> 8) & RADEON_TV_M0HI_MASK) << RADEON_TV_M0HI_SHIFT) |
+	((n & RADEON_TV_N0LO_MASK) << RADEON_TV_N0LO_SHIFT) |
+	(((n >> 9) & RADEON_TV_N0HI_MASK) << RADEON_TV_N0HI_SHIFT) |
+	((p & RADEON_TV_P_MASK) << RADEON_TV_P_SHIFT);
 
     save->tv_pll_cntl1 =  (((4 & RADEON_TVPCP_MASK)<< RADEON_TVPCP_SHIFT) |
 			   ((4 & RADEON_TVPVG_MASK) << RADEON_TVPVG_SHIFT) |
@@ -999,14 +1049,23 @@ void RADEONAdjustCrtcRegistersForTV(ScrnInfoPtr pScrn, RADEONSavePtr save,
 {
     const TVModeConstants *constPtr;
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
+    RADEONPLLPtr pll = &info->pll;
 
     /* FIXME: need to revisit this when we add more modes */
     if (radeon_output->tvStd == TV_STD_NTSC ||
 	radeon_output->tvStd == TV_STD_NTSC_J ||
-        radeon_output->tvStd == TV_STD_PAL_M)
-	constPtr = &availableTVModes[0];
-    else
-	constPtr = &availableTVModes[1];
+	radeon_output->tvStd == TV_STD_PAL_M) {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[0];
+	else
+	    constPtr = &availableTVModes[2];
+    } else {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[1];
+	else
+	    constPtr = &availableTVModes[1]; /* FIXME */
+    }
 
     save->crtc_h_total_disp = (((constPtr->horResolution / 8) - 1) << RADEON_CRTC_H_DISP_SHIFT) |
 	(((constPtr->horTotal / 8) - 1) << RADEON_CRTC_H_TOTAL_SHIFT);
@@ -1030,14 +1089,23 @@ void RADEONAdjustPLLRegistersForTV(ScrnInfoPtr pScrn, RADEONSavePtr save,
     unsigned postDiv;
     const TVModeConstants *constPtr;
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
+    RADEONPLLPtr pll = &info->pll;
 
     /* FIXME: need to revisit this when we add more modes */
     if (radeon_output->tvStd == TV_STD_NTSC ||
 	radeon_output->tvStd == TV_STD_NTSC_J ||
-        radeon_output->tvStd == TV_STD_PAL_M)
-	constPtr = &availableTVModes[0];
-    else
-	constPtr = &availableTVModes[1];
+	radeon_output->tvStd == TV_STD_PAL_M) {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[0];
+	else
+	    constPtr = &availableTVModes[2];
+    } else {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[1];
+	else
+	    constPtr = &availableTVModes[1]; /* FIXME */
+    }
 
     save->htotal_cntl = (constPtr->horTotal & 0x7 /*0xf*/) | RADEON_HTOT_CNTL_VGA_EN;
 
@@ -1083,14 +1151,23 @@ void RADEONAdjustCrtc2RegistersForTV(ScrnInfoPtr pScrn, RADEONSavePtr save,
 {
     const TVModeConstants *constPtr;
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
+    RADEONPLLPtr pll = &info->pll;
 
     /* FIXME: need to revisit this when we add more modes */
     if (radeon_output->tvStd == TV_STD_NTSC ||
 	radeon_output->tvStd == TV_STD_NTSC_J ||
-        radeon_output->tvStd == TV_STD_PAL_M)
-	constPtr = &availableTVModes[0];
-    else
-	constPtr = &availableTVModes[1];
+	radeon_output->tvStd == TV_STD_PAL_M) {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[0];
+	else
+	    constPtr = &availableTVModes[2];
+    } else {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[1];
+	else
+	    constPtr = &availableTVModes[1]; /* FIXME */
+    }
 
     save->crtc2_h_total_disp = (((constPtr->horResolution / 8) - 1) << RADEON_CRTC_H_DISP_SHIFT) |
 	(((constPtr->horTotal / 8) - 1) << RADEON_CRTC_H_TOTAL_SHIFT);
@@ -1114,14 +1191,23 @@ void RADEONAdjustPLL2RegistersForTV(ScrnInfoPtr pScrn, RADEONSavePtr save,
     unsigned postDiv;
     const TVModeConstants *constPtr;
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
+    RADEONPLLPtr pll = &info->pll;
 
     /* FIXME: need to revisit this when we add more modes */
     if (radeon_output->tvStd == TV_STD_NTSC ||
 	radeon_output->tvStd == TV_STD_NTSC_J ||
-        radeon_output->tvStd == TV_STD_PAL_M)
-	constPtr = &availableTVModes[0];
-    else
-	constPtr = &availableTVModes[1];
+	radeon_output->tvStd == TV_STD_PAL_M) {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[0];
+	else
+	    constPtr = &availableTVModes[2];
+    } else {
+	if (pll->reference_freq == 2700)
+	    constPtr = &availableTVModes[1];
+	else
+	    constPtr = &availableTVModes[1]; /* FIXME */
+    }
 
     save->htotal_cntl2 = (constPtr->horTotal & 0x7); /* 0xf */
 
diff --git a/src/radeon_tv.h b/src/radeon_tv.h
index c4b7838..8d77a77 100644
--- a/src/radeon_tv.h
+++ b/src/radeon_tv.h
@@ -27,24 +27,31 @@
 #define MAX_H_SIZE 5 /* Range: [-5..5], negative is smaller, positive is larger */
 
 /* tv standard constants */
-#define NTSC_TV_PLL_M 22
-#define NTSC_TV_PLL_N 175
-#define NTSC_TV_PLL_P 5
 #define NTSC_TV_CLOCK_T 233
 #define NTSC_TV_VFTOTAL 1
 #define NTSC_TV_LINES_PER_FRAME 525
 #define NTSC_TV_ZERO_H_SIZE 479166
 #define NTSC_TV_H_SIZE_UNIT 9478
 
-#define PAL_TV_PLL_M 113
-#define PAL_TV_PLL_N 668
-#define PAL_TV_PLL_P 3
 #define PAL_TV_CLOCK_T 188
 #define PAL_TV_VFTOTAL 3
 #define PAL_TV_LINES_PER_FRAME 625
 #define PAL_TV_ZERO_H_SIZE 473200
 #define PAL_TV_H_SIZE_UNIT 9360
 
+/* tv pll setting for 27 mhz ref clk */
+#define NTSC_TV_PLL_M_27 22
+#define NTSC_TV_PLL_N_27 175
+#define NTSC_TV_PLL_P_27 5
+
+#define PAL_TV_PLL_M_27 113
+#define PAL_TV_PLL_N_27 668
+#define PAL_TV_PLL_P_27 3
+
+/* tv pll setting for 14 mhz ref clk */
+#define NTSC_TV_PLL_M_14 33
+#define NTSC_TV_PLL_N_14 693
+#define NTSC_TV_PLL_P_14 7
 
 #define VERT_LEAD_IN_LINES 2
 #define FRAC_BITS 0xe
diff --git a/src/radeon_version.h b/src/radeon_version.h
index ccc1367..5717ead 100644
--- a/src/radeon_version.h
+++ b/src/radeon_version.h
@@ -39,10 +39,9 @@
 #define R200_DRIVER_NAME     "r200"
 #define R300_DRIVER_NAME     "r300"
 
-#define RADEON_VERSION_MAJOR 4
-#define RADEON_VERSION_MAJOR_TILED 5
-#define RADEON_VERSION_MINOR 3
-#define RADEON_VERSION_PATCH 0
+#define RADEON_VERSION_MAJOR PACKAGE_VERSION_MAJOR
+#define RADEON_VERSION_MINOR PACKAGE_VERSION_MINOR
+#define RADEON_VERSION_PATCH PACKAGE_VERSION_PATCHLEVEL
 
 #ifndef RADEON_VERSION_EXTRA
 #define RADEON_VERSION_EXTRA ""


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/.cvsignore,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- .cvsignore	19 Feb 2008 09:28:20 -0000	1.23
+++ .cvsignore	11 Aug 2008 04:14:20 -0000	1.24
@@ -1 +1 @@
-xf86-video-ati-6.8.0.tar.bz2
+xf86-video-ati-6.9.0.tar.bz2

radeon-modeset.patch:

Index: radeon-modeset.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/radeon-modeset.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- radeon-modeset.patch	6 Aug 2008 03:38:48 -0000	1.6
+++ radeon-modeset.patch	11 Aug 2008 04:14:20 -0000	1.7
@@ -807,7 +807,7 @@
 +#endif
 +#endif
 diff --git a/src/radeon.h b/src/radeon.h
-index 8f25fdf..c766d79 100644
+index 63655b8..bcca356 100644
 --- a/src/radeon.h
 +++ b/src/radeon.h
 @@ -46,6 +46,8 @@
@@ -923,7 +923,7 @@
  } RADEONInfoRec, *RADEONInfoPtr;
  
  #define RADEONWaitForFifo(pScrn, entries)				\
-@@ -1033,6 +1095,21 @@ extern void RADEONUpdateHVPosition(xf86OutputPtr output, DisplayModePtr mode);
+@@ -1036,6 +1098,21 @@ extern void RADEONUpdateHVPosition(xf86OutputPtr output, DisplayModePtr mode);
  extern void RADEONInitVideo(ScreenPtr pScreen);
  extern void RADEONResetVideo(ScrnInfoPtr pScrn);
  
@@ -945,7 +945,7 @@
  #ifdef XF86DRI
  #  ifdef USE_XAA
  /* radeon_accelfuncs.c */
-@@ -1051,7 +1128,9 @@ do {									\
+@@ -1054,7 +1131,9 @@ do {									\
  
  #define RADEONCP_RELEASE(pScrn, info)					\
  do {									\
@@ -956,7 +956,7 @@
  	RADEON_PURGE_CACHE();						\
  	RADEON_WAIT_UNTIL_IDLE();					\
  	RADEONCPReleaseIndirect(pScrn);					\
-@@ -1085,7 +1164,7 @@ do {									\
+@@ -1088,7 +1167,7 @@ do {									\
  
  #define RADEONCP_REFRESH(pScrn, info)					\
  do {									\
@@ -965,7 +965,7 @@
  	if (info->needCacheFlush) {					\
  	    RADEON_PURGE_CACHE();					\
  	    RADEON_PURGE_ZCACHE();					\
-@@ -1124,6 +1203,13 @@ do {									\
+@@ -1127,6 +1206,13 @@ do {									\
  #define RING_LOCALS	uint32_t *__head = NULL; int __expected; int __count = 0
  
  #define BEGIN_RING(n) do {						\
@@ -979,7 +979,7 @@
      if (RADEON_VERBOSE) {						\
  	xf86DrvMsg(pScrn->scrnIndex, X_INFO,				\
  		   "BEGIN_RING(%d) in %s\n", (unsigned int)n, __FUNCTION__);\
-@@ -1136,13 +1222,6 @@ do {									\
+@@ -1139,13 +1225,6 @@ do {									\
      }									\
      info->dma_debug_func = __FILE__;					\
      info->dma_debug_lineno = __LINE__;					\
@@ -993,7 +993,7 @@
      __expected = n;							\
      __head = (pointer)((char *)info->indirectBuffer->address +		\
  		       info->indirectBuffer->used);			\
-@@ -1185,6 +1264,17 @@ do {									\
+@@ -1188,6 +1267,17 @@ do {									\
      OUT_RING(val);							\
  } while (0)
  
@@ -2248,7 +2248,7 @@
 +
 +}
 diff --git a/src/radeon_driver.c b/src/radeon_driver.c
-index 010f1b9..fa0befa 100644
+index 45d2c2f..bfb3c54 100644
 --- a/src/radeon_driver.c
 +++ b/src/radeon_driver.c
 @@ -1621,7 +1621,10 @@ static Bool RADEONPreInitVRAM(ScrnInfoPtr pScrn)
@@ -2804,8 +2804,7 @@
 -      goto fail;
 -   }
 +	info->drmmode.create_new_fb = radeon_create_new_fb;
- 
--    ErrorF("after xf86InitialConfiguration\n");
++
 +	info->drmFD = info->drmmode.fd;
 +	xfree(bus_id);
 +	 
@@ -2824,7 +2823,8 @@
 +	    {
 +		drmRadeonGetParam gp;
 +		int value;
-+
+ 
+-    ErrorF("after xf86InitialConfiguration\n");
 +		memset(&gp, 0, sizeof(gp));
 +		gp.param = RADEON_PARAM_FB_LOCATION;
 +		gp.value = &value;
@@ -3109,51 +3109,18 @@
  	}
  	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Direct rendering enabled\n");
  
-@@ -5392,73 +5538,83 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+@@ -5390,7 +5536,8 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
      xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
  		   "RADEONEnterVT\n");
  
--    if (info->ChipFamily >= CHIP_FAMILY_R600)
--	mem_size = INREG(R600_CONFIG_MEMSIZE);
--    else
--	mem_size = INREG(RADEON_CONFIG_MEMSIZE);
--
--    if (mem_size == 0) { /* Softboot V_BIOS */
--	if (info->IsAtomBios) {
--	    rhdAtomASICInit(info->atomBIOS);
-+    if (!info->drm_mode_setting) {
-+	if (info->ChipFamily >= CHIP_FAMILY_R600)
-+	    mem_size = INREG(R600_CONFIG_MEMSIZE);
-+	else
-+	    mem_size = INREG(RADEON_CONFIG_MEMSIZE);
-+	
-+	if (mem_size == 0) { /* Softboot V_BIOS */
-+	    if (info->IsAtomBios) {
-+		rhdAtomASICInit(info->atomBIOS);
+-    if (!radeon_card_posted(pScrn)) { /* Softboot V_BIOS */
++    /* Softboot V_BIOS */
++    if (!info->drm_mode_setting && !radeon_card_posted(pScrn)) {
+ 	if (info->IsAtomBios) {
+ 	    rhdAtomASICInit(info->atomBIOS);
  	} else {
--	    xf86Int10InfoPtr pInt;
--	    xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
--		       "zero MEMSIZE, probably at D3cold. Re-POSTing via int10.\n");
--	    pInt = xf86InitInt10 (info->pEnt->index);
--	    if (pInt) {
--		pInt->num = 0xe6;
--		xf86ExecX86int10 (pInt);
--		xf86FreeInt10 (pInt);
--	    } else {
--		RADEONGetBIOSInitTableOffsets(pScrn);
--		RADEONPostCardFromBIOSTables(pScrn);
-+		xf86Int10InfoPtr pInt;
-+		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-+			   "zero MEMSIZE, probably at D3cold. Re-POSTing via int10.\n");
-+		pInt = xf86InitInt10 (info->pEnt->index);
-+		if (pInt) {
-+		    pInt->num = 0xe6;
-+		    xf86ExecX86int10 (pInt);
-+		    xf86FreeInt10 (pInt);
-+		} else {
-+		    RADEONGetBIOSInitTableOffsets(pScrn);
-+		    RADEONPostCardFromBIOSTables(pScrn);
-+		}
+@@ -5406,51 +5553,59 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+ 		RADEONPostCardFromBIOSTables(pScrn);
  	    }
  	}
 -    }
@@ -3245,7 +3212,7 @@
      }
  #endif
      /* this will get XVideo going again, but only if XVideo was initialised
-@@ -5470,7 +5626,7 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+@@ -5462,7 +5617,7 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
  	RADEONEngineRestore(pScrn);
  
  #ifdef XF86DRI
@@ -3254,7 +3221,7 @@
  	RADEONCP_START(pScrn, info);
  	DRIUnlock(pScrn->pScreen);
      }
-@@ -5493,24 +5649,26 @@ void RADEONLeaveVT(int scrnIndex, int flags)
+@@ -5485,24 +5640,26 @@ void RADEONLeaveVT(int scrnIndex, int flags)
  		   "RADEONLeaveVT\n");
  #ifdef XF86DRI
      if (RADEONPTR(pScrn)->directRenderingInited) {
@@ -3294,7 +3261,7 @@
  
  	    i = 0;
  
-@@ -5539,10 +5697,15 @@ void RADEONLeaveVT(int scrnIndex, int flags)
+@@ -5531,10 +5688,15 @@ void RADEONLeaveVT(int scrnIndex, int flags)
  
      xf86_hide_cursors (pScrn);
  
@@ -3313,7 +3280,7 @@
  
      xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
  		   "Ok, leaving now...\n");
-@@ -5587,7 +5750,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -5579,7 +5741,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
  #endif /* USE_XAA */
  
      if (pScrn->vtSema) {
@@ -3323,7 +3290,7 @@
      }
  
      xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
-@@ -5622,6 +5786,12 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -5614,6 +5777,12 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
      info->DGAModes = NULL;
      xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
  		   "Unmapping memory\n");
@@ -3925,7 +3892,7 @@
  		) {
  		xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Render acceleration "
 diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
-index 4736e4f..fe9d1a9 100644
+index 5d28d80..1c4b92c 100644
 --- a/src/radeon_exa_render.c
 +++ b/src/radeon_exa_render.c
 @@ -410,19 +410,22 @@ static Bool FUNC_NAME(R100TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
@@ -4456,11 +4423,11 @@
 +
 +
 diff --git a/src/radeon_probe.h b/src/radeon_probe.h
-index 944ab9f..59f7f95 100644
+index 3770abf..e14c280 100644
 --- a/src/radeon_probe.h
 +++ b/src/radeon_probe.h
-@@ -178,6 +178,26 @@ typedef struct
-     uint32_t get_data_mask;
+@@ -182,6 +182,26 @@ typedef struct
+     uint32_t a_data_mask;
  } RADEONI2CBusRec, *RADEONI2CBusPtr;
  
 +struct radeon_memory {
@@ -4486,7 +4453,7 @@
  typedef struct _RADEONCrtcPrivateRec {
  #ifdef USE_XAA
      FBLinearPtr rotate_mem_xaa;
-@@ -194,6 +214,8 @@ typedef struct _RADEONCrtcPrivateRec {
+@@ -198,6 +218,8 @@ typedef struct _RADEONCrtcPrivateRec {
      uint32_t crtc_offset;
      int can_tile;
      Bool enabled;
@@ -4577,7 +4544,7 @@
      else
  #endif
 diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c
-index 98dc9a4..ad8136d 100644
+index d39f74d..aaf54a0 100644
 --- a/src/radeon_textured_videofuncs.c
 +++ b/src/radeon_textured_videofuncs.c
 @@ -82,19 +82,19 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/sources,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- sources	19 Feb 2008 09:28:20 -0000	1.23
+++ sources	11 Aug 2008 04:14:20 -0000	1.24
@@ -1 +1 @@
-3c97c7925ebf4162eeb3463e23adc0e3  xf86-video-ati-6.8.0.tar.bz2
+afa4873f58ae6fa31fedeb9ed31531db  xf86-video-ati-6.9.0.tar.bz2


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.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- xorg-x11-drv-ati.spec	6 Aug 2008 03:40:21 -0000	1.96
+++ xorg-x11-drv-ati.spec	11 Aug 2008 04:14:20 -0000	1.97
@@ -4,31 +4,18 @@
 
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
-Version:   6.8.0
-Release:   21%{?dist}
+Version:   6.9.0
+Release:   1%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-Source0:   ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
-Source1:   ati.xinf
-Source2:   r128.xinf
+Source0:   http://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
 Source3:   radeon.xinf
 
-# Radeon patches (0-99)
-Patch1:     radeon-git-upstream-fixes.patch
-Patch2:     radeon-git-upstream-fixes2.patch
+Patch0:	    radeon-6.9.0-to-git.patch
 Patch3:     radeon-modeset.patch
-Patch4:     radeon-6.7.196-faster-ddc.patch
-
-# Rage 128 patches (100-199)
-Patch100: r128-bios-size.patch
-
-# mach64 patches (200-299)
-Patch200: mach64-ia64-pagesize.patch
-
-# ati wrapperloader patches (300-399)
 
 ExcludeArch: s390 s390x
 
@@ -47,14 +34,8 @@
 
 %prep
 %setup -q -n %{tarball}-%{version}
-
-%patch1 -p1 -b .git
-%patch2 -p1 -b .git2
+%patch0 -p1 -b .git
 %patch3 -p1 -b .modeset
-#patch4 -p1 -b .ddc
-
-%patch100 -p1 -b .r128-bios
-%patch200 -p1 -b .mach64-ia64
 
 %build
 autoreconf
@@ -78,22 +59,20 @@
 
 %files
 %defattr(-,root,root,-)
-%doc README.ati README.r128
 %{driverdir}/ati_drv.so
-%{driverdir}/mach64_drv.so
-%{driverdir}/r128_drv.so
 %{driverdir}/radeon_drv.so
-%{_datadir}/hwdata/videoaliases/ati.xinf
-%{_datadir}/hwdata/videoaliases/r128.xinf
 %{_datadir}/hwdata/videoaliases/radeon.xinf
 %{moduledir}/multimedia/theatre200_drv.so
 %{moduledir}/multimedia/theatre_detect_drv.so
 %{moduledir}/multimedia/theatre_drv.so
-%{_mandir}/man4/ati.4*
-%{_mandir}/man4/r128.4*
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Sun Aug 10 2008 Adam Jackson <ajax at redhat.com> 6.9.0-1
+- Move to 6.9.0, now that the r128 and mach64 drivers are split out.
+- Add git fixes since 6.9.0.
+- Rebase the modesetting patch onto git master.
+
 * Wed Aug 06 2008 Dave Airlie <airlied at redhat.com> 6.8.0-21
 - bunch of fixes to modesetting code + remove debugging.
 


--- ati.xinf DELETED ---


--- mach64-ia64-pagesize.patch DELETED ---


--- r128-bios-size.patch DELETED ---


--- r128.xinf DELETED ---


--- radeon-6.7.196-faster-ddc.patch DELETED ---


--- radeon-git-upstream-fixes.patch DELETED ---


--- radeon-git-upstream-fixes2.patch DELETED ---




More information about the fedora-extras-commits mailing list