summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ast.h74
-rw-r--r--src/ast_2dtool.c258
-rw-r--r--src/ast_2dtool.h146
-rw-r--r--src/ast_accel.c986
-rw-r--r--src/ast_cursor.c256
-rw-r--r--src/ast_driver.c718
-rw-r--r--src/ast_mode.c888
-rw-r--r--src/ast_mode.h22
-rw-r--r--src/ast_pcirename.h2
-rw-r--r--src/ast_tool.c20
-rw-r--r--src/ast_vgatool.c996
11 files changed, 2183 insertions, 2183 deletions
diff --git a/src/ast.h b/src/ast.h
index 676b930..294801e 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -40,11 +40,11 @@
/* Vendor & Device Info */
#ifndef PCI_VENDOR_AST
-#define PCI_VENDOR_AST 0x1A03
-#endif
+#define PCI_VENDOR_AST 0x1A03
+#endif
#ifndef PCI_CHIP_AST2000
-#define PCI_CHIP_AST2000 0x2000
+#define PCI_CHIP_AST2000 0x2000
#endif
#ifndef PCI_CHIP_AST2100
@@ -94,18 +94,18 @@ typedef CARD32 ULONG;
/* Data Structure Definition */
typedef struct _ASTRegRec {
-
+
UCHAR ExtCRTC[0x50];
- UCHAR MISC;
+ UCHAR MISC;
UCHAR SEQ[4];
UCHAR CRTC[25];
- UCHAR AR[20];
+ UCHAR AR[20];
UCHAR GR[9];
UCHAR DAC[256][3];
-
+
ULONG GFX[12];
-
+
} ASTRegRec, *ASTRegPtr;
typedef struct _VIDEOMODE {
@@ -114,30 +114,30 @@ typedef struct _VIDEOMODE {
int ScreenHeight;
int bitsPerPixel;
int ScreenPitch;
-
+
} VIDEOMODE, *PVIDEOMODE;
typedef struct {
ULONG ulCMDQSize;
ULONG ulCMDQType;
-
+
ULONG ulCMDQOffsetAddr;
UCHAR *pjCMDQVirtualAddr;
-
+
UCHAR *pjCmdQBasePort;
- UCHAR *pjWritePort;
- UCHAR *pjReadPort;
+ UCHAR *pjWritePort;
+ UCHAR *pjReadPort;
UCHAR *pjEngStatePort;
-
+
ULONG ulCMDQMask;
ULONG ulCurCMDQueueLen;
-
+
ULONG ulWritePointer;
ULONG ulReadPointer;
-
+
ULONG ulReadPointer_OK; /* for Eng_DBGChk */
-
+
} CMDQINFO, *PCMDQINFO;
typedef struct {
@@ -147,17 +147,17 @@ typedef struct {
ULONG ulHWCOffsetAddr;
UCHAR *pjHWCVirtualAddr;
-
+
USHORT cursortype;
USHORT width;
- USHORT height;
+ USHORT height;
USHORT offset_x;
USHORT offset_y;
ULONG fg;
ULONG bg;
- UCHAR cursorpattern[1024];
-
+ UCHAR cursorpattern[1024];
+
} HWCINFO, *PHWCINFO;
typedef struct _ASTPortPrivRec{
@@ -177,7 +177,7 @@ typedef struct _ASTPortPrivRec{
INT32 contrast;
INT32 saturation;
INT32 hue;
-
+
INT32 gammaR;
INT32 gammaG;
INT32 gammaB;
@@ -188,7 +188,7 @@ typedef struct _ASTPortPrivRec{
CARD32 videoStatus;
Time offTime;
Time freeTime;
-
+
CARD32 displayMode;
int pitch;
@@ -196,9 +196,9 @@ typedef struct _ASTPortPrivRec{
} ASTPortPrivRec, *ASTPortPrivPtr;
typedef struct _ASTRec {
-
+
EntityInfoPtr pEnt;
-#ifndef XSERVER_LIBPCIACCESS
+#ifndef XSERVER_LIBPCIACCESS
pciVideoPtr PciInfo;
PCITAG PciTag;
#else
@@ -206,13 +206,13 @@ typedef struct _ASTRec {
#endif
OptionInfoPtr Options;
- DisplayModePtr ModePtr;
- FBLinearPtr pCMDQPtr;
+ DisplayModePtr ModePtr;
+ FBLinearPtr pCMDQPtr;
#ifdef HAVE_XAA_H
XAAInfoRecPtr AccelInfoPtr;
#endif
xf86CursorInfoPtr HWCInfoPtr;
- FBLinearPtr pHWCPtr;
+ FBLinearPtr pHWCPtr;
CloseScreenProcPtr CloseScreen;
ScreenBlockHandlerProcPtr BlockHandler;
@@ -224,7 +224,7 @@ typedef struct _ASTRec {
ULONG ulVRAMSize;
ULONG ulVRAMBase;
ULONG ulMCLK;
-
+
Bool noAccel;
Bool noHWC;
Bool MMIO2D;
@@ -232,32 +232,32 @@ typedef struct _ASTRec {
int DBGSelect;
Bool VGA2Clone;
Bool SupportWideScreen;
-
+
ULONG FBPhysAddr; /* Frame buffer physical address */
ULONG MMIOPhysAddr; /* MMIO region physical address */
ULONG BIOSPhysAddr; /* BIOS physical address */
-
+
UCHAR *FBVirtualAddr; /* Map of frame buffer */
UCHAR *MMIOVirtualAddr; /* Map of MMIO region */
unsigned long FbMapSize;
unsigned long MMIOMapSize;
-
+
IOADDRESS IODBase; /* Base of PIO memory area */
IOADDRESS PIOOffset;
IOADDRESS RelocateIO;
-
+
VIDEOMODE VideoModeInfo;
ASTRegRec SavedReg;
CMDQINFO CMDQInfo;
HWCINFO HWCInfo;
- ULONG ulCMDReg;
+ ULONG ulCMDReg;
Bool EnableClip;
- int clip_left;
+ int clip_left;
int clip_top;
- int clip_right;
- int clip_bottom;
+ int clip_right;
+ int clip_bottom;
int mon_h_active; /* Monitor Info. */
int mon_v_active;
diff --git a/src/ast_2dtool.c b/src/ast_2dtool.c
index 684e400..73c9b37 100644
--- a/src/ast_2dtool.c
+++ b/src/ast_2dtool.c
@@ -59,7 +59,7 @@ Bool bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST);
Bool bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST);
Bool bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST);
-void vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST);
+void vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST);
UCHAR *pjRequestCMDQ(ASTRecPtr pAST, ULONG ulDataLen);
Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);
@@ -69,51 +69,51 @@ bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST)
ScreenPtr pScreen;
- pAST->CMDQInfo.pjCmdQBasePort = pAST->MMIOVirtualAddr+ 0x8044;
+ pAST->CMDQInfo.pjCmdQBasePort = pAST->MMIOVirtualAddr+ 0x8044;
pAST->CMDQInfo.pjWritePort = pAST->MMIOVirtualAddr+ 0x8048;
pAST->CMDQInfo.pjReadPort = pAST->MMIOVirtualAddr+ 0x804C;
pAST->CMDQInfo.pjEngStatePort = pAST->MMIOVirtualAddr+ 0x804C;
/* CMDQ mode Init */
if (!pAST->MMIO2D) {
- pAST->CMDQInfo.ulCMDQType = VM_CMD_QUEUE;
-
+ pAST->CMDQInfo.ulCMDQType = VM_CMD_QUEUE;
+
pScreen = xf86ScrnToScreen(pScrn);
-
+
do {
pAST->pCMDQPtr = xf86AllocateOffscreenLinear (pScreen, pAST->CMDQInfo.ulCMDQSize, 8, NULL, NULL, NULL);
-
+
if (pAST->pCMDQPtr) break;
-
+
pAST->CMDQInfo.ulCMDQSize >>= 1;
-
+
} while (pAST->CMDQInfo.ulCMDQSize >= MIN_CMDQ_SIZE);
-
+
if (pAST->pCMDQPtr)
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Allocate CMDQ size is %ld kbyte \n", (unsigned long) (pAST->CMDQInfo.ulCMDQSize/1024));
-
+
pAST->CMDQInfo.ulCMDQOffsetAddr = pAST->pCMDQPtr->offset*((pScrn->bitsPerPixel + 1) / 8);
pAST->CMDQInfo.pjCMDQVirtualAddr = pAST->FBVirtualAddr + pAST->CMDQInfo.ulCMDQOffsetAddr;
-
+
pAST->CMDQInfo.ulCurCMDQueueLen = pAST->CMDQInfo.ulCMDQSize - CMD_QUEUE_GUARD_BAND;
- pAST->CMDQInfo.ulCMDQMask = pAST->CMDQInfo.ulCMDQSize - 1 ;
-
- }
+ pAST->CMDQInfo.ulCMDQMask = pAST->CMDQInfo.ulCMDQSize - 1 ;
+
+ }
else
- {
+ {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Allocate CMDQ failed \n");
pAST->MMIO2D = TRUE; /* set to MMIO mode if CMDQ allocate failed */
- }
-
+ }
+
}
-
- /* MMIO mode init */
- if (pAST->MMIO2D) {
- pAST->CMDQInfo.ulCMDQType = VM_CMD_MMIO;
+
+ /* MMIO mode init */
+ if (pAST->MMIO2D) {
+ pAST->CMDQInfo.ulCMDQType = VM_CMD_MMIO;
}
-
- return (TRUE);
+
+ return (TRUE);
}
Bool
@@ -121,65 +121,65 @@ bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulVMCmdQBasePort = 0;
- vWaitEngIdle(pScrn, pAST);
+ vWaitEngIdle(pScrn, pAST);
/* set DBG Select Info */
if (pAST->DBGSelect)
{
- *(ULONG *) (pAST->MMIOVirtualAddr + 0x804C) = (ULONG) (pAST->DBGSelect);
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x804C) = (ULONG) (pAST->DBGSelect);
}
-
+
/* set CMDQ base */
switch (pAST->CMDQInfo.ulCMDQType)
{
case VM_CMD_QUEUE:
ulVMCmdQBasePort = (pAST->CMDQInfo.ulCMDQOffsetAddr - 0) >> 3;
-
+
/* set CMDQ Threshold */
- ulVMCmdQBasePort |= 0xF0000000;
+ ulVMCmdQBasePort |= 0xF0000000;
/* set CMDQ Size */
switch (pAST->CMDQInfo.ulCMDQSize)
{
case CMD_QUEUE_SIZE_256K:
- ulVMCmdQBasePort |= 0x00000000;
+ ulVMCmdQBasePort |= 0x00000000;
break;
-
+
case CMD_QUEUE_SIZE_512K:
- ulVMCmdQBasePort |= 0x04000000;
+ ulVMCmdQBasePort |= 0x04000000;
break;
-
+
case CMD_QUEUE_SIZE_1M:
- ulVMCmdQBasePort |= 0x08000000;
+ ulVMCmdQBasePort |= 0x08000000;
break;
-
+
case CMD_QUEUE_SIZE_2M:
- ulVMCmdQBasePort |= 0x0C000000;
- break;
-
+ ulVMCmdQBasePort |= 0x0C000000;
+ break;
+
default:
return(FALSE);
break;
- }
-
- *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
+ }
+
+ *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
pAST->CMDQInfo.ulWritePointer = *(ULONG *) (pAST->CMDQInfo.pjWritePort) << 3;
break;
-
+
case VM_CMD_MMIO:
/* set CMDQ Threshold */
- ulVMCmdQBasePort |= 0xF0000000;
-
+ ulVMCmdQBasePort |= 0xF0000000;
+
ulVMCmdQBasePort |= 0x02000000; /* MMIO mode */
- *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
+ *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
break;
-
+
default:
return (FALSE);
break;
}
- return (TRUE);
+ return (TRUE);
}
Bool
@@ -187,14 +187,14 @@ bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulVMCmdQBasePort = 0, ulNewModeData;
- vWaitEngIdle(pScrn, pAST);
+ vWaitEngIdle(pScrn, pAST);
/* set DBG Select Info */
if (pAST->DBGSelect)
{
- *(ULONG *) (pAST->MMIOVirtualAddr + 0x804C) = (ULONG) (pAST->DBGSelect);
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x804C) = (ULONG) (pAST->DBGSelect);
}
-
+
/* set CMDQ base */
switch (pAST->CMDQInfo.ulCMDQType)
{
@@ -205,46 +205,46 @@ bEnableCMDQ2300(ScrnInfoPtr pScrn, ASTRecPtr pAST)
switch (pAST->CMDQInfo.ulCMDQSize)
{
case CMD_QUEUE_SIZE_256K:
- ulNewModeData |= 0x00000000;
+ ulNewModeData |= 0x00000000;
break;
-
+
case CMD_QUEUE_SIZE_512K:
- ulNewModeData |= 0x00000004;
+ ulNewModeData |= 0x00000004;
break;
-
+
case CMD_QUEUE_SIZE_1M:
- ulNewModeData |= 0x00000008;
+ ulNewModeData |= 0x00000008;
break;
-
+
case CMD_QUEUE_SIZE_2M:
- ulNewModeData |= 0x0000000C;
- break;
-
+ ulNewModeData |= 0x0000000C;
+ break;
+
default:
return(FALSE);
break;
- }
+ }
*(ULONG *) (pAST->MMIOVirtualAddr + 0x8060) = ulNewModeData;
- /* Set CMDQ Base */
- ulVMCmdQBasePort = (pAST->CMDQInfo.ulCMDQOffsetAddr - 0) >> 3;
- *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
- pAST->CMDQInfo.ulWritePointer = *(ULONG *) (pAST->CMDQInfo.pjWritePort) << 3;
+ /* Set CMDQ Base */
+ ulVMCmdQBasePort = (pAST->CMDQInfo.ulCMDQOffsetAddr - 0) >> 3;
+ *(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
+ pAST->CMDQInfo.ulWritePointer = *(ULONG *) (pAST->CMDQInfo.pjWritePort) << 3;
break;
-
+
case VM_CMD_MMIO:
/* enable new CMDQ mode */
ulNewModeData = 0xc00000f2;
*(ULONG *) (pAST->MMIOVirtualAddr + 0x8060) = ulNewModeData;
break;
-
+
default:
return (FALSE);
break;
}
return (TRUE);
-
+
} /* bEnableCMDQ2300 */
Bool
@@ -252,54 +252,54 @@ bEnable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulData;
PFN_bENABLE_CMDQ pfnEnableCMDQ = bEnableCMDQ;
-
+
if (pAST->jChipType == AST2300)
pfnEnableCMDQ = bEnableCMDQ2300;
-
+
switch (pAST->jChipType)
{
case AST2100:
case AST1100:
case AST2200:
case AST2150:
- case AST2300:
+ case AST2300:
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
-
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+
ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c);
*(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c) = (ulData & 0xFFFFFFFD);
- case AST2000:
- SetIndexRegMask(CRTC_PORT, 0xA4, 0xFE, 0x01); /* enable 2D */
-
+ case AST2000:
+ SetIndexRegMask(CRTC_PORT, 0xA4, 0xFE, 0x01); /* enable 2D */
+
break;
}
-
+
if (!bInitCMDQInfo(pScrn, pAST))
{
- vDisable2D(pScrn, pAST);
+ vDisable2D(pScrn, pAST);
return (FALSE);
}
-
+
if (!pfnEnableCMDQ(pScrn, pAST))
{
- vDisable2D(pScrn, pAST);
+ vDisable2D(pScrn, pAST);
return (FALSE);
}
-
- return (TRUE);
+
+ return (TRUE);
}
void
vDisable2D(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
-
+
vWaitEngIdle(pScrn, pAST);
vWaitEngIdle(pScrn, pAST);
if (pAST->jChipType != AST1180)
- SetIndexRegMask(CRTC_PORT, 0xA4, 0xFE, 0x00);
-
+ SetIndexRegMask(CRTC_PORT, 0xA4, 0xFE, 0x00);
+
}
@@ -308,9 +308,9 @@ vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
ULONG ulEngState, ulEngState2;
UCHAR jReg;
- ULONG ulEngCheckSetting;
-
- if (pAST->MMIO2D)
+ ULONG ulEngCheckSetting;
+
+ if (pAST->MMIO2D)
ulEngCheckSetting = 0x10000000;
else
ulEngCheckSetting = 0x80000000;
@@ -319,15 +319,15 @@ vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
{
/* 2D disable if 0xA4 D[0] = 1 */
- GetIndexRegMask(CRTC_PORT, 0xA4, 0x01, jReg);
+ GetIndexRegMask(CRTC_PORT, 0xA4, 0x01, jReg);
if (!jReg) goto Exit_vWaitEngIdle;
-
+
/* 2D not work if in std. mode */
- GetIndexRegMask(CRTC_PORT, 0xA3, 0x0F, jReg);
+ GetIndexRegMask(CRTC_PORT, 0xA3, 0x0F, jReg);
if (!jReg) goto Exit_vWaitEngIdle;
}
- do
+ do
{
ulEngState = (*(volatile ULONG *)(pAST->CMDQInfo.pjEngStatePort)) & 0xFFFC0000;
ulEngState2 = (*(volatile ULONG *)(pAST->CMDQInfo.pjEngStatePort)) & 0xFFFC0000;
@@ -335,25 +335,25 @@ vWaitEngIdle(ScrnInfoPtr pScrn, ASTRecPtr pAST)
ulEngState2 = (*(volatile ULONG *)(pAST->CMDQInfo.pjEngStatePort)) & 0xFFFC0000;
ulEngState2 = (*(volatile ULONG *)(pAST->CMDQInfo.pjEngStatePort)) & 0xFFFC0000;
ulEngState2 = (*(volatile ULONG *)(pAST->CMDQInfo.pjEngStatePort)) & 0xFFFC0000;
-
+
} while ((ulEngState & ulEngCheckSetting) || (ulEngState != ulEngState2));
-
+
Exit_vWaitEngIdle:
- ;
-}
+ ;
+}
/* ULONG ulGetCMDQLength() */
static __inline ULONG ulGetCMDQLength(ASTRecPtr pAST, ULONG ulWritePointer, ULONG ulCMDQMask)
{
ULONG ulReadPointer, ulReadPointer2;
-
+
do {
- ulReadPointer = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
+ ulReadPointer = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
+ ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
- ulReadPointer2 = *((volatile ULONG *)(pAST->CMDQInfo.pjReadPort)) & 0x0003FFFF;
} while (ulReadPointer != ulReadPointer2);
return ((ulReadPointer << 3) - ulWritePointer - CMD_QUEUE_GUARD_BAND) & ulCMDQMask;
@@ -367,34 +367,34 @@ ASTRecPtr pAST, ULONG ulDataLen)
ulWritePointer = pAST->CMDQInfo.ulWritePointer;
ulContinueCMDQLen = pAST->CMDQInfo.ulCMDQSize - ulWritePointer;
- ulCMDQMask = pAST->CMDQInfo.ulCMDQMask;
-
+ ulCMDQMask = pAST->CMDQInfo.ulCMDQMask;
+
if (ulContinueCMDQLen >= ulDataLen)
{
- /* Get CMDQ Buffer */
+ /* Get CMDQ Buffer */
if (pAST->CMDQInfo.ulCurCMDQueueLen >= ulDataLen)
{
;
}
else
{
-
+
do
{
ulCurCMDQLen = ulGetCMDQLength(pAST, ulWritePointer, ulCMDQMask);
} while (ulCurCMDQLen < ulDataLen);
-
+
pAST->CMDQInfo.ulCurCMDQueueLen = ulCurCMDQLen;
}
-
+
pjBuffer = pAST->CMDQInfo.pjCMDQVirtualAddr + ulWritePointer;
- pAST->CMDQInfo.ulCurCMDQueueLen -= ulDataLen;
+ pAST->CMDQInfo.ulCurCMDQueueLen -= ulDataLen;
pAST->CMDQInfo.ulWritePointer = (ulWritePointer + ulDataLen) & ulCMDQMask;
- return pjBuffer;
+ return pjBuffer;
}
else
- {
+ {
/* Fill NULL CMD to the last of the CMDQ */
if (pAST->CMDQInfo.ulCurCMDQueueLen >= ulContinueCMDQLen)
@@ -403,87 +403,87 @@ ASTRecPtr pAST, ULONG ulDataLen)
}
else
{
-
+
do
{
ulCurCMDQLen = ulGetCMDQLength(pAST, ulWritePointer, ulCMDQMask);
} while (ulCurCMDQLen < ulContinueCMDQLen);
-
+
pAST->CMDQInfo.ulCurCMDQueueLen = ulCurCMDQLen;
}
-
+
pjBuffer = pAST->CMDQInfo.pjCMDQVirtualAddr + ulWritePointer;
for (i = 0; i<ulContinueCMDQLen/8; i++, pjBuffer+=8)
{
*(ULONG *)pjBuffer = (ULONG) PKT_NULL_CMD;
*(ULONG *) (pjBuffer+4) = 0;
-
+
}
pAST->CMDQInfo.ulCurCMDQueueLen -= ulContinueCMDQLen;
pAST->CMDQInfo.ulWritePointer = ulWritePointer = 0;
-
- /* Get CMDQ Buffer */
+
+ /* Get CMDQ Buffer */
if (pAST->CMDQInfo.ulCurCMDQueueLen >= ulDataLen)
{
- ;
+ ;
}
else
{
-
+
do
{
ulCurCMDQLen = ulGetCMDQLength(pAST, ulWritePointer, ulCMDQMask);
} while (ulCurCMDQLen < ulDataLen);
-
+
pAST->CMDQInfo.ulCurCMDQueueLen = ulCurCMDQLen;
}
-
+
pAST->CMDQInfo.ulCurCMDQueueLen -= ulDataLen;
pjBuffer = pAST->CMDQInfo.pjCMDQVirtualAddr + ulWritePointer;
pAST->CMDQInfo.ulWritePointer = (ulWritePointer + ulDataLen) & ulCMDQMask;
- return pjBuffer;
-
+ return pjBuffer;
+
}
-
+
} /* end of pjRequestCmdQ() */
Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam)
{
LONG GAbsX, GAbsY, GXInc, GYInc, GXMajor;
LONG MM, mm, Error0, K1, K2;
-
+
/* Init */
-#ifdef LONG64
+#ifdef LONG64
GAbsX = abs (LineInfo->X1 - LineInfo->X2);
GAbsY = abs (LineInfo->Y1 - LineInfo->Y2);
#else
GAbsX = labs (LineInfo->X1 - LineInfo->X2);
GAbsY = labs (LineInfo->Y1 - LineInfo->Y2);
-#endif
+#endif
GXInc = (LineInfo->X1 < LineInfo->X2) ? 1:0;
GYInc = (LineInfo->Y1 < LineInfo->Y2) ? 1:0;
GXMajor = (GAbsX >= GAbsY) ? 1:0;
-
+
/* Calculate */
if (GXMajor)
{
MM = GAbsX;
- mm = GAbsY;
+ mm = GAbsY;
}
else
{
MM = GAbsY;
- mm = GAbsX;
+ mm = GAbsX;
}
Error0 = (signed) (2*mm - MM);
-
+
K1 = 2* mm;
K2 = (signed) (2*mm - 2*MM);
-
+
/*save the Param to dsLineParam */
dsLineParam->dsLineX = (USHORT) LineInfo->X1;
dsLineParam->dsLineY = (USHORT) LineInfo->Y1;
@@ -496,9 +496,9 @@ Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam)
if (GXMajor) dsLineParam->dwLineAttributes |= LINEPARAM_XM;
if (!GXInc) dsLineParam->dwLineAttributes |= LINEPARAM_X_DEC;
if (!GYInc) dsLineParam->dwLineAttributes |= LINEPARAM_Y_DEC;
-
+
return(TRUE);
-
+
}
#endif /* end of Accel_2D */
diff --git a/src/ast_2dtool.h b/src/ast_2dtool.h
index 5bc437f..888bbf2 100644
--- a/src/ast_2dtool.h
+++ b/src/ast_2dtool.h
@@ -30,7 +30,7 @@
#define ENG_CAP_Color8x8PatternFill 0x0040
#define ENG_CAP_CPUToScreenColorExpand 0x0080
#define ENG_CAP_ScreenToScreenColorExpand 0x0100
-#define ENG_CAP_Clipping 0x0200
+#define ENG_CAP_Clipping 0x0200
#define ENG_CAP_ALL (ENG_CAP_Sync | ENG_CAP_ScreenToScreenCopy | ENG_CAP_SolidFill | \
ENG_CAP_SolidLine | ENG_CAP_DashedLine | \
ENG_CAP_Mono8x8PatternFill | ENG_CAP_Color8x8PatternFill | \
@@ -67,13 +67,13 @@ typedef struct _PKT_SC
{
ULONG PKT_SC_dwHeader;
ULONG PKT_SC_dwData[1];
-
+
} PKT_SC, *PPKT_SC;
/* Packet CMD Scale */
#define PKT_TYPESCALE_LENGTH 56
-#define PKT_TYPESCALE_DATALENGTH (0xC<<16)
-#define PKT_TYPESCALE_ADDRSTART 0x00000000
+#define PKT_TYPESCALE_DATALENGTH (0xC<<16)
+#define PKT_TYPESCALE_ADDRSTART 0x00000000
typedef struct _BURSTSCALECMD
{
@@ -97,7 +97,7 @@ typedef struct _BURSTSCALECMD
USHORT wDstPitch; /* 800E */
};
ULONG dwDstHeightPitch; /* 800C */
- };
+ };
union
{
struct
@@ -115,7 +115,7 @@ typedef struct _BURSTSCALECMD
short wSrcX; /* 8016 */
};
ULONG dwSrcXY; /* 8014 */
- };
+ };
union
{
struct
@@ -132,7 +132,7 @@ typedef struct _BURSTSCALECMD
ULONG dwCmd; /* 823C */
ULONG NullData[1];
-} BURSTSCALECMD, *PBURSTSCALECMD;
+} BURSTSCALECMD, *PBURSTSCALECMD;
/* Eng Reg. Limitation */
#define MAX_SRC_X 0x7FF
@@ -151,20 +151,20 @@ typedef struct _BURSTSCALECMD
#define MASK_RECT_HEIGHT 0x7FF
#define MASK_CLIP 0xFFF
-#define MASK_LINE_X 0xFFF
+#define MASK_LINE_X 0xFFF
#define MASK_LINE_Y 0xFFF
-#define MASK_LINE_ERR 0x3FFFFF
-#define MASK_LINE_WIDTH 0x7FF
-#define MASK_LINE_K1 0x3FFFFF
+#define MASK_LINE_ERR 0x3FFFFF
+#define MASK_LINE_WIDTH 0x7FF
+#define MASK_LINE_K1 0x3FFFFF
#define MASK_LINE_K2 0x3FFFFF
-#define MASK_AIPLINE_X 0xFFF
+#define MASK_AIPLINE_X 0xFFF
#define MASK_AIPLINE_Y 0xFFF
#define MAX_PATReg_Size 256
-/* Eng Reg. Definition */
+/* Eng Reg. Definition */
/* MMIO Reg */
-#define MMIOREG_SRC_BASE (pAST->MMIOVirtualAddr + 0x8000)
+#define MMIOREG_SRC_BASE (pAST->MMIOVirtualAddr + 0x8000)
#define MMIOREG_SRC_PITCH (pAST->MMIOVirtualAddr + 0x8004)
#define MMIOREG_DST_BASE (pAST->MMIOVirtualAddr + 0x8008)
#define MMIOREG_DST_PITCH (pAST->MMIOVirtualAddr + 0x800C)
@@ -179,21 +179,21 @@ typedef struct _BURSTSCALECMD
#define MMIOREG_MONO2 (pAST->MMIOVirtualAddr + 0x8030)
#define MMIOREG_CLIP1 (pAST->MMIOVirtualAddr + 0x8034)
#define MMIOREG_CLIP2 (pAST->MMIOVirtualAddr + 0x8038)
-#define MMIOREG_CMD (pAST->MMIOVirtualAddr + 0x803C)
-#define MMIOREG_PAT (pAST->MMIOVirtualAddr + 0x8100)
-
-#define MMIOREG_LINE_XY (pAST->MMIOVirtualAddr + 0x8010)
-#define MMIOREG_LINE_Err (pAST->MMIOVirtualAddr + 0x8014)
-#define MMIOREG_LINE_WIDTH (pAST->MMIOVirtualAddr + 0x8018)
-#define MMIOREG_LINE_K1 (pAST->MMIOVirtualAddr + 0x8024)
-#define MMIOREG_LINE_K2 (pAST->MMIOVirtualAddr + 0x8028)
-#define MMIOREG_LINE_STYLE1 (pAST->MMIOVirtualAddr + 0x802C)
-#define MMIOREG_LINE_STYLE2 (pAST->MMIOVirtualAddr + 0x8030)
+#define MMIOREG_CMD (pAST->MMIOVirtualAddr + 0x803C)
+#define MMIOREG_PAT (pAST->MMIOVirtualAddr + 0x8100)
+
+#define MMIOREG_LINE_XY (pAST->MMIOVirtualAddr + 0x8010)
+#define MMIOREG_LINE_Err (pAST->MMIOVirtualAddr + 0x8014)
+#define MMIOREG_LINE_WIDTH (pAST->MMIOVirtualAddr + 0x8018)
+#define MMIOREG_LINE_K1 (pAST->MMIOVirtualAddr + 0x8024)
+#define MMIOREG_LINE_K2 (pAST->MMIOVirtualAddr + 0x8028)
+#define MMIOREG_LINE_STYLE1 (pAST->MMIOVirtualAddr + 0x802C)
+#define MMIOREG_LINE_STYLE2 (pAST->MMIOVirtualAddr + 0x8030)
#define MMIOREG_LINE_XY2 (pAST->MMIOVirtualAddr + 0x8014)
-#define MMIOREG_LINE_NUMBER (pAST->MMIOVirtualAddr + 0x8018)
+#define MMIOREG_LINE_NUMBER (pAST->MMIOVirtualAddr + 0x8018)
/* CMDQ Reg */
-#define CMDQREG_SRC_BASE (0x00 << 24)
+#define CMDQREG_SRC_BASE (0x00 << 24)
#define CMDQREG_SRC_PITCH (0x01 << 24)
#define CMDQREG_DST_BASE (0x02 << 24)
#define CMDQREG_DST_PITCH (0x03 << 24)
@@ -211,15 +211,15 @@ typedef struct _BURSTSCALECMD
#define CMDQREG_CMD (0x0F << 24)
#define CMDQREG_PAT (0x40 << 24)
-#define CMDQREG_LINE_XY (0x04 << 24)
-#define CMDQREG_LINE_Err (0x05 << 24)
-#define CMDQREG_LINE_WIDTH (0x06 << 24)
-#define CMDQREG_LINE_K1 (0x09 << 24)
+#define CMDQREG_LINE_XY (0x04 << 24)
+#define CMDQREG_LINE_Err (0x05 << 24)
+#define CMDQREG_LINE_WIDTH (0x06 << 24)
+#define CMDQREG_LINE_K1 (0x09 << 24)
#define CMDQREG_LINE_K2 (0x0A << 24)
-#define CMDQREG_LINE_STYLE1 (0x0B << 24)
+#define CMDQREG_LINE_STYLE1 (0x0B << 24)
#define CMDQREG_LINE_STYLE2 (0x0C << 24)
#define CMDQREG_LINE_XY2 (0x05 << 24)
-#define CMDQREG_LINE_NUMBER (0x06 << 24)
+#define CMDQREG_LINE_NUMBER (0x06 << 24)
/* CMD Reg. Definition */
#define CMD_BITBLT 0x00000000
@@ -229,8 +229,8 @@ typedef struct _BURSTSCALECMD
#define CMD_TRANSPARENTBLT 0x00000004
#define CMD_TYPE_SCALE 0x00000005
#define CMD_MASK 0x00000007
-
-#define CMD_DISABLE_CLIP 0x00000000
+
+#define CMD_DISABLE_CLIP 0x00000000
#define CMD_ENABLE_CLIP 0x00000008
#define CMD_COLOR_08 0x00000000
@@ -248,10 +248,10 @@ typedef struct _BURSTSCALECMD
#define CMD_OPAQUE 0x00000000
#define CMD_FONT_TRANSPARENT 0x00040000
-#define CMD_X_INC 0x00000000
+#define CMD_X_INC 0x00000000
#define CMD_X_DEC 0x00200000
-#define CMD_Y_INC 0x00000000
+#define CMD_Y_INC 0x00000000
#define CMD_Y_DEC 0x00100000
#define CMD_NT_LINE 0x00000000
@@ -293,16 +293,16 @@ typedef struct _LINEPARAM {
ULONG dwErrorTerm;
ULONG dwK1Term;
ULONG dwK2Term;
- ULONG dwLineAttributes;
+ ULONG dwLineAttributes;
} LINEPARAM, *PLINEPARAM;
typedef struct {
-
+
LONG X1;
LONG Y1;
LONG X2;
- LONG Y2;
-
+ LONG Y2;
+
} _LINEInfo;
/* Macro */
@@ -324,7 +324,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_DST_BASE) = (ULONG)(base); \
} while (*(volatile ULONG *)(MMIOREG_DST_BASE) != (ULONG)(base)); \
- }
+ }
#define ASTSetupDSTPitchHeight_MMIO(pitch, height) \
{ \
ULONG dstpitch; \
@@ -332,7 +332,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_DST_PITCH) = dstpitch; \
} while (*(volatile ULONG *)(MMIOREG_DST_PITCH) != dstpitch); \
- }
+ }
#define ASTSetupDSTXY_MMIO(x, y) \
{ \
ULONG dstxy; \
@@ -340,7 +340,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_DST_XY) = dstxy; \
} while (*(volatile ULONG *)(MMIOREG_DST_XY) != dstxy); \
- }
+ }
#define ASTSetupSRCXY_MMIO(x, y) \
{ \
ULONG srcxy; \
@@ -348,7 +348,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_SRC_XY) = srcxy; \
} while (*(volatile ULONG *)(MMIOREG_SRC_XY) != srcxy); \
- }
+ }
#define ASTSetupRECTXY_MMIO(x, y) \
{ \
ULONG rectxy; \
@@ -356,13 +356,13 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_RECT_XY) = rectxy; \
} while (*(volatile ULONG *)(MMIOREG_RECT_XY) != rectxy); \
- }
+ }
#define ASTSetupFG_MMIO(color) \
{ \
do { \
*(ULONG *)(MMIOREG_FG) = (ULONG)(color); \
} while (*(volatile ULONG *)(MMIOREG_FG) != (ULONG)(color)); \
- }
+ }
#define ASTSetupBG_MMIO(color) \
{ \
do { \
@@ -374,7 +374,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_MONO1) = (ULONG)(pat); \
} while (*(volatile ULONG *)(MMIOREG_MONO1) != (ULONG)(pat)); \
- }
+ }
#define ASTSetupMONO2_MMIO(pat) \
{ \
do { \
@@ -388,7 +388,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_CLIP1) = clip1; \
} while (*(volatile ULONG *)(MMIOREG_CLIP1) != clip1); \
- }
+ }
#define ASTSetupCLIP2_MMIO(right, bottom) \
{ \
ULONG clip2; \
@@ -396,7 +396,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_CLIP2) = clip2; \
} while (*(volatile ULONG *)(MMIOREG_CLIP2) != clip2); \
- }
+ }
#define ASTSetupCMDReg_MMIO(reg) \
{ \
*(ULONG *)(MMIOREG_CMD) = (ULONG)(reg); \
@@ -406,8 +406,8 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_PAT + patreg*4) = (ULONG)(pat); \
} while (*(volatile ULONG *)(MMIOREG_PAT + patreg*4) != (ULONG)(pat)); \
- }
-
+ }
+
/* Line CMD */
#define ASTSetupLineXY_MMIO(x, y) \
{ \
@@ -424,7 +424,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_LINE_Err) = lineerr; \
} while (*(volatile ULONG *)(MMIOREG_LINE_Err) != lineerr); \
- }
+ }
#define ASTSetupLineWidth_MMIO(width) \
{ \
ULONG linewidth; \
@@ -438,7 +438,7 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_LINE_K1) = (ULONG)(err & MASK_LINE_K1); \
} while (*(volatile ULONG *)(MMIOREG_LINE_K1) != (ULONG)(err & MASK_LINE_K1)); \
- }
+ }
#define ASTSetupLineK2Term_MMIO(err) \
{ \
do { \
@@ -450,13 +450,13 @@ typedef struct {
do { \
*(ULONG *)(MMIOREG_LINE_STYLE1) = (ULONG)(pat); \
} while (*(volatile ULONG *)(MMIOREG_LINE_STYLE1) != (ULONG)(pat)); \
- }
+ }
#define ASTSetupLineStyle2_MMIO(pat) \
{ \
do { \
*(ULONG *)(MMIOREG_LINE_STYLE2) = (ULONG)(pat); \
} while (*(volatile ULONG *)(MMIOREG_LINE_STYLE2) != (ULONG)(pat)); \
- }
+ }
/* AIP Line CMD */
#define AIPSetupLineXY_MMIO(x, y) \
@@ -481,8 +481,8 @@ typedef struct {
*(ULONG *)(MMIOREG_LINE_NUMBER) = (ULONG) no; \
} while (*(volatile ULONG *)(MMIOREG_LINE_NUMBER) != (ULONG) no); \
}
-
-/* CMDQ Mode Macro */
+
+/* CMDQ Mode Macro */
#define mUpdateWritePointer *(ULONG *) (pAST->CMDQInfo.pjWritePort) = (pAST->CMDQInfo.ulWritePointer >>3)
/* General CMD */
@@ -500,27 +500,27 @@ typedef struct {
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_DST_BASE); \
addr->PKT_SC_dwData[0] = (ULONG)(base); \
- }
+ }
#define ASTSetupDSTPitchHeight(addr, pitch, height) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_DST_PITCH); \
addr->PKT_SC_dwData[0] = (ULONG)((pitch << 16) + ((height) & MASK_DST_HEIGHT)); \
- }
+ }
#define ASTSetupDSTXY(addr, x, y) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_DST_XY); \
addr->PKT_SC_dwData[0] = (ULONG)(((x & MASK_DST_X) << 16) + (y & MASK_DST_Y)); \
- }
+ }
#define ASTSetupSRCXY(addr, x, y) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_SRC_XY); \
addr->PKT_SC_dwData[0] = (ULONG)(((x & MASK_SRC_X) << 16) + (y & MASK_SRC_Y)); \
- }
+ }
#define ASTSetupRECTXY(addr, x, y) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_RECT_XY); \
addr->PKT_SC_dwData[0] = (ULONG)(((x & MASK_RECT_WIDTH) << 16) + (y & MASK_RECT_WIDTH)); \
- }
+ }
#define ASTSetupFG(addr, color) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_FG); \
@@ -535,22 +535,22 @@ typedef struct {
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_MONO1); \
addr->PKT_SC_dwData[0] = (ULONG)(pat); \
- }
+ }
#define ASTSetupMONO2(addr, pat) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_MONO2); \
addr->PKT_SC_dwData[0] = (ULONG)(pat); \
- }
+ }
#define ASTSetupCLIP1(addr, left, top) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_CLIP1); \
addr->PKT_SC_dwData[0] = (ULONG)(((left & MASK_CLIP) << 16) + (top & MASK_CLIP)); \
- }
+ }
#define ASTSetupCLIP2(addr, right, bottom) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_CLIP2); \
addr->PKT_SC_dwData[0] = (ULONG)(((right & MASK_CLIP) << 16) + (bottom & MASK_CLIP)); \
- }
+ }
#define ASTSetupCMDReg(addr, reg) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_CMD); \
@@ -560,7 +560,7 @@ typedef struct {
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + (CMDQREG_PAT + (patreg << 24))); \
addr->PKT_SC_dwData[0] = (ULONG)(pat); \
- }
+ }
/* Line CMD */
#define ASTSetupLineXY(addr, x, y) \
@@ -572,32 +572,32 @@ typedef struct {
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_Err); \
addr->PKT_SC_dwData[0] = (ULONG)((xm << 24) + (err & MASK_LINE_ERR)); \
- }
+ }
#define ASTSetupLineWidth(addr, width) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_WIDTH); \
addr->PKT_SC_dwData[0] = (ULONG)((width & MASK_LINE_WIDTH) << 16); \
- }
+ }
#define ASTSetupLineK1Term(addr, err) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_K1); \
addr->PKT_SC_dwData[0] = (ULONG)(err & MASK_LINE_K1); \
- }
+ }
#define ASTSetupLineK2Term(addr, err) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_K2); \
addr->PKT_SC_dwData[0] = (ULONG)(err & MASK_LINE_K2); \
- }
+ }
#define ASTSetupLineStyle1(addr, pat) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_STYLE1); \
addr->PKT_SC_dwData[0] = (ULONG)(pat); \
- }
+ }
#define ASTSetupLineStyle2(addr, pat) \
{ \
addr->PKT_SC_dwHeader = (ULONG)(PKT_SINGLE_CMD_HEADER + CMDQREG_LINE_STYLE2); \
addr->PKT_SC_dwData[0] = (ULONG)(pat); \
- }
+ }
#define ASTSetupNULLCMD(addr) \
{ \
diff --git a/src/ast_accel.c b/src/ast_accel.c
index 0e7e5d3..193666f 100644
--- a/src/ast_accel.c
+++ b/src/ast_accel.c
@@ -105,27 +105,27 @@ extern Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);
Bool ASTAccelInit(ScreenPtr pScreen);
#ifdef HAVE_XAA_H
static void ASTSync(ScrnInfoPtr pScrn);
-static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
+static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
int xdir, int ydir, int rop,
unsigned int planemask, int trans_color);
static void ASTSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, int x2,
- int y2, int w, int h);
+ int y2, int w, int h);
static void ASTSetupForSolidFill(ScrnInfoPtr pScrn,
int color, int rop, unsigned int planemask);
static void ASTSubsequentSolidFillRect(ScrnInfoPtr pScrn,
- int dst_x, int dst_y, int width, int height);
+ int dst_x, int dst_y, int width, int height);
static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
int color, int rop, unsigned int planemask);
static void ASTSubsequentSolidHorVertLine(ScrnInfoPtr pScrn,
int x, int y, int len, int dir);
static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
- int x1, int y1, int x2, int y2, int flags);
+ int x1, int y1, int x2, int y2, int flags);
static void ASTSetupForDashedLine(ScrnInfoPtr pScrn,
int fg, int bg, int rop, unsigned int planemask,
int length, UCHAR *pattern);
static void ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2,
- int flags, int phase);
+ int flags, int phase);
static void ASTSetupForMonoPatternFill(ScrnInfoPtr pScrn,
int patx, int paty, int fg, int bg,
int rop, unsigned int planemask);
@@ -150,11 +150,11 @@ static void ASTSubsequentScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
int src_x, int src_y, int offset);
static void ASTSetClippingRectangle(ScrnInfoPtr pScrn,
int left, int top, int right, int bottom);
-static void ASTDisableClipping(ScrnInfoPtr pScrn);
+static void ASTDisableClipping(ScrnInfoPtr pScrn);
static void ASTSetHWClipping(ScrnInfoPtr pScrn, int delta_y);
static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
- int x1, int y1, int x2, int y2, int flags);
+ int x1, int y1, int x2, int y2, int flags);
static void AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2,
int flags, int phase);
@@ -181,7 +181,7 @@ ASTAccelInit(ScreenPtr pScreen)
/* Screen To Screen copy */
if (pAST->ENGCaps & ENG_CAP_ScreenToScreenCopy)
- {
+ {
infoPtr->SetupForScreenToScreenCopy = ASTSetupForScreenToScreenCopy;
infoPtr->SubsequentScreenToScreenCopy = ASTSubsequentScreenToScreenCopy;
infoPtr->ScreenToScreenCopyFlags = NO_TRANSPARENCY | NO_PLANEMASK;
@@ -189,15 +189,15 @@ ASTAccelInit(ScreenPtr pScreen)
/* Solid fill */
if (pAST->ENGCaps & ENG_CAP_SolidFill)
- {
+ {
infoPtr->SetupForSolidFill = ASTSetupForSolidFill;
infoPtr->SubsequentSolidFillRect = ASTSubsequentSolidFillRect;
infoPtr->SolidFillFlags = NO_PLANEMASK;
- }
-
+ }
+
/* Solid Lines */
if (pAST->ENGCaps & ENG_CAP_SolidLine)
- {
+ {
if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST1180) )
{
infoPtr->SubsequentSolidTwoPointLine = AIPSubsequentSolidTwoPointLine;
@@ -207,8 +207,8 @@ ASTAccelInit(ScreenPtr pScreen)
infoPtr->SubsequentSolidTwoPointLine = ASTSubsequentSolidTwoPointLine;
}
- infoPtr->SetupForSolidLine = ASTSetupForSolidLine;
- infoPtr->SubsequentSolidHorVertLine = ASTSubsequentSolidHorVertLine;
+ infoPtr->SetupForSolidLine = ASTSetupForSolidLine;
+ infoPtr->SubsequentSolidHorVertLine = ASTSubsequentSolidHorVertLine;
infoPtr->SolidLineFlags = NO_PLANEMASK;
}
@@ -222,17 +222,17 @@ ASTAccelInit(ScreenPtr pScreen)
else
{
infoPtr->SubsequentDashedTwoPointLine = ASTSubsequentDashedTwoPointLine;
- }
+ }
- infoPtr->SetupForDashedLine = ASTSetupForDashedLine;
+ infoPtr->SetupForDashedLine = ASTSetupForDashedLine;
infoPtr->DashPatternMaxLength = 64;
infoPtr->DashedLineFlags = NO_PLANEMASK |
LINE_PATTERN_MSBFIRST_LSBJUSTIFIED;
- }
+ }
/* 8x8 mono pattern fill */
if (pAST->ENGCaps & ENG_CAP_Mono8x8PatternFill)
- {
+ {
infoPtr->SetupForMono8x8PatternFill = ASTSetupForMonoPatternFill;
infoPtr->SubsequentMono8x8PatternFillRect = ASTSubsequentMonoPatternFill;
infoPtr->Mono8x8PatternFillFlags = NO_PLANEMASK |
@@ -240,50 +240,50 @@ ASTAccelInit(ScreenPtr pScreen)
HARDWARE_PATTERN_SCREEN_ORIGIN |
HARDWARE_PATTERN_PROGRAMMED_BITS |
BIT_ORDER_IN_BYTE_MSBFIRST;
- }
-
+ }
+
/* 8x8 color pattern fill */
if (pAST->ENGCaps & ENG_CAP_Color8x8PatternFill)
- {
+ {
infoPtr->SetupForColor8x8PatternFill = ASTSetupForColor8x8PatternFill;
infoPtr->SubsequentColor8x8PatternFillRect = ASTSubsequentColor8x8PatternFillRect;
infoPtr->Color8x8PatternFillFlags = NO_PLANEMASK |
- NO_TRANSPARENCY |
+ NO_TRANSPARENCY |
HARDWARE_PATTERN_SCREEN_ORIGIN;
- }
-
+ }
+
/* CPU To Screen Color Expand */
if (pAST->ENGCaps & ENG_CAP_CPUToScreenColorExpand)
- {
+ {
infoPtr->SetupForCPUToScreenColorExpandFill = ASTSetupForCPUToScreenColorExpandFill;
infoPtr->SubsequentCPUToScreenColorExpandFill = ASTSubsequentCPUToScreenColorExpandFill;
infoPtr->ColorExpandRange = MAX_PATReg_Size;
infoPtr->ColorExpandBase = MMIOREG_PAT;
infoPtr->CPUToScreenColorExpandFillFlags = NO_PLANEMASK |
BIT_ORDER_IN_BYTE_MSBFIRST;
- }
+ }
/* Screen To Screen Color Expand */
if (pAST->ENGCaps & ENG_CAP_ScreenToScreenColorExpand)
- {
+ {
infoPtr->SetupForScreenToScreenColorExpandFill = ASTSetupForScreenToScreenColorExpandFill;
infoPtr->SubsequentScreenToScreenColorExpandFill = ASTSubsequentScreenToScreenColorExpandFill;
infoPtr->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK |
BIT_ORDER_IN_BYTE_MSBFIRST;
- }
-
+ }
+
/* Clipping */
if (pAST->ENGCaps & ENG_CAP_Clipping)
- {
+ {
infoPtr->SetClippingRectangle = ASTSetClippingRectangle;
infoPtr->DisableClipping = ASTDisableClipping;
infoPtr->ClippingFlags = HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY |
HARDWARE_CLIP_MONO_8x8_FILL |
HARDWARE_CLIP_COLOR_8x8_FILL |
- HARDWARE_CLIP_SOLID_LINE |
- HARDWARE_CLIP_DASHED_LINE |
- HARDWARE_CLIP_SOLID_LINE;
- }
+ HARDWARE_CLIP_SOLID_LINE |
+ HARDWARE_CLIP_DASHED_LINE |
+ HARDWARE_CLIP_SOLID_LINE;
+ }
return(XAAInit(pScreen, infoPtr));
#else
@@ -307,14 +307,14 @@ static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
int xdir, int ydir, int rop,
unsigned int planemask, int trans_color)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
ULONG cmdreg;
-
+
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForScreenToScreenCopy\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_BITBLT;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -325,35 +325,35 @@ static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAACopyROP[rop] << 8);
pAST->ulCMDReg = cmdreg;
-
+
if (!pAST->MMIO2D)
- {
+ {
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
-
- ASTSetupSRCPitch(pSingleCMD, pAST->VideoModeInfo.ScreenPitch);
+
+ ASTSetupSRCPitch(pSingleCMD, pAST->VideoModeInfo.ScreenPitch);
pSingleCMD++;
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
-
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
- /* Write to MMIO */
- ASTSetupSRCPitch_MMIO(pAST->VideoModeInfo.ScreenPitch);
- ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
+ /* Write to MMIO */
+ ASTSetupSRCPitch_MMIO(pAST->VideoModeInfo.ScreenPitch);
+ ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
}
-
+
} /* end of ASTSetupForScreenToScreenCopy */
static void
@@ -370,34 +370,34 @@ ASTSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, int x2,
*/
if ((width != 0) && (height != 0))
- {
+ {
/* Modify Reg. Value */
cmdreg = pAST->ulCMDReg;
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
srcbase = dstbase = 0;
if (x1 < x2)
- cmdreg |= CMD_X_DEC;
+ cmdreg |= CMD_X_DEC;
if (y1 < y2)
- cmdreg |= CMD_Y_DEC;
-
+ cmdreg |= CMD_Y_DEC;
+
if ((y1 + height) >= MAX_SRC_Y)
- {
+ {
srcbase=pAST->VideoModeInfo.ScreenPitch*y1;
y1 = 0;
- }
-
- if ((y2 + height) >= pScrn->virtualY)
- {
+ }
+
+ if ((y2 + height) >= pScrn->virtualY)
+ {
delta_y = y2;
dstbase=pAST->VideoModeInfo.ScreenPitch*y2;
y2 = 0;
}
-
+
if (cmdreg & CMD_X_DEC)
{
src_x = x1 + width - 1;
@@ -406,56 +406,56 @@ ASTSubsequentScreenToScreenCopy(ScrnInfoPtr pScrn, int x1, int y1, int x2,
else
{
src_x = x1;
- dst_x = x2;
+ dst_x = x2;
}
-
+
if (cmdreg & CMD_Y_DEC)
- {
+ {
src_y = y1 + height - 1;
dst_y = y2 + height - 1;
}
else
{
src_y = y1;
- dst_y = y2;
+ dst_y = y2;
}
-
- if (pAST->EnableClip)
+
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
-
+
ASTSetupSRCBase(pSingleCMD, srcbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
- ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
- ASTSetupSRCXY(pSingleCMD, src_x, src_y);
- pSingleCMD++;
- ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
+ pSingleCMD++;
+ ASTSetupSRCXY(pSingleCMD, src_x, src_y);
+ pSingleCMD++;
+ ASTSetupRECTXY(pSingleCMD, width, height);
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupSRCBase_MMIO(srcbase);
ASTSetupDSTBase_MMIO(dstbase);
- ASTSetupDSTXY_MMIO(dst_x, dst_y);
- ASTSetupSRCXY_MMIO(src_x, src_y);
- ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
+ ASTSetupDSTXY_MMIO(dst_x, dst_y);
+ ASTSetupSRCXY_MMIO(src_x, src_y);
+ ASTSetupRECTXY_MMIO(width, height);
+ ASTSetupCMDReg_MMIO(cmdreg);
+
vWaitEngIdle(pScrn, pAST);
}
-
+
} /* width & height check */
} /* end of ASTSubsequentScreenToScreenCopy */
@@ -464,14 +464,14 @@ static void
ASTSetupForSolidFill(ScrnInfoPtr pScrn,
int color, int rop, unsigned int planemask)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
ULONG cmdreg;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForSolidFill\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_BITBLT | CMD_PAT_FGCOLOR;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -482,16 +482,16 @@ ASTSetupForSolidFill(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAAPatternROP[rop] << 8);
pAST->ulCMDReg = cmdreg;
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
@@ -499,17 +499,17 @@ ASTSetupForSolidFill(ScrnInfoPtr pScrn,
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
ASTSetupFG(pSingleCMD, color);
-
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(color);
+ ASTSetupFG_MMIO(color);
}
-
+
} /* end of ASTSetupForSolidFill */
@@ -519,10 +519,10 @@ ASTSubsequentSolidFillRect(ScrnInfoPtr pScrn,
{
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
- ULONG dstbase, cmdreg;
+ ULONG dstbase, cmdreg;
int delta_y = 0;
-
-/*
+
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentSolidFillRect\n");
*/
@@ -533,54 +533,54 @@ ASTSubsequentSolidFillRect(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
-
- if (dst_y >= pScrn->virtualY)
+
+ if (dst_y >= pScrn->virtualY)
{
- delta_y = dst_y;
+ delta_y = dst_y;
dstbase=pAST->VideoModeInfo.ScreenPitch*dst_y;
dst_y=0;
}
- if (pAST->EnableClip)
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
-
+
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(dst_x, dst_y);
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
+ ASTSetupCMDReg_MMIO(cmdreg);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
} /* width & height check */
} /* end of ASTSubsequentSolidFillRect */
/* Line */
-static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
+static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
int color, int rop, unsigned int planemask)
{
@@ -589,7 +589,7 @@ static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
ULONG cmdreg;
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForSolidLine\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_BITBLT;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -600,38 +600,38 @@ static void ASTSetupForSolidLine(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
- cmdreg |= (ASTXAAPatternROP[rop] << 8);
+ cmdreg |= (ASTXAAPatternROP[rop] << 8);
pAST->ulCMDReg = cmdreg;
-
+
if (!pAST->MMIO2D)
- {
+ {
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
- ASTSetupFG(pSingleCMD, color);
+ ASTSetupFG(pSingleCMD, color);
pSingleCMD++;
ASTSetupBG(pSingleCMD, 0);
-
+
/* Update Write Pointer */
- mUpdateWritePointer;
-
+ mUpdateWritePointer;
+
}
else
{
- /* Write to MMIO */
- ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(color);
- ASTSetupBG_MMIO(0);
+ /* Write to MMIO */
+ ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
+ ASTSetupFG_MMIO(color);
+ ASTSetupBG_MMIO(0);
}
-
+
} /* end of ASTSetupForSolidLine */
@@ -641,10 +641,10 @@ static void ASTSubsequentSolidHorVertLine(ScrnInfoPtr pScrn,
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
- ULONG dstbase, cmdreg;
+ ULONG dstbase, cmdreg;
int width, height;
int delta_y = 0;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentSolidHorVertLine\n");
*/
@@ -655,75 +655,75 @@ static void ASTSubsequentSolidHorVertLine(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
-
+
if(dir == DEGREES_0) { /* horizontal */
width = len;
- height = 1;
+ height = 1;
} else { /* vertical */
width = 1;
- height = len;
+ height = len;
}
-
- if ((y + height) >= pScrn->virtualY)
- {
- delta_y = y;
+
+ if ((y + height) >= pScrn->virtualY)
+ {
+ delta_y = y;
dstbase=pAST->VideoModeInfo.ScreenPitch*y;
y=0;
}
-
- if (pAST->EnableClip)
+
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
-
+
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, x, y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(x, y);
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
+ ASTSetupCMDReg_MMIO(cmdreg);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
} /* len check */
-
+
} /* end of ASTSubsequentSolidHorVertLine */
static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2, int flags)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
LINEPARAM dsLineParam;
- _LINEInfo LineInfo;
+ _LINEInfo LineInfo;
ULONG dstbase, ulCommand;
- ULONG miny, maxy;
+ ULONG miny, maxy;
USHORT usXM;
int delta_y = 0;
-
+
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentSolidTwoPointLine\n");
-*/
+*/
/* Modify Reg. Value */
ulCommand = (pAST->ulCMDReg & (~CMD_MASK)) | CMD_LINEDRAW;
@@ -734,7 +734,7 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
ulCommand |= CMD_ENABLE_CLIP;
else
- ulCommand &= ~CMD_ENABLE_CLIP;
+ ulCommand &= ~CMD_ENABLE_CLIP;
dstbase = 0;
miny = (y1 > y2) ? y2 : y1;
maxy = (y1 > y2) ? y1 : y2;
@@ -744,62 +744,62 @@ static void ASTSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
y1 -= miny;
y2 -= miny;
}
-
+
LineInfo.X1 = x1;
LineInfo.Y1 = y1;
LineInfo.X2 = x2;
LineInfo.Y2 = y2;
-
+
bGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
-
- if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
- ulCommand |= CMD_X_DEC;
- if (dsLineParam.dwLineAttributes & LINEPARAM_Y_DEC)
- ulCommand |= CMD_Y_DEC;
-
- usXM = (dsLineParam.dwLineAttributes & LINEPARAM_XM) ? 1:0;
-
- if (pAST->EnableClip)
+
+ if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
+ ulCommand |= CMD_X_DEC;
+ if (dsLineParam.dwLineAttributes & LINEPARAM_Y_DEC)
+ ulCommand |= CMD_Y_DEC;
+
+ usXM = (dsLineParam.dwLineAttributes & LINEPARAM_XM) ? 1:0;
+
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineXY(pSingleCMD, dsLineParam.dsLineX, dsLineParam.dsLineY);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineXMErrTerm(pSingleCMD, usXM , dsLineParam.dwErrorTerm);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineWidth(pSingleCMD, dsLineParam.dsLineWidth);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineK1Term(pSingleCMD, dsLineParam.dwK1Term);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineK2Term(pSingleCMD, dsLineParam.dwK2Term);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, ulCommand);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, ulCommand);
+
/* Update Write Pointer */
- mUpdateWritePointer;
+ mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupLineXY_MMIO(dsLineParam.dsLineX, dsLineParam.dsLineY);
ASTSetupLineXMErrTerm_MMIO( usXM , dsLineParam.dwErrorTerm);
ASTSetupLineWidth_MMIO(dsLineParam.dsLineWidth);
ASTSetupLineK1Term_MMIO(dsLineParam.dwK1Term);
ASTSetupLineK2Term_MMIO(dsLineParam.dwK2Term);
- ASTSetupCMDReg_MMIO(ulCommand);
-
+ ASTSetupCMDReg_MMIO(ulCommand);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
@@ -817,10 +817,10 @@ ASTSetupForDashedLine(ScrnInfoPtr pScrn,
ULONG cmdreg;
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForDashedLine\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_LINEDRAW | CMD_RESET_STYLE_COUNTER | CMD_ENABLE_LINE_STYLE;
-
+
switch (pAST->VideoModeInfo.bitsPerPixel)
{
case 8:
@@ -829,50 +829,50 @@ ASTSetupForDashedLine(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
- cmdreg |= (ASTXAAPatternROP[rop] << 8);
+ cmdreg |= (ASTXAAPatternROP[rop] << 8);
if(bg == -1) {
- cmdreg |= CMD_TRANSPARENT;
+ cmdreg |= CMD_TRANSPARENT;
bg = 0;
}
cmdreg |= (((length-1) & 0x3F) << 24); /* line period */
pAST->ulCMDReg = cmdreg;
-
+
if (!pAST->MMIO2D)
- {
+ {
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
- ASTSetupFG(pSingleCMD, fg);
+ ASTSetupFG(pSingleCMD, fg);
pSingleCMD++;
- ASTSetupBG(pSingleCMD, bg);
+ ASTSetupBG(pSingleCMD, bg);
pSingleCMD++;
ASTSetupLineStyle1(pSingleCMD, *pattern);
pSingleCMD++;
ASTSetupLineStyle2(pSingleCMD, *(pattern+4));
-
+
/* Update Write Pointer */
- mUpdateWritePointer;
-
+ mUpdateWritePointer;
+
}
else
{
- /* Write to MMIO */
+ /* Write to MMIO */
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(fg);
- ASTSetupBG_MMIO(bg);
+ ASTSetupFG_MMIO(fg);
+ ASTSetupBG_MMIO(bg);
ASTSetupLineStyle1_MMIO(*pattern);
- ASTSetupLineStyle2_MMIO(*(pattern+4));
+ ASTSetupLineStyle2_MMIO(*(pattern+4));
}
-
+
}
static void
@@ -880,19 +880,19 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2,
int flags, int phase)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
LINEPARAM dsLineParam;
- _LINEInfo LineInfo;
- ULONG dstbase, ulCommand;
- ULONG miny, maxy;
+ _LINEInfo LineInfo;
+ ULONG dstbase, ulCommand;
+ ULONG miny, maxy;
USHORT usXM;
int delta_y = 0;
-
+
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentDashedTwoPointLine\n");
-*/
+*/
/* Modify Reg. Value */
ulCommand = pAST->ulCMDReg;
@@ -903,8 +903,8 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
ulCommand |= CMD_ENABLE_CLIP;
else
- ulCommand &= ~CMD_ENABLE_CLIP;
- dstbase = 0;
+ ulCommand &= ~CMD_ENABLE_CLIP;
+ dstbase = 0;
miny = (y1 > y2) ? y2 : y1;
maxy = (y1 > y2) ? y1 : y2;
if(maxy >= pScrn->virtualY) {
@@ -913,64 +913,64 @@ ASTSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
y1 -= miny;
y2 -= miny;
}
-
+
LineInfo.X1 = x1;
LineInfo.Y1 = y1;
LineInfo.X2 = x2;
LineInfo.Y2 = y2;
-
+
bGetLineTerm(&LineInfo, &dsLineParam); /* Get Line Parameter */
-
- if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
- ulCommand |= CMD_X_DEC;
- if (dsLineParam.dwLineAttributes & LINEPARAM_Y_DEC)
- ulCommand |= CMD_Y_DEC;
-
- usXM = (dsLineParam.dwLineAttributes & LINEPARAM_XM) ? 1:0;
-
- if (pAST->EnableClip)
+
+ if (dsLineParam.dwLineAttributes & LINEPARAM_X_DEC)
+ ulCommand |= CMD_X_DEC;
+ if (dsLineParam.dwLineAttributes & LINEPARAM_Y_DEC)
+ ulCommand |= CMD_Y_DEC;
+
+ usXM = (dsLineParam.dwLineAttributes & LINEPARAM_XM) ? 1:0;
+
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*7);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineXY(pSingleCMD, dsLineParam.dsLineX, dsLineParam.dsLineY);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineXMErrTerm(pSingleCMD, usXM , dsLineParam.dwErrorTerm);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineWidth(pSingleCMD, dsLineParam.dsLineWidth);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineK1Term(pSingleCMD, dsLineParam.dwK1Term);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupLineK2Term(pSingleCMD, dsLineParam.dwK2Term);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, ulCommand);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, ulCommand);
+
/* Update Write Pointer */
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupLineXY_MMIO(dsLineParam.dsLineX, dsLineParam.dsLineY);
ASTSetupLineXMErrTerm_MMIO( usXM , dsLineParam.dwErrorTerm);
ASTSetupLineWidth_MMIO(dsLineParam.dsLineWidth);
ASTSetupLineK1Term_MMIO(dsLineParam.dwK1Term);
ASTSetupLineK2Term_MMIO(dsLineParam.dwK2Term);
- ASTSetupCMDReg_MMIO(ulCommand);
-
+ ASTSetupCMDReg_MMIO(ulCommand);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
}
/* Mono Pattern Fill */
@@ -979,14 +979,14 @@ ASTSetupForMonoPatternFill(ScrnInfoPtr pScrn,
int patx, int paty, int fg, int bg,
int rop, unsigned int planemask)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
ULONG cmdreg;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForMonoPatternFill\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_BITBLT | CMD_PAT_MONOMASK;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -997,43 +997,43 @@ ASTSetupForMonoPatternFill(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAAPatternROP[rop] << 8);
pAST->ulCMDReg = cmdreg;
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
- ASTSetupFG(pSingleCMD, fg);
+ ASTSetupFG(pSingleCMD, fg);
pSingleCMD++;
ASTSetupBG(pSingleCMD, bg);
pSingleCMD++;
- ASTSetupMONO1(pSingleCMD, patx);
+ ASTSetupMONO1(pSingleCMD, patx);
pSingleCMD++;
ASTSetupMONO2(pSingleCMD, paty);
-
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(fg);
+ ASTSetupFG_MMIO(fg);
ASTSetupBG_MMIO(bg);
- ASTSetupMONO1_MMIO(patx);
- ASTSetupMONO2_MMIO(paty);
+ ASTSetupMONO1_MMIO(patx);
+ ASTSetupMONO2_MMIO(paty);
}
-
+
} /* end of ASTSetupForMonoPatternFill */
@@ -1046,55 +1046,55 @@ ASTSubsequentMonoPatternFill(ScrnInfoPtr pScrn,
PKT_SC *pSingleCMD;
ULONG dstbase, cmdreg;
int delta_y = 0;
-
-/*
+
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentMonoPatternFill\n");
-*/
-
+*/
+
/* Modify Reg. Value */
cmdreg = pAST->ulCMDReg;
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
- if (dst_y >= pScrn->virtualY)
- {
+ if (dst_y >= pScrn->virtualY)
+ {
delta_y = dst_y;
dstbase=pAST->VideoModeInfo.ScreenPitch*dst_y;
dst_y=0;
}
- if (pAST->EnableClip)
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(dst_x, dst_y);
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
- vWaitEngIdle(pScrn, pAST);
- }
+ ASTSetupCMDReg_MMIO(cmdreg);
+
+ vWaitEngIdle(pScrn, pAST);
+ }
} /* end of ASTSubsequentMonoPatternFill */
@@ -1102,16 +1102,16 @@ static void
ASTSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty,
int rop, unsigned int planemask, int trans_col)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
ULONG cmdreg;
CARD32 *pataddr;
ULONG ulPatSize;
int i, j, cpp;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForColor8x8PatternFill\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_BITBLT | CMD_PAT_PATREG;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -1122,22 +1122,22 @@ ASTSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAAPatternROP[rop] << 8);
pAST->ulCMDReg = cmdreg;
cpp = (pScrn->bitsPerPixel + 1) / 8;
pataddr = (CARD32 *)(pAST->FBVirtualAddr +
- (paty * pAST->VideoModeInfo.ScreenPitch) + (patx * cpp));
+ (paty * pAST->VideoModeInfo.ScreenPitch) + (patx * cpp));
ulPatSize = 8*8*cpp;
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
- /* Write to CMDQ */
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*(1 + ulPatSize/4));
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
@@ -1146,29 +1146,29 @@ ASTSetupForColor8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty,
for (j=0; j<8*cpp/4; j++)
{
ASTSetupPatReg(pSingleCMD, (i*j + j) , (*(CARD32 *) (pataddr++)));
- pSingleCMD++;
- }
+ pSingleCMD++;
+ }
}
-
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
+ {
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
for (i=0; i<8; i++)
{
for (j=0; j<8*cpp/4; j++)
{
ASTSetupPatReg_MMIO((i*j + j) , (*(CARD32 *) (pataddr++)));
- }
- }
-
+ }
+ }
+
}
} /* end of ASTSetupForColor8x8PatternFill */
-
+
static void
ASTSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, int patx, int paty,
int dst_x, int dst_y, int width, int height)
@@ -1177,56 +1177,56 @@ ASTSubsequentColor8x8PatternFillRect(ScrnInfoPtr pScrn, int patx, int paty,
PKT_SC *pSingleCMD;
ULONG dstbase, cmdreg;
int delta_y = 0;
-
-/*
+
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentColor8x8PatternFillRect\n");
*/
-
+
/* Modify Reg. Value */
cmdreg = pAST->ulCMDReg;
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
- if (dst_y >= pScrn->virtualY)
- {
+ if (dst_y >= pScrn->virtualY)
+ {
delta_y = dst_y;
dstbase=pAST->VideoModeInfo.ScreenPitch*dst_y;
dst_y=0;
}
- if (pAST->EnableClip)
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*4);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(dst_x, dst_y);
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
- vWaitEngIdle(pScrn, pAST);
- }
-
+ ASTSetupCMDReg_MMIO(cmdreg);
+
+ vWaitEngIdle(pScrn, pAST);
+ }
+
} /* ASTSubsequentColor8x8PatternFillRect */
/* CPU to Screen Expand */
@@ -1240,9 +1240,9 @@ ASTSetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
PKT_SC *pSingleCMD;
ULONG cmdreg;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForCPUToScreenColorExpandFill\n");
-*/
+*/
/* Modify Reg. Value */
cmdreg = CMD_COLOREXP;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -1253,44 +1253,44 @@ ASTSetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAAPatternROP[rop] << 8);
if(bg == -1) {
- cmdreg |= CMD_FONT_TRANSPARENT;
+ cmdreg |= CMD_FONT_TRANSPARENT;
bg = 0;
- }
+ }
pAST->ulCMDReg = cmdreg;
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
- ASTSetupFG(pSingleCMD, fg);
+ ASTSetupFG(pSingleCMD, fg);
pSingleCMD++;
- ASTSetupBG(pSingleCMD, bg);
+ ASTSetupBG(pSingleCMD, bg);
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(fg);
- ASTSetupBG_MMIO(bg);
-
+ ASTSetupFG_MMIO(fg);
+ ASTSetupBG_MMIO(bg);
+
}
-
+
}
-
+
static void
ASTSubsequentCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
int dst_x, int dst_y,
@@ -1302,61 +1302,61 @@ ASTSubsequentCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
ULONG dstbase, cmdreg;
int delta_y = 0;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentCPUToScreenColorExpandFill\n");
*/
-
+
/* Modify Reg. Value */
cmdreg = pAST->ulCMDReg;
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
- if (dst_y >= pScrn->virtualY)
- {
+ if (dst_y >= pScrn->virtualY)
+ {
delta_y = dst_y;
dstbase=pAST->VideoModeInfo.ScreenPitch*dst_y;
dst_y=0;
}
- if (pAST->EnableClip)
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
- ASTSetupSRCPitch(pSingleCMD, ((width+7)/8));
- pSingleCMD++;
+ ASTSetupSRCPitch(pSingleCMD, ((width+7)/8));
+ pSingleCMD++;
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
- ASTSetupSRCPitch_MMIO((width+7)/8);
+ {
+ ASTSetupSRCPitch_MMIO((width+7)/8);
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(dst_x, dst_y);
ASTSetupSRCXY_MMIO(0, 0);
-
+
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
+ ASTSetupCMDReg_MMIO(cmdreg);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
}
@@ -1371,10 +1371,10 @@ ASTSetupForScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
PKT_SC *pSingleCMD;
ULONG cmdreg;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetupForScreenToScreenColorExpandFill\n");
*/
-
+
/* Modify Reg. Value */
cmdreg = CMD_ENHCOLOREXP;
switch (pAST->VideoModeInfo.bitsPerPixel)
@@ -1385,42 +1385,42 @@ ASTSetupForScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
case 15:
case 16:
cmdreg |= CMD_COLOR_16;
- break;
+ break;
case 24:
case 32:
cmdreg |= CMD_COLOR_32;
- break;
+ break;
}
cmdreg |= (ASTXAAPatternROP[rop] << 8);
if(bg == -1) {
- cmdreg |= CMD_FONT_TRANSPARENT;
+ cmdreg |= CMD_FONT_TRANSPARENT;
bg = 0;
- }
+ }
pAST->ulCMDReg = cmdreg;
-
- if (!pAST->MMIO2D)
+
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*3);
ASTSetupDSTPitchHeight(pSingleCMD, pAST->VideoModeInfo.ScreenPitch, -1);
pSingleCMD++;
- ASTSetupFG(pSingleCMD, fg);
+ ASTSetupFG(pSingleCMD, fg);
pSingleCMD++;
- ASTSetupBG(pSingleCMD, bg);
+ ASTSetupBG(pSingleCMD, bg);
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupDSTPitchHeight_MMIO(pAST->VideoModeInfo.ScreenPitch, -1);
- ASTSetupFG_MMIO(fg);
- ASTSetupBG_MMIO(bg);
-
+ ASTSetupFG_MMIO(fg);
+ ASTSetupBG_MMIO(bg);
+
}
-
+
}
@@ -1436,63 +1436,63 @@ ASTSubsequentScreenToScreenColorExpandFill(ScrnInfoPtr pScrn,
USHORT srcpitch;
int delta_y = 0;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentScreenToScreenColorExpandFill\n");
*/
-
+
/* Modify Reg. Value */
cmdreg = pAST->ulCMDReg;
if (pAST->EnableClip)
cmdreg |= CMD_ENABLE_CLIP;
else
- cmdreg &= ~CMD_ENABLE_CLIP;
+ cmdreg &= ~CMD_ENABLE_CLIP;
dstbase = 0;
- if (dst_y >= pScrn->virtualY)
- {
+ if (dst_y >= pScrn->virtualY)
+ {
delta_y = dst_y;
dstbase=pAST->VideoModeInfo.ScreenPitch*dst_y;
dst_y=0;
}
- srcbase = pAST->VideoModeInfo.ScreenPitch*src_y + ((pScrn->bitsPerPixel+1)/8)*src_x;
+ srcbase = pAST->VideoModeInfo.ScreenPitch*src_y + ((pScrn->bitsPerPixel+1)/8)*src_x;
srcpitch = (pScrn->displayWidth+7)/8;
- if (pAST->EnableClip)
+ if (pAST->EnableClip)
ASTSetHWClipping(pScrn, delta_y);
-
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*6);
ASTSetupSRCBase(pSingleCMD, srcbase);
- pSingleCMD++;
- ASTSetupSRCPitch(pSingleCMD,srcpitch);
- pSingleCMD++;
+ pSingleCMD++;
+ ASTSetupSRCPitch(pSingleCMD,srcpitch);
+ pSingleCMD++;
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupDSTXY(pSingleCMD, dst_x, dst_y);
- pSingleCMD++;
+ pSingleCMD++;
ASTSetupRECTXY(pSingleCMD, width, height);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, cmdreg);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, cmdreg);
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
- {
- ASTSetupSRCBase_MMIO(srcbase);
- ASTSetupSRCPitch_MMIO(srcpitch);
+ {
+ ASTSetupSRCBase_MMIO(srcbase);
+ ASTSetupSRCPitch_MMIO(srcpitch);
ASTSetupDSTBase_MMIO(dstbase);
ASTSetupDSTXY_MMIO(dst_x, dst_y);
ASTSetupRECTXY_MMIO(width, height);
- ASTSetupCMDReg_MMIO(cmdreg);
-
+ ASTSetupCMDReg_MMIO(cmdreg);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
}
@@ -1503,7 +1503,7 @@ ASTSetHWClipping(ScrnInfoPtr pScrn, int delta_y)
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
- if (!pAST->MMIO2D)
+ if (!pAST->MMIO2D)
{
/* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*2);
@@ -1511,59 +1511,59 @@ ASTSetHWClipping(ScrnInfoPtr pScrn, int delta_y)
ASTSetupCLIP1(pSingleCMD, pAST->clip_left, pAST->clip_top - delta_y);
pSingleCMD++;
ASTSetupCLIP2(pSingleCMD, pAST->clip_right + 1, pAST->clip_bottom - delta_y + 1);
-
+
/* Update Write Pointer */
mUpdateWritePointer;
-
+
}
else
{
ASTSetupCLIP1_MMIO(pAST->clip_left, pAST->clip_top - delta_y);
- ASTSetupCLIP2_MMIO(pAST->clip_right + 1, pAST->clip_bottom - delta_y + 1);
+ ASTSetupCLIP2_MMIO(pAST->clip_right + 1, pAST->clip_bottom - delta_y + 1);
}
-
-}
+
+}
static void
ASTSetClippingRectangle(ScrnInfoPtr pScrn,
int left, int top, int right, int bottom)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSetClippingRectangle\n");
-*/
+*/
pAST->EnableClip = TRUE;
-
+
pAST->clip_left = left;
pAST->clip_top = top;
pAST->clip_right = right;
pAST->clip_bottom = bottom;
-
+
}
static void
ASTDisableClipping(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
-/*
+/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTDisableClipping\n");
-*/
+*/
pAST->EnableClip = FALSE;
}
static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2, int flags)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
ULONG dstbase, ulCommand;
- ULONG miny, maxy;
+ ULONG miny, maxy;
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentSolidTwoPointLine\n");
-*/
+*/
/* Modify Reg. Value */
ulCommand = (pAST->ulCMDReg & (~CMD_MASK)) | CMD_LINEDRAW | CMD_NORMAL_LINE;
@@ -1574,7 +1574,7 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
ulCommand |= CMD_ENABLE_CLIP;
else
- ulCommand &= ~CMD_ENABLE_CLIP;
+ ulCommand &= ~CMD_ENABLE_CLIP;
dstbase = 0;
miny = (y1 > y2) ? y2 : y1;
maxy = (y1 > y2) ? y1 : y2;
@@ -1584,38 +1584,38 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
y2 -= miny;
}
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
AIPSetupLineXY(pSingleCMD, x1, y1);
pSingleCMD++;
AIPSetupLineXY2(pSingleCMD, x2, y2);
pSingleCMD++;
AIPSetupLineNumber(pSingleCMD, 0);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, ulCommand);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, ulCommand);
+
/* Update Write Pointer */
- mUpdateWritePointer;
+ mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
AIPSetupLineXY_MMIO(x1, y1);
AIPSetupLineXY2_MMIO(x2, y2);
AIPSetupLineNumber_MMIO(0);
- ASTSetupCMDReg_MMIO(ulCommand);
-
+ ASTSetupCMDReg_MMIO(ulCommand);
+
vWaitEngIdle(pScrn, pAST);
-
+
}
@@ -1626,14 +1626,14 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2,
int flags, int phase)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
PKT_SC *pSingleCMD;
- ULONG dstbase, ulCommand;
- ULONG miny, maxy;
+ ULONG dstbase, ulCommand;
+ ULONG miny, maxy;
/*
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ASTSubsequentDashedTwoPointLine\n");
-*/
+*/
/* Modify Reg. Value */
ulCommand = pAST->ulCMDReg | CMD_NORMAL_LINE;
@@ -1644,8 +1644,8 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
if (pAST->EnableClip)
ulCommand |= CMD_ENABLE_CLIP;
else
- ulCommand &= ~CMD_ENABLE_CLIP;
- dstbase = 0;
+ ulCommand &= ~CMD_ENABLE_CLIP;
+ dstbase = 0;
miny = (y1 > y2) ? y2 : y1;
maxy = (y1 > y2) ? y1 : y2;
if(maxy >= pScrn->virtualY) {
@@ -1654,40 +1654,40 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
y2 -= miny;
}
- if (!pAST->MMIO2D)
- {
- /* Write to CMDQ */
+ if (!pAST->MMIO2D)
+ {
+ /* Write to CMDQ */
pSingleCMD = (PKT_SC *) pjRequestCMDQ(pAST, PKT_SINGLE_LENGTH*5);
ASTSetupDSTBase(pSingleCMD, dstbase);
- pSingleCMD++;
+ pSingleCMD++;
AIPSetupLineXY(pSingleCMD, x1, y1);
pSingleCMD++;
AIPSetupLineXY2(pSingleCMD, x2, y2);
pSingleCMD++;
AIPSetupLineNumber(pSingleCMD, 0);
- pSingleCMD++;
- ASTSetupCMDReg(pSingleCMD, ulCommand);
-
+ pSingleCMD++;
+ ASTSetupCMDReg(pSingleCMD, ulCommand);
+
/* Update Write Pointer */
mUpdateWritePointer;
/* Patch KDE pass abnormal point, ycchen@052507 */
vWaitEngIdle(pScrn, pAST);
-
+
}
else
- {
+ {
ASTSetupDSTBase_MMIO(dstbase);
AIPSetupLineXY_MMIO(x1, y1);
AIPSetupLineXY2_MMIO(x2, y2);
AIPSetupLineNumber_MMIO(0);
ASTSetupCMDReg_MMIO(ulCommand);
-
+
vWaitEngIdle(pScrn, pAST);
-
+
}
-
+
}
#endif
@@ -1701,7 +1701,7 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxes, int id)
{
ASTPtr pAST = ASTPTR(pScrn);
- int nBoxs;
+ int nBoxs;
int ScaleFactorH, ScaleFactorV;
ULONG InitScaleFactorH, InitScaleFactorV;
BURSTSCALECMD CopyCmd = {0};
@@ -1712,12 +1712,12 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
short lSrcX, lSrcY;
ULONG dwCmd = 0;
int i;
-
+
pBox = REGION_RECTS(clipBoxes);
nBoxs = REGION_NUM_RECTS(clipBoxes);
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "MMIO=%x,pBox=%x, nBoxs=%x\n", pAST->MMIO2D, pBox, nBoxs);
-
+
if(0==pPriv->drw_w || 0==pPriv->drw_h)
{
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "drwx=%x, drwy=%x\n", pPriv->drw_w, pPriv->drw_h);
@@ -1727,7 +1727,7 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
/* calc scaling factor */
fScaleX = (float)pPriv->src_w /(float)pPriv->drw_w;
fScaleY = (float)pPriv->src_h /(float)pPriv->drw_h;
-
+
if (pPriv->src_w == pPriv->drw_w)
ScaleFactorH = 0x8000;
else
@@ -1753,7 +1753,7 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
else
InitScaleFactorV = 0x4000;
- switch(pScrn->bitsPerPixel)
+ switch(pScrn->bitsPerPixel)
{
case 32:
dwCmd = CMD_COLOR_32;
@@ -1776,30 +1776,30 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
switch(id)
{
case PIXEL_FMT_YUY2:
- dwCmd |= YUV_FORMAT_YUYV;
+ dwCmd |= YUV_FORMAT_YUYV;
break;
- case PIXEL_FMT_UYVY:
- dwCmd |= YUV_FORMAT_UYVY;
+ case PIXEL_FMT_UYVY:
+ dwCmd |= YUV_FORMAT_UYVY;
break;
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Other pix format:%x\n", id);
break;
}
-
+
for(i = 0; i < nBoxs; i++, pBox++)
{
rect.x = pBox->x1 - pPriv->drw_x;
rect.y = pBox->y1 - pPriv->drw_y;
rect.width = pBox->x2 - pBox->x1;
- rect.height = pBox->y2 - pBox->y1;
-
+ rect.height = pBox->y2 - pBox->y1;
+
lSrcX = (ULONG)((float)rect.x * fScaleX + pPriv->src_x + 0.5f);
lSrcY = (ULONG)((float)rect.y * fScaleY + pPriv->src_y + 0.5f);
-
- pCopyCmd = (BURSTSCALECMD*)pjRequestCMDQ(pAST, PKT_TYPESCALE_LENGTH);
-
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "pCopyCmd=%p, pBox=%x,%x,%x,%x\n", pCopyCmd, pBox->x1, pBox->y1, pBox->x2, pBox->y2);
-
+
+ pCopyCmd = (BURSTSCALECMD*)pjRequestCMDQ(pAST, PKT_TYPESCALE_LENGTH);
+
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "pCopyCmd=%p, pBox=%x,%x,%x,%x\n", pCopyCmd, pBox->x1, pBox->y1, pBox->x2, pBox->y2);
+
CopyCmd.dwHeader0 = (ULONG) PKT_BURST_CMD_HEADER0 |
PKT_TYPESCALE_DATALENGTH |
PKT_TYPESCALE_ADDRSTART |
@@ -1808,16 +1808,16 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "CopyCmd.dwHeader0=%x\n", CopyCmd.dwHeader0);
CopyCmd.dwSrcPitch = (ULONG)(pPriv->srcPitch << 16);
-
+
CopyCmd.dwDstHeightPitch = (ULONG) ((pAST->VideoModeInfo.ScreenPitch << 16) | 0xFFFF);
-
- CopyCmd.dwDstXY = (ULONG) ((pBox->x1 << 16) | (pBox->y1 & 0xFFFF));
- CopyCmd.dwSrcXY = (ULONG) ((lSrcX << 16) | (lSrcY & 0xFFFF));
- CopyCmd.dwRecHeightWidth = (ULONG) ((rect.width << 16) | rect.height);
-
+
+ CopyCmd.dwDstXY = (ULONG) ((pBox->x1 << 16) | (pBox->y1 & 0xFFFF));
+ CopyCmd.dwSrcXY = (ULONG) ((lSrcX << 16) | (lSrcY & 0xFFFF));
+ CopyCmd.dwRecHeightWidth = (ULONG) ((rect.width << 16) | rect.height);
+
CopyCmd.dwInitScaleFactorH = InitScaleFactorH;
CopyCmd.dwInitScaleFactorV = InitScaleFactorV;
- CopyCmd.dwScaleFactorH = ScaleFactorH;
+ CopyCmd.dwScaleFactorH = ScaleFactorH;
CopyCmd.dwScaleFactorV = ScaleFactorV;
CopyCmd.dwSrcBaseAddr = pPriv->bufAddr[pPriv->currentBuf];
@@ -1825,10 +1825,10 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
CopyCmd.dwCmd = dwCmd;
CopyCmd.NullData[0] = 0; /* for alignment */
memcpy(pCopyCmd, &CopyCmd, sizeof(CopyCmd));
-
+
mUpdateWritePointer;
-
-#if 0
+
+#if 0
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%08x, %08x, %08x, %08x\n",
*(ULONG *)(pAST->MMIOVirtualAddr+0x8000),
*(ULONG *)(pAST->MMIOVirtualAddr+0x8004),
@@ -1852,7 +1852,7 @@ void ASTDisplayVideo(ScrnInfoPtr pScrn, ASTPortPrivPtr pPriv, RegionPtr clipBoxe
#endif
} /* End of for-loop */
-
+
} /* ASTDisplayVideo */
#endif /* AstVideo */
diff --git a/src/ast_cursor.c b/src/ast_cursor.c
index c672564..80d787a 100644
--- a/src/ast_cursor.c
+++ b/src/ast_cursor.c
@@ -57,7 +57,7 @@
Bool ASTCursorInit(ScreenPtr pScreen);
Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST);
void ASTDisableHWC(ScrnInfoPtr pScrn);
-static void ASTShowCursor(ScrnInfoPtr pScrn);
+static void ASTShowCursor(ScrnInfoPtr pScrn);
static void ASTHideCursor(ScrnInfoPtr pScrn);
static void ASTSetCursorPosition(ScrnInfoPtr pScrn, int x, int y);
static void ASTSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg);
@@ -65,8 +65,8 @@ static void ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src);
static Bool ASTUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs);
static void ASTLoadCursorARGB(ScrnInfoPtr pScrn, CursorPtr pCurs);
static Bool ASTUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs);
-static void ASTFireCursor(ScrnInfoPtr pScrn);
-static void ASTShowCursor_AST1180(ScrnInfoPtr pScrn);
+static void ASTFireCursor(ScrnInfoPtr pScrn);
+static void ASTShowCursor_AST1180(ScrnInfoPtr pScrn);
static void ASTHideCursor_AST1180(ScrnInfoPtr pScrn);
static void ASTSetCursorPosition_AST1180(ScrnInfoPtr pScrn, int x, int y);
@@ -83,7 +83,7 @@ ASTCursorInit(ScreenPtr pScreen)
pAST->HWCInfoPtr = infoPtr;
infoPtr->Flags = HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
- HARDWARE_CURSOR_INVERT_MASK |
+ HARDWARE_CURSOR_INVERT_MASK |
HARDWARE_CURSOR_BIT_ORDER_MSBFIRST;
infoPtr->MaxWidth = MAX_HWC_WIDTH;
@@ -93,14 +93,14 @@ ASTCursorInit(ScreenPtr pScreen)
infoPtr->ShowCursor = ASTShowCursor_AST1180;
infoPtr->HideCursor = ASTHideCursor_AST1180;
infoPtr->SetCursorPosition = ASTSetCursorPosition_AST1180;
- }
+ }
else
{
infoPtr->ShowCursor = ASTShowCursor;
infoPtr->HideCursor = ASTHideCursor;
infoPtr->SetCursorPosition = ASTSetCursorPosition;
}
- infoPtr->SetCursorColors = ASTSetCursorColors;
+ infoPtr->SetCursorColors = ASTSetCursorColors;
infoPtr->LoadCursorImage = ASTLoadCursorImage;
infoPtr->UseHWCursor = ASTUseHWCursor;
#ifdef ARGB_CURSOR
@@ -109,7 +109,7 @@ ASTCursorInit(ScreenPtr pScreen)
#endif
return(xf86InitCursor(pScreen, infoPtr));
-
+
}
Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST)
@@ -117,76 +117,76 @@ Bool bInitHWC(ScrnInfoPtr pScrn, ASTRecPtr pAST)
ScreenPtr pScreen;
/* init cursor cache info */
- /* Set HWC_NUM in Options instead */
+ /* Set HWC_NUM in Options instead */
/* pAST->HWCInfo.HWC_NUM = DEFAULT_HWC_NUM; */
- pAST->HWCInfo.HWC_NUM_Next = 0;
-
- /* allocate HWC cache */
- if (!pAST->pHWCPtr) {
+ pAST->HWCInfo.HWC_NUM_Next = 0;
+
+ /* allocate HWC cache */
+ if (!pAST->pHWCPtr) {
pScreen = xf86ScrnToScreen(pScrn);
pAST->pHWCPtr = xf86AllocateOffscreenLinear (pScreen, (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM, HWC_ALIGN, NULL, NULL, NULL);
- if (!pAST->pHWCPtr) {
+ if (!pAST->pHWCPtr) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Allocate HWC Cache failed \n");
return (FALSE);
}
-
+
pAST->HWCInfo.ulHWCOffsetAddr = pAST->pHWCPtr->offset*((pScrn->bitsPerPixel + 1) / 8);
- pAST->HWCInfo.pjHWCVirtualAddr = pAST->FBVirtualAddr + pAST->HWCInfo.ulHWCOffsetAddr;
+ pAST->HWCInfo.pjHWCVirtualAddr = pAST->FBVirtualAddr + pAST->HWCInfo.ulHWCOffsetAddr;
}
- return (TRUE);
+ return (TRUE);
}
void ASTDisableHWC(ScrnInfoPtr pScrn)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
-
+ ASTRecPtr pAST = ASTPTR(pScrn);
+
if (pAST->jChipType == AST1180)
- ASTHideCursor_AST1180(pScrn);
- else
+ ASTHideCursor_AST1180(pScrn);
+ else
ASTHideCursor(pScrn);
-}
+}
static void
ASTShowCursor(ScrnInfoPtr pScrn)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
UCHAR jReg;
jReg= 0x02;
if (pAST->HWCInfo.cursortype ==HWC_COLOR)
jReg |= 0x01;
-
- SetIndexRegMask(CRTC_PORT, 0xCB, 0xFC, jReg); /* enable mono */
-
+
+ SetIndexRegMask(CRTC_PORT, 0xCB, 0xFC, jReg); /* enable mono */
+
}
static void
ASTHideCursor(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
-
- SetIndexRegMask(CRTC_PORT, 0xCB, 0xFC, 0x00); /* disable HWC */
-
+
+ SetIndexRegMask(CRTC_PORT, 0xCB, 0xFC, 0x00); /* disable HWC */
+
}
static void
ASTSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- DisplayModePtr mode = pAST->ModePtr;
+ DisplayModePtr mode = pAST->ModePtr;
int x_offset, y_offset;
- UCHAR *pjSignature;
-
- /* Set cursor info to Offscreen */
- pjSignature = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
+ UCHAR *pjSignature;
+
+ /* Set cursor info to Offscreen */
+ pjSignature = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
*((ULONG *) (pjSignature + HWC_SIGNATURE_X)) = x;
*((ULONG *) (pjSignature + HWC_SIGNATURE_Y)) = y;
-
+
x_offset = pAST->HWCInfo.offset_x;
y_offset = pAST->HWCInfo.offset_y;
-
+
if(x < 0) {
x_offset = (-x) + pAST->HWCInfo.offset_x;
x = 0;
@@ -198,50 +198,50 @@ ASTSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
}
if(mode->Flags & V_DBLSCAN) y *= 2;
-
+
/* Set to Reg. */
- SetIndexReg(CRTC_PORT, 0xC2, (UCHAR) (x_offset));
- SetIndexReg(CRTC_PORT, 0xC3, (UCHAR) (y_offset));
- SetIndexReg(CRTC_PORT, 0xC4, (UCHAR) (x & 0xFF));
- SetIndexReg(CRTC_PORT, 0xC5, (UCHAR) ((x >> 8) & 0x0F));
- SetIndexReg(CRTC_PORT, 0xC6, (UCHAR) (y & 0xFF));
- SetIndexReg(CRTC_PORT, 0xC7, (UCHAR) ((y >> 8) & 0x07));
-
+ SetIndexReg(CRTC_PORT, 0xC2, (UCHAR) (x_offset));
+ SetIndexReg(CRTC_PORT, 0xC3, (UCHAR) (y_offset));
+ SetIndexReg(CRTC_PORT, 0xC4, (UCHAR) (x & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC5, (UCHAR) ((x >> 8) & 0x0F));
+ SetIndexReg(CRTC_PORT, 0xC6, (UCHAR) (y & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC7, (UCHAR) ((y >> 8) & 0x07));
+
/* Fire HWC */
ASTFireCursor(pScrn);
-
-}
+
+}
static void
ASTSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
{
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG fg1, bg1;
-
+
fg1 = (fg & 0x0F) | (((fg>>8) & 0x0F) << 4) | (((fg>>16) & 0x0F) << 8);
- bg1 = (bg & 0x0F) | (((bg>>8) & 0x0F) << 4) | (((bg>>16) & 0x0F) << 8);
+ bg1 = (bg & 0x0F) | (((bg>>8) & 0x0F) << 4) | (((bg>>16) & 0x0F) << 8);
/* Fixed xorg bugzilla #20609, ycchen@031209 */
- if ( (fg1 != pAST->HWCInfo.fg) || (bg1 != pAST->HWCInfo.bg) )
+ if ( (fg1 != pAST->HWCInfo.fg) || (bg1 != pAST->HWCInfo.bg) )
{
pAST->HWCInfo.fg = fg1;
pAST->HWCInfo.bg = bg1;
ASTLoadCursorImage(pScrn, pAST->HWCInfo.cursorpattern);
- }
+ }
}
static void
ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
int i, j, k;
UCHAR *pjSrcAnd, *pjSrcXor, *pjDstData;
ULONG ulTempDstAnd32[2], ulTempDstXor32[2], ulTempDstData32[2];
UCHAR jTempSrcAnd32, jTempSrcXor32;
- ULONG ulCheckSum = 0;
- ULONG ulPatternAddr;
-
+ ULONG ulCheckSum = 0;
+ ULONG ulPatternAddr;
+
/* init cursor info. */
pAST->HWCInfo.cursortype = HWC_MONO;
pAST->HWCInfo.width = (USHORT) MAX_HWC_WIDTH;
@@ -252,12 +252,12 @@ ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src)
/* copy to hwc info */
for (i=0; i< MAX_HWC_WIDTH*MAX_HWC_HEIGHT/4; i+=4)
*(ULONG *) (pAST->HWCInfo.cursorpattern + i) = *(ULONG *) (src + i);
-
+
/* copy cursor image to cache */
pjSrcXor = src;
pjSrcAnd = src + (MAX_HWC_WIDTH*MAX_HWC_HEIGHT/8);
pjDstData = pAST->HWCInfo.pjHWCVirtualAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next;
-
+
for (j = 0; j < MAX_HWC_HEIGHT; j++)
{
for (i = 0; i < (MAX_HWC_WIDTH/8); i++ )
@@ -267,107 +267,107 @@ ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src)
jTempSrcAnd32 = *((UCHAR *) pjSrcAnd);
jTempSrcXor32 = *((UCHAR *) pjSrcXor);
ulTempDstAnd32[0] = ((jTempSrcAnd32 >> k) & 0x01) ? 0x00008000L:0x00L;
- ulTempDstXor32[0] = ((jTempSrcXor32 >> k) & 0x01) ? 0x00004000L:0x00L;
- ulTempDstData32[0] = ((jTempSrcXor32 >> k) & 0x01) ? pAST->HWCInfo.fg:pAST->HWCInfo.bg;
- ulTempDstAnd32[1] = ((jTempSrcAnd32 >> (k-1)) & 0x01) ? 0x80000000L:0x00L;
- ulTempDstXor32[1] = ((jTempSrcXor32 >> (k-1)) & 0x01) ? 0x40000000L:0x00L;
+ ulTempDstXor32[0] = ((jTempSrcXor32 >> k) & 0x01) ? 0x00004000L:0x00L;
+ ulTempDstData32[0] = ((jTempSrcXor32 >> k) & 0x01) ? pAST->HWCInfo.fg:pAST->HWCInfo.bg;
+ ulTempDstAnd32[1] = ((jTempSrcAnd32 >> (k-1)) & 0x01) ? 0x80000000L:0x00L;
+ ulTempDstXor32[1] = ((jTempSrcXor32 >> (k-1)) & 0x01) ? 0x40000000L:0x00L;
ulTempDstData32[1] = ((jTempSrcXor32 >> (k-1)) & 0x01) ? (pAST->HWCInfo.fg << 16):(pAST->HWCInfo.bg << 16);
/* No inverse for X Window cursor, ycchen@111808 */
if (ulTempDstAnd32[0])
ulTempDstXor32[0] = 0;
if (ulTempDstAnd32[1])
- ulTempDstXor32[1] = 0;
+ ulTempDstXor32[1] = 0;
*((ULONG *) pjDstData) = ulTempDstAnd32[0] | ulTempDstXor32[0] | ulTempDstData32[0] | ulTempDstAnd32[1] | ulTempDstXor32[1] | ulTempDstData32[1];
- ulCheckSum += *((ULONG *) pjDstData);
+ ulCheckSum += *((ULONG *) pjDstData);
pjDstData += 4;
}
pjSrcAnd ++;
pjSrcXor ++;
-
- }
-
- }
+
+ }
+
+ }
if (pAST->jChipType == AST1180)
{
- ulPatternAddr = pAST->ulVRAMBase + (pAST->HWCInfo.ulHWCOffsetAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next);
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_PATTERNADDR, ulPatternAddr);
- }
+ ulPatternAddr = pAST->ulVRAMBase + (pAST->HWCInfo.ulHWCOffsetAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next);
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_PATTERNADDR, ulPatternAddr);
+ }
else
{
/* Write Checksum as signature */
- pjDstData = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
+ pjDstData = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
*((ULONG *) pjDstData) = ulCheckSum;
*((ULONG *) (pjDstData + HWC_SIGNATURE_SizeX)) = pAST->HWCInfo.width;
*((ULONG *) (pjDstData + HWC_SIGNATURE_SizeY)) = pAST->HWCInfo.height;
*((ULONG *) (pjDstData + HWC_SIGNATURE_HOTSPOTX)) = 0;
*((ULONG *) (pjDstData + HWC_SIGNATURE_HOTSPOTY)) = 0;
-
+
/* set pattern offset */
ulPatternAddr = ((pAST->HWCInfo.ulHWCOffsetAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next) >> 3);
- SetIndexReg(CRTC_PORT, 0xC8, (UCHAR) (ulPatternAddr & 0xFF));
- SetIndexReg(CRTC_PORT, 0xC9, (UCHAR) ((ulPatternAddr >> 8) & 0xFF));
- SetIndexReg(CRTC_PORT, 0xCA, (UCHAR) ((ulPatternAddr >> 16) & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC8, (UCHAR) (ulPatternAddr & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC9, (UCHAR) ((ulPatternAddr >> 8) & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xCA, (UCHAR) ((ulPatternAddr >> 16) & 0xFF));
}
-
+
/* update HWC_NUM_Next */
pAST->HWCInfo.HWC_NUM_Next = (pAST->HWCInfo.HWC_NUM_Next+1) % pAST->HWCInfo.HWC_NUM;
-
+
}
-static Bool
+static Bool
ASTUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
{
if ( (pCurs->bits->width > MAX_HWC_WIDTH) || (pCurs->bits->height > MAX_HWC_HEIGHT) )
return FALSE;
-
+
return TRUE;
}
static void
ASTLoadCursorARGB(ScrnInfoPtr pScrn, CursorPtr pCurs)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
UCHAR *pjDstXor, *pjSrcXor;
ULONG i, j, ulSrcWidth, ulSrcHeight;
- ULONG ulPerPixelCopy, ulTwoPixelCopy;
+ ULONG ulPerPixelCopy, ulTwoPixelCopy;
LONG lAlphaDstDelta, lLastAlphaDstDelta;
union
{
ULONG ul;
UCHAR b[4];
- } ulSrcData32[2], ulData32;
+ } ulSrcData32[2], ulData32;
union
{
USHORT us;
UCHAR b[2];
} usData16;
- ULONG ulCheckSum = 0;
+ ULONG ulCheckSum = 0;
ULONG ulPatternAddr;
-
+
/* init cursor info. */
pAST->HWCInfo.cursortype = HWC_COLOR;
pAST->HWCInfo.width = pCurs->bits->width;
pAST->HWCInfo.height = pCurs->bits->height;
pAST->HWCInfo.offset_x = MAX_HWC_WIDTH - pAST->HWCInfo.width;
pAST->HWCInfo.offset_y = MAX_HWC_HEIGHT - pAST->HWCInfo.height;
-
+
/* copy cursor image to cache */
- ulSrcWidth = pAST->HWCInfo.width;
- ulSrcHeight = pAST->HWCInfo.height;
-
+ ulSrcWidth = pAST->HWCInfo.width;
+ ulSrcHeight = pAST->HWCInfo.height;
+
lAlphaDstDelta = MAX_HWC_WIDTH << 1;
lLastAlphaDstDelta = lAlphaDstDelta - (ulSrcWidth << 1);
pjSrcXor = (UCHAR *) pCurs->bits->argb;;
pjDstXor = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next
+ lLastAlphaDstDelta + (MAX_HWC_HEIGHT - ulSrcHeight) * lAlphaDstDelta;
-
+
ulPerPixelCopy = ulSrcWidth & 1;
ulTwoPixelCopy = ulSrcWidth >> 1;
-
+
for (j = 0; j < ulSrcHeight; j++)
{
@@ -378,62 +378,62 @@ ASTLoadCursorARGB(ScrnInfoPtr pScrn, CursorPtr pCurs)
ulData32.b[0] = ulSrcData32[0].b[1] | (ulSrcData32[0].b[0] >> 4);
ulData32.b[1] = ulSrcData32[0].b[3] | (ulSrcData32[0].b[2] >> 4);
ulData32.b[2] = ulSrcData32[1].b[1] | (ulSrcData32[1].b[0] >> 4);
- ulData32.b[3] = ulSrcData32[1].b[3] | (ulSrcData32[1].b[2] >> 4);
+ ulData32.b[3] = ulSrcData32[1].b[3] | (ulSrcData32[1].b[2] >> 4);
*((ULONG *) pjDstXor) = ulData32.ul;
- ulCheckSum += (ULONG) ulData32.ul;
+ ulCheckSum += (ULONG) ulData32.ul;
pjDstXor += 4;
pjSrcXor += 8;
- }
-
+ }
+
for (i = 0; i < ulPerPixelCopy; i++ )
{
ulSrcData32[0].ul = *((ULONG *) pjSrcXor) & 0xF0F0F0F0;
usData16.b[0] = ulSrcData32[0].b[1] | (ulSrcData32[0].b[0] >> 4);
usData16.b[1] = ulSrcData32[0].b[3] | (ulSrcData32[0].b[2] >> 4);
*((USHORT *) pjDstXor) = usData16.us;
- ulCheckSum += (ULONG) usData16.us;
+ ulCheckSum += (ULONG) usData16.us;
pjDstXor += 2;
pjSrcXor += 4;
- }
+ }
/* Point to next source and dest scans */
pjDstXor += lLastAlphaDstDelta;
-
+
} /* end of for-loop */
if (pAST->jChipType == AST1180)
{
- ulPatternAddr = pAST->ulVRAMBase + (pAST->HWCInfo.ulHWCOffsetAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next);
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_PATTERNADDR, ulPatternAddr);
- }
+ ulPatternAddr = pAST->ulVRAMBase + (pAST->HWCInfo.ulHWCOffsetAddr+(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next);
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_PATTERNADDR, ulPatternAddr);
+ }
else
{
/* Write Checksum as signature */
- pjDstXor = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
+ pjDstXor = (UCHAR *) pAST->HWCInfo.pjHWCVirtualAddr + (HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next + HWC_SIZE;
*((ULONG *) pjDstXor) = ulCheckSum;
*((ULONG *) (pjDstXor + HWC_SIGNATURE_SizeX)) = pAST->HWCInfo.width;
*((ULONG *) (pjDstXor + HWC_SIGNATURE_SizeY)) = pAST->HWCInfo.height;
*((ULONG *) (pjDstXor + HWC_SIGNATURE_HOTSPOTX)) = 0;
*((ULONG *) (pjDstXor + HWC_SIGNATURE_HOTSPOTY)) = 0;
-
+
/* set pattern offset */
ulPatternAddr = ((pAST->HWCInfo.ulHWCOffsetAddr +(HWC_SIZE+HWC_SIGNATURE_SIZE)*pAST->HWCInfo.HWC_NUM_Next) >> 3);
- SetIndexReg(CRTC_PORT, 0xC8, (UCHAR) (ulPatternAddr & 0xFF));
- SetIndexReg(CRTC_PORT, 0xC9, (UCHAR) ((ulPatternAddr >> 8) & 0xFF));
- SetIndexReg(CRTC_PORT, 0xCA, (UCHAR) ((ulPatternAddr >> 16) & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC8, (UCHAR) (ulPatternAddr & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xC9, (UCHAR) ((ulPatternAddr >> 8) & 0xFF));
+ SetIndexReg(CRTC_PORT, 0xCA, (UCHAR) ((ulPatternAddr >> 16) & 0xFF));
}
-
+
/* update HWC_NUM_Next */
pAST->HWCInfo.HWC_NUM_Next = (pAST->HWCInfo.HWC_NUM_Next+1) % pAST->HWCInfo.HWC_NUM;
-
+
}
-static Bool
+static Bool
ASTUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs)
{
if ( (pCurs->bits->width > MAX_HWC_WIDTH) || (pCurs->bits->height > MAX_HWC_HEIGHT) )
return FALSE;
-
+
return TRUE;
}
@@ -441,30 +441,30 @@ static void
ASTFireCursor(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
-
- SetIndexRegMask(CRTC_PORT, 0xCB, 0xFF, 0x00); /* dummp write to fire HWC */
-
+
+ SetIndexRegMask(CRTC_PORT, 0xCB, 0xFF, 0x00); /* dummp write to fire HWC */
+
}
/* AST1180 */
static void
ASTShowCursor_AST1180(ScrnInfoPtr pScrn)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData, ulTemp;
- ReadAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulTemp);
+ ReadAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulTemp);
ReadAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
ulData &= ~AST1180_ALPHAHWC;
if (pAST->HWCInfo.cursortype ==HWC_COLOR)
- ulData |= AST1180_ALPHAHWC;
+ ulData |= AST1180_ALPHAHWC;
ulData |= AST1180_ENABLEHWC;
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
/* fire cursor */
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulTemp);
-
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulTemp);
+
} /* ASTShowCursor_AST1180 */
static void
@@ -475,24 +475,24 @@ ASTHideCursor_AST1180(ScrnInfoPtr pScrn)
ReadAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
ulData &= ~AST1180_ENABLEHWC;
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
-
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_VGA1_CTRL, ulData);
+
/* fire cursor */
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, 0x07ff07ff);
-
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, 0x07ff07ff);
+
} /* ASTHideCursor_AST1180 */
static void
ASTSetCursorPosition_AST1180(ScrnInfoPtr pScrn, int x, int y)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- DisplayModePtr mode = pAST->ModePtr;
+ DisplayModePtr mode = pAST->ModePtr;
int x_offset, y_offset;
ULONG ulData;
-
+
x_offset = pAST->HWCInfo.offset_x;
y_offset = pAST->HWCInfo.offset_y;
-
+
if(x < 0) {
x_offset = (-x) + pAST->HWCInfo.offset_x;
x = 0;
@@ -504,13 +504,13 @@ ASTSetCursorPosition_AST1180(ScrnInfoPtr pScrn, int x, int y)
}
if(mode->Flags & V_DBLSCAN) y *= 2;
-
+
/* Set to Reg. */
ulData = (x_offset) | (y_offset << 8);
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_OFFSET, ulData);
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_OFFSET, ulData);
ulData = (x) | (y << 16);
- WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulData);
-
-} /* ASTSetCursorPosition_AST1180 */
+ WriteAST1180SOC(AST1180_GFX_BASE+AST1180_HWC1_POSITION, ulData);
+
+} /* ASTSetCursorPosition_AST1180 */
#endif /* End of HWC */
diff --git a/src/ast_driver.c b/src/ast_driver.c
index 4de6c78..c6f8728 100644
--- a/src/ast_driver.c
+++ b/src/ast_driver.c
@@ -142,23 +142,23 @@ _X_EXPORT DriverRec AST = {
static SymTabRec ASTChipsets[] = {
{PCI_CHIP_AST2000, "ASPEED Graphics Family"},
{PCI_CHIP_AST2100, "ASPEED Graphics Family"},
- {PCI_CHIP_AST1180, "ASPEED AST1180 Graphics"},
+ {PCI_CHIP_AST1180, "ASPEED AST1180 Graphics"},
{-1, NULL}
};
static PciChipsets ASTPciChipsets[] = {
{PCI_CHIP_AST2000, PCI_CHIP_AST2000, RES_SHARED_VGA},
{PCI_CHIP_AST2100, PCI_CHIP_AST2100, RES_SHARED_VGA},
- {PCI_CHIP_AST1180, PCI_CHIP_AST1180, RES_SHARED_VGA},
+ {PCI_CHIP_AST1180, PCI_CHIP_AST1180, RES_SHARED_VGA},
{-1, -1, RES_UNDEFINED }
};
typedef enum {
OPTION_NOACCEL,
- OPTION_MMIO2D,
+ OPTION_MMIO2D,
OPTION_SW_CURSOR,
OPTION_HWC_NUM,
- OPTION_ENG_CAPS,
+ OPTION_ENG_CAPS,
OPTION_DBG_SELECT,
OPTION_NO_DDC,
OPTION_VGA2_CLONE
@@ -190,7 +190,7 @@ static XF86ModuleVersionInfo astVersRec = {
ABI_CLASS_VIDEODRV,
#ifdef PATCH_ABI_VERSION
ABI_VIDEODRV_VERSION_PATCH,
-#else
+#else
ABI_VIDEODRV_VERSION,
#endif
MOD_CLASS_VIDEODRV,
@@ -241,7 +241,7 @@ ASTIdentify(int flags)
const OptionInfoRec *
ASTAvailableOptions(int chipid, int busid)
{
-
+
return ASTOptions;
}
@@ -258,7 +258,7 @@ ASTProbe(DriverPtr drv, int flags)
{
int i, numUsed, numDevSections, *usedChips;
Bool foundScreen = FALSE;
- GDevPtr *devSections;
+ GDevPtr *devSections;
/*
* Find the config file Device sections that match this
@@ -319,22 +319,22 @@ ASTProbe(DriverPtr drv, int flags)
pScrn->driverVersion = AST_VERSION;
pScrn->driverName = AST_DRIVER_NAME;
pScrn->name = AST_NAME;
-
+
pScrn->Probe = ASTProbe;
pScrn->PreInit = ASTPreInit;
pScrn->ScreenInit = ASTScreenInit;
pScrn->SwitchMode = ASTSwitchMode;
- pScrn->AdjustFrame = ASTAdjustFrame;
+ pScrn->AdjustFrame = ASTAdjustFrame;
pScrn->EnterVT = ASTEnterVT;
pScrn->LeaveVT = ASTLeaveVT;
pScrn->FreeScreen = ASTFreeScreen;
pScrn->ValidMode = ASTValidMode;
-
- foundScreen = TRUE;
+
+ foundScreen = TRUE;
} /* end of if */
} /* end of for-loop */
- } /* end of if flags */
+ } /* end of if flags */
free(usedChips);
@@ -354,12 +354,12 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
EntityInfoPtr pEnt;
int flags24;
rgb defaultWeight = { 0, 0, 0 };
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
vgaHWPtr hwp;
#endif
-
+
ASTRecPtr pAST;
-
+
ClockRangePtr clockRanges;
int i;
MessageType from;
@@ -384,7 +384,7 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
#endif
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
/* The vgahw module should be loaded here when needed */
if (!xf86LoadSubModule(pScrn, "vgahw"))
return FALSE;
@@ -393,14 +393,14 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
/* The fb module should be loaded here when needed */
if (!xf86LoadSubModule(pScrn, "fb"))
return FALSE;
-
-#if !(defined(__sparc__)) && !(defined(__mips__))
+
+#if !(defined(__sparc__)) && !(defined(__mips__))
/* Allocate a vgaHWRec */
if (!vgaHWGetHWRec(pScrn))
return FALSE;
hwp = VGAHWPTR(pScrn);
vgaHWSetStdFuncs(hwp);
-#endif
+#endif
/* Color Depth Check */
flags24 = Support32bppFb;
@@ -432,16 +432,16 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
pScrn->bitsPerPixel);
return FALSE;
}
-
+
/* fill pScrn misc. */
pScrn->progClock = TRUE;
pScrn->rgbBits = 6;
pScrn->monitor = pScrn->confScreen->monitor; /* should be initialized before set gamma */
#ifndef XSERVER_LIBPCIACCESS
pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
- pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
+ pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
#endif
-
+
/*
* If the driver can do gamma correction, it should call xf86SetGamma()
* here.
@@ -450,7 +450,7 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
Gamma zeros = { 0.0, 0.0, 0.0 };
if (!xf86SetGamma(pScrn, zeros)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "call xf86SetGamma failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "call xf86SetGamma failed \n");
return FALSE;
}
}
@@ -458,17 +458,17 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
if (!xf86SetWeight(pScrn, defaultWeight, defaultWeight)) {
return FALSE;
- }
+ }
if (!xf86SetDefaultVisual(pScrn, -1)) {
return FALSE;
- }
+ }
/* Allocate driverPrivate */
if (!ASTGetRec(pScrn)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "call ASTGetRec failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "call ASTGetRec failed \n");
return FALSE;
- }
+ }
/* Fill AST Info */
pAST = ASTPTR(pScrn);
@@ -480,18 +480,18 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
#endif
/* Process the options
- * pScrn->confScreen, pScrn->display, pScrn->monitor, pScrn->numEntities,
+ * pScrn->confScreen, pScrn->display, pScrn->monitor, pScrn->numEntities,
* and pScrn->entityList should be initialized before
*/
- xf86CollectOptions(pScrn, NULL);
+ xf86CollectOptions(pScrn, NULL);
if (!(pAST->Options = malloc(sizeof(ASTOptions))))
- {
- ASTFreeRec(pScrn);
+ {
+ ASTFreeRec(pScrn);
return FALSE;
- }
+ }
memcpy(pAST->Options, ASTOptions, sizeof(ASTOptions));
xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pAST->Options);
-
+
/*
* Set the Chipset and ChipRev, allowing config file entries to
* override.
@@ -520,7 +520,7 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
/* Resource Allocation */
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
- pAST->IODBase = pScrn->domainIOBase;
+ pAST->IODBase = pScrn->domainIOBase;
#else
pAST->IODBase = 0;
#endif
@@ -533,9 +533,9 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
#endif
pAST->PIOOffset =
pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
-
+
pAST->RelocateIO = (IOADDRESS)(PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) + pAST->IODBase);
-
+
if (pAST->pEnt->device->MemBase != 0) {
pAST->FBPhysAddr = pAST->pEnt->device->MemBase;
from = X_CONFIG;
@@ -569,44 +569,44 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
}
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "IO registers at addr 0x%lX\n",
(unsigned long) pAST->MMIOPhysAddr);
-
+
/* Map MMIO */
- pAST->MMIOMapSize = DEFAULT_MMIO_SIZE;
+ pAST->MMIOMapSize = DEFAULT_MMIO_SIZE;
if (!ASTMapMMIO(pScrn)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map Memory Map IO Failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map Memory Map IO Failed \n");
return FALSE;
}
if (PCI_DEV_DEVICE_ID(pAST->PciInfo) == PCI_CHIP_AST1180)
- {
+ {
pAST->jChipType = AST1180;
-
+
/* validate mode */
if ( (pScrn->bitsPerPixel == 8) || (pScrn->depth == 8) )
{
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Given bpp (%d) is not supported by ast driver\n",
pScrn->bitsPerPixel);
- return FALSE;
+ return FALSE;
}
-
+
/* Init AST1180 */
bInitAST1180(pScrn);
-
+
/* Get AST1180 Information */
- GetAST1180DRAMInfo(pScrn);
+ GetAST1180DRAMInfo(pScrn);
pScrn->videoRam = pAST->ulVRAMSize / 1024;
-
+
}
- else
- {
- /* Enable VGA MMIO Access */
+ else
+ {
+ /* Enable VGA MMIO Access */
vEnableASTVGAMMIO(pScrn);
-
+
/* Init VGA Adapter */
if (!xf86IsPrimaryPci(pAST->PciInfo))
- {
- InitVGA(pScrn, 0);
+ {
+ InitVGA(pScrn, 0);
}
vASTOpenKey(pScrn);
@@ -614,9 +614,9 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
/* Get Chip Type */
if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x20)
- pAST->jChipType = AST2300;
+ pAST->jChipType = AST2300;
else if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x10)
- GetChipType(pScrn);
+ GetChipType(pScrn);
else
pAST->jChipType = AST2000;
@@ -624,23 +624,23 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
GetScratchOptions(pScrn);
/* Get DRAM Info */
- GetDRAMInfo(pScrn);
- pAST->ulVRAMSize = GetVRAMInfo(pScrn);
- pScrn->videoRam = pAST->ulVRAMSize / 1024;
+ GetDRAMInfo(pScrn);
+ pAST->ulVRAMSize = GetVRAMInfo(pScrn);
+ pScrn->videoRam = pAST->ulVRAMSize / 1024;
}
-
+
/* Map Framebuffer */
from = X_DEFAULT;
if (pAST->pEnt->device->videoRam) {
pScrn->videoRam = pAST->pEnt->device->videoRam;
from = X_CONFIG;
}
-
+
pAST->FbMapSize = pScrn->videoRam * 1024;
-#if 0
+#if 0
if (!ASTMapMem(pScrn)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map FB Memory Failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map FB Memory Failed \n");
return FALSE;
}
#endif
@@ -648,16 +648,16 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
pScrn->memPhysBase = (ULONG)pAST->FBPhysAddr;
pScrn->fbOffset = 0;
- /* Do DDC
+ /* Do DDC
* should be done after xf86CollectOptions
*/
- pScrn->monitor->DDC = ASTDoDDC(pScrn, pAST->pEnt->index);
+ pScrn->monitor->DDC = ASTDoDDC(pScrn, pAST->pEnt->index);
/* Mode Valid */
clockRanges = xnfcalloc(sizeof(ClockRange), 1);
clockRanges->next = NULL;
clockRanges->minClock = 9500;
- clockRanges->maxClock = GetMaxDCLK(pScrn) * 1000;
+ clockRanges->maxClock = GetMaxDCLK(pScrn) * 1000;
clockRanges->clockIndex = -1;
clockRanges->interlaceAllowed = FALSE;
clockRanges->doubleScanAllowed = FALSE;
@@ -666,14 +666,14 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST1180))
{
maxPitch = 1920;
- maxHeight = 1200;
- }
+ maxHeight = 1200;
+ }
else
{
maxPitch = 1600;
- maxHeight = 1200;
- }
-
+ maxHeight = 1200;
+ }
+
i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
pScrn->display->modes, clockRanges,
0, 320, maxPitch, 8 * pScrn->bitsPerPixel,
@@ -689,9 +689,9 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
0, 320, maxPitch, 8 * pScrn->bitsPerPixel,
200, maxHeight,
pAST->mon_h_active, pAST->mon_v_active,
- pAST->FbMapSize, LOOKUP_BEST_REFRESH);
+ pAST->FbMapSize, LOOKUP_BEST_REFRESH);
}
-
+
if (i == -1) {
ASTFreeRec(pScrn);
return FALSE;
@@ -716,10 +716,10 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
/* Accelaration Check */
pAST->noAccel = TRUE;
#ifdef HAVE_XAA_H
- pAST->AccelInfoPtr = NULL;
+ pAST->AccelInfoPtr = NULL;
#endif
- pAST->pCMDQPtr = NULL;
- pAST->CMDQInfo.ulCMDQSize = 0;
+ pAST->pCMDQPtr = NULL;
+ pAST->CMDQInfo.ulCMDQSize = 0;
#ifdef Accel_2D
if (!xf86ReturnOptValBool(pAST->Options, OPTION_NOACCEL, FALSE))
{
@@ -742,29 +742,29 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
pAST->DBGSelect = 0;
if (!xf86GetOptValInteger(pAST->Options, OPTION_DBG_SELECT, &pAST->DBGSelect)) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No DBG Seleclt options found\n");
- }
- }
+ }
+ }
}
#endif
/* HW Cursor Check */
- pAST->noHWC = TRUE;
+ pAST->noHWC = TRUE;
pAST->HWCInfoPtr = NULL;
- pAST->pHWCPtr = NULL;
-#ifdef HWC
+ pAST->pHWCPtr = NULL;
+#ifdef HWC
if (!xf86ReturnOptValBool(pAST->Options, OPTION_SW_CURSOR, FALSE)) {
if (!xf86LoadSubModule(pScrn, "ramdac")) {
ASTFreeRec(pScrn);
return FALSE;
}
-
- pAST->noHWC = FALSE;
+
+ pAST->noHWC = FALSE;
pAST->HWCInfo.HWC_NUM = DEFAULT_HWC_NUM;
if (!xf86GetOptValInteger(pAST->Options, OPTION_HWC_NUM, &pAST->HWCInfo.HWC_NUM)) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No HWC_NUM options found\n");
- }
-
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "No HWC_NUM options found\n");
+ }
+
+ }
#endif
#ifndef XSERVER_LIBPCIACCESS
@@ -784,28 +784,28 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
ASTRecPtr pAST;
VisualPtr visual;
/* for FB Manager */
- BoxRec FBMemBox;
- int AvailFBSize;
+ BoxRec FBMemBox;
+ int AvailFBSize;
pScrn = xf86ScreenToScrn(pScreen);
pAST = ASTPTR(pScrn);
if (!ASTMapMem(pScrn)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map FB Memory Failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Map FB Memory Failed \n");
return FALSE;
}
-
+
/* if (!pAST->noAccel) */
{
/* AvailFBSize = pAST->FbMapSize - pAST->CMDQInfo.ulCMDQSize; */
AvailFBSize = pAST->FbMapSize;
-
+
FBMemBox.x1 = 0;
FBMemBox.y1 = 0;
FBMemBox.x2 = pScrn->displayWidth;
FBMemBox.y2 = (AvailFBSize / (pScrn->displayWidth * ((pScrn->bitsPerPixel+1)/8))) - 1;
- if (FBMemBox.y2 < 0)
+ if (FBMemBox.y2 < 0)
FBMemBox.y2 = 32767;
if (FBMemBox.y2 < pScrn->virtualY)
return FALSE;
@@ -813,23 +813,23 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
if (!xf86InitFBManager(pScreen, &FBMemBox)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to init memory manager\n");
return FALSE;
- }
+ }
}
-
-#if !(defined(__sparc__)) && !(defined(__mips__))
- vgaHWPtr hwp;
+
+#if !(defined(__sparc__)) && !(defined(__mips__))
+ vgaHWPtr hwp;
hwp = VGAHWPTR(pScrn);
vgaHWSetMmioFuncs(hwp, pAST->MMIOVirtualAddr, 0);
#endif
- vFillASTModeInfo (pScrn);
+ vFillASTModeInfo (pScrn);
- ASTSave(pScrn);
+ ASTSave(pScrn);
if (!ASTModeInit(pScrn, pScrn->currentMode)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mode Init Failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mode Init Failed \n");
return FALSE;
- }
+ }
ASTSaveScreen(pScreen, FALSE);
ASTAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
@@ -845,7 +845,7 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
{
ASTSaveScreen(pScreen, SCREEN_SAVER_OFF);
return FALSE;
- }
+ }
switch(pScrn->bitsPerPixel) {
case 8:
@@ -858,8 +858,8 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
return FALSE;
break;
default:
- return FALSE;
-
+ return FALSE;
+
}
if (pScrn->bitsPerPixel > 8) {
@@ -876,7 +876,7 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
}
}
}
-
+
fbPictureInit(pScreen, 0, 0);
xf86SetBlackWhitePixels(pScreen);
@@ -886,11 +886,11 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
{
if (!ASTAccelInit(pScreen)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Hardware acceleration initialization failed\n");
- pAST->noAccel = TRUE;
+ pAST->noAccel = TRUE;
}
}
#endif /* end of Accel_2D */
-
+
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
@@ -900,10 +900,10 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
{
if (!ASTCursorInit(pScreen)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Hardware cursor initialization failed\n");
- pAST->noHWC = TRUE;
+ pAST->noHWC = TRUE;
}
}
-
+
if (!miCreateDefColormap(pScreen))
return FALSE;
@@ -915,17 +915,17 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
return FALSE;
}
}
-
+
xf86DPMSInit(pScreen, ASTDisplayPowerManagementSet, 0);
#ifdef AstVideo
if ( (pAST->jChipType == AST1180) || (pAST->jChipType == AST2300) )
- {
+ {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"AST Initial Video()\n");
ASTInitVideo(pScreen);
}
#endif
-
+
pScreen->SaveScreen = ASTSaveScreen;
pAST->CloseScreen = pScreen->CloseScreen;
pScreen->CloseScreen = ASTCloseScreen;
@@ -934,7 +934,7 @@ ASTScreenInit(SCREEN_INIT_ARGS_DECL)
xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
return TRUE;
-
+
} /* ASTScreenInit */
@@ -943,37 +943,37 @@ ASTSwitchMode(SWITCH_MODE_ARGS_DECL)
{
SCRN_INFO_PTR(arg);
ASTRecPtr pAST = ASTPTR(pScrn);
-
+
/* VideoMode validate */
if (mode->CrtcHDisplay > pScrn->displayWidth)
return FALSE;
if ((pAST->VideoModeInfo.ScreenPitch * mode->CrtcVDisplay) > pAST->ulVRAMSize)
return FALSE;
-
+
/* VideModeInfo Update */
- pAST->VideoModeInfo.ScreenWidth = mode->CrtcHDisplay;
- pAST->VideoModeInfo.ScreenHeight = mode->CrtcVDisplay;
+ pAST->VideoModeInfo.ScreenWidth = mode->CrtcHDisplay;
+ pAST->VideoModeInfo.ScreenHeight = mode->CrtcVDisplay;
pAST->VideoModeInfo.ScreenPitch = pScrn->displayWidth * ((pScrn->bitsPerPixel + 1) / 8) ;
#ifdef HWC
if (pAST->pHWCPtr) {
xf86FreeOffscreenLinear(pAST->pHWCPtr); /* free HWC Cache */
- pAST->pHWCPtr = NULL;
+ pAST->pHWCPtr = NULL;
}
ASTDisableHWC(pScrn);
#endif
-#ifdef Accel_2D
+#ifdef Accel_2D
if (pAST->pCMDQPtr) {
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
- pAST->pCMDQPtr = NULL;
- }
+ pAST->pCMDQPtr = NULL;
+ }
vDisable2D(pScrn, pAST);
#endif
-
+
/* Fixed display abnormal on the of the screen if run xvidtune, ycchen@122909 */
/* ASTRestore(pScrn); */
-
+
return ASTModeInit(pScrn, mode);
}
@@ -984,7 +984,7 @@ ASTAdjustFrame(ADJUST_FRAME_ARGS_DECL)
SCRN_INFO_PTR(arg);
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG base;
-
+
base = y * pAST->VideoModeInfo.ScreenPitch + x * ((pAST->VideoModeInfo.bitsPerPixel + 1) / 8);
/* base = base >> 2; */ /* DW unit */
@@ -992,7 +992,7 @@ ASTAdjustFrame(ADJUST_FRAME_ARGS_DECL)
}
-/* enter into X Server */
+/* enter into X Server */
static Bool
ASTEnterVT(VT_FUNC_ARGS_DECL)
{
@@ -1004,15 +1004,15 @@ ASTEnterVT(VT_FUNC_ARGS_DECL)
{
if (pAST->jChipType == AST1180)
bInitAST1180(pScrn);
- else
- InitVGA(pScrn, 1);
+ else
+ InitVGA(pScrn, 1);
ASTRestore(pScrn);
- }
+ }
if (!ASTModeInit(pScrn, pScrn->currentMode))
return FALSE;
ASTAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
-
+
return TRUE;
}
@@ -1021,36 +1021,36 @@ ASTEnterVT(VT_FUNC_ARGS_DECL)
static void
ASTLeaveVT(VT_FUNC_ARGS_DECL)
{
-
+
SCRN_INFO_PTR(arg);
ASTRecPtr pAST = ASTPTR(pScrn);
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
vgaHWPtr hwp = VGAHWPTR(pScrn);
#endif
#ifdef HWC
if (pAST->pHWCPtr) {
xf86FreeOffscreenLinear(pAST->pHWCPtr); /* free HWC Cache */
- pAST->pHWCPtr = NULL;
+ pAST->pHWCPtr = NULL;
}
ASTDisableHWC(pScrn);
#endif
-#ifdef Accel_2D
+#ifdef Accel_2D
if (pAST->pCMDQPtr) {
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
- pAST->pCMDQPtr = NULL;
- }
+ pAST->pCMDQPtr = NULL;
+ }
vDisable2D(pScrn, pAST);
#endif
-
+
ASTRestore(pScrn);
-
+
if (pAST->jChipType == AST1180)
ASTBlankScreen(pScrn, 0);
-#if !(defined(__sparc__)) && !(defined(__mips__))
- vgaHWLock(hwp);
+#if !(defined(__sparc__)) && !(defined(__mips__))
+ vgaHWLock(hwp);
#endif
}
@@ -1060,10 +1060,10 @@ ASTFreeScreen(FREE_SCREEN_ARGS_DECL)
{
SCRN_INFO_PTR(arg);
ASTFreeRec(pScrn);
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
vgaHWFreeHWRec(pScrn);
-#endif
+#endif
}
static ModeStatus
@@ -1074,7 +1074,7 @@ ASTValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
ModeStatus Flags = MODE_NOMODE;
UCHAR jReg;
ULONG RequestBufferSize;
-
+
if (mode->Flags & V_INTERLACE) {
if (verbose) {
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
@@ -1095,9 +1095,9 @@ ASTValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
RequestBufferSize = mode->CrtcHDisplay * ((pScrn->bitsPerPixel + 1) / 8) * mode->CrtcVDisplay;
if (RequestBufferSize > pAST->ulVRAMSize)
return Flags;
-
+
/* Valid Wide Screen Mode */
- if (pAST->SupportWideScreen)
+ if (pAST->SupportWideScreen)
{
if ( (mode->CrtcHDisplay == 1680) && (mode->CrtcVDisplay == 1050) )
return MODE_OK;
@@ -1109,22 +1109,22 @@ ASTValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
return MODE_OK;
if ( (mode->CrtcHDisplay == 1600) && (mode->CrtcVDisplay == 900) )
return MODE_OK;
-
- if ( (pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST1180) )
+
+ if ( (pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST1180) )
{
if ( (mode->CrtcHDisplay == 1920) && (mode->CrtcVDisplay == 1080) )
return MODE_OK;
-
+
if ( (mode->CrtcHDisplay == 1920) && (mode->CrtcVDisplay == 1200) )
{
GetIndexRegMask(CRTC_PORT, 0xD1, 0xFF, jReg);
if (jReg & 0x01)
return MODE_NOMODE;
- else
+ else
return MODE_OK;
- }
+ }
}
- }
+ }
switch (mode->CrtcHDisplay)
{
@@ -1182,9 +1182,9 @@ ASTFreeRec(ScrnInfoPtr pScrn)
static Bool
ASTSaveScreen(ScreenPtr pScreen, Bool unblack)
{
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
/* replacement of vgaHWBlankScreen(pScrn, unblank) without seq reset */
- /* return vgaHWSaveScreen(pScreen, unblack); */
+ /* return vgaHWSaveScreen(pScreen, unblack); */
ScrnInfoPtr pScrn = NULL;
if (pScreen != NULL)
@@ -1193,7 +1193,7 @@ ASTSaveScreen(ScreenPtr pScreen, Bool unblack)
if ((pScrn != NULL) && pScrn->vtSema) {
ASTBlankScreen(pScrn, unblack);
}
- return (TRUE);
+ return (TRUE);
#endif
}
@@ -1202,40 +1202,40 @@ ASTCloseScreen(CLOSE_SCREEN_ARGS_DECL)
{
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
ASTRecPtr pAST = ASTPTR(pScrn);
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
vgaHWPtr hwp = VGAHWPTR(pScrn);
-#endif
+#endif
if (pScrn->vtSema == TRUE)
- {
+ {
#ifdef HWC
if (pAST->pHWCPtr) {
xf86FreeOffscreenLinear(pAST->pHWCPtr); /* free HWC Cache */
- pAST->pHWCPtr = NULL;
+ pAST->pHWCPtr = NULL;
}
ASTDisableHWC(pScrn);
#endif
-
-#ifdef Accel_2D
+
+#ifdef Accel_2D
if (pAST->pCMDQPtr) {
xf86FreeOffscreenLinear(pAST->pCMDQPtr); /* free CMDQ */
- pAST->pCMDQPtr = NULL;
+ pAST->pCMDQPtr = NULL;
}
vDisable2D(pScrn, pAST);
#endif
-
+
ASTRestore(pScrn);
-
+
if (pAST->jChipType == AST1180)
ASTBlankScreen(pScrn, 0);
-
-#if !(defined(__sparc__)) && !(defined(__mips__))
+
+#if !(defined(__sparc__)) && !(defined(__mips__))
vgaHWLock(hwp);
#endif
}
ASTUnmapMem(pScrn);
-#if !(defined(__sparc__)) && !(defined(__mips__))
+#if !(defined(__sparc__)) && !(defined(__mips__))
vgaHWUnmapMem(pScrn);
#endif
@@ -1259,52 +1259,52 @@ static void
ASTSave(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST;
- ASTRegPtr astReg;
+ ASTRegPtr astReg;
int i, icount=0;
ULONG ulData;
pAST = ASTPTR(pScrn);
- astReg = &pAST->SavedReg;
-
+ astReg = &pAST->SavedReg;
+
if (pAST->jChipType == AST1180)
{
for (i=0; i<12; i++)
{
- ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL+i*4, ulData);
- astReg->GFX[i] = ulData;
- }
+ ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL+i*4, ulData);
+ astReg->GFX[i] = ulData;
+ }
}
else
- {
+ {
#if defined(__sparc__) || defined(__mips__)
UCHAR jReg;
-
+
/* Save Misc */
astReg->MISC = GetReg(MISC_PORT_READ);
/* Save SR */
for (i=0; i<4; i++)
GetIndexReg(SEQ_PORT, (UCHAR) (i), astReg->SEQ[i]);
-
+
/* Save CR */
for (i=0; i<25; i++)
GetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->CRTC[i]);
-
+
/* Save GR */
for (i=0; i<9; i++)
GetIndexReg(GR_PORT, (UCHAR) (i), astReg->GR[i]);
-
+
/* Save AR */
jReg = GetReg(INPUT_STATUS1_READ);
for (i=0; i<20; i++)
- GetIndexReg(AR_PORT_WRITE, (UCHAR) (i), astReg->AR[i]);
+ GetIndexReg(AR_PORT_WRITE, (UCHAR) (i), astReg->AR[i]);
jReg = GetReg(INPUT_STATUS1_READ);
SetReg (AR_PORT_WRITE, 0x20); /* set POS */
-#else
+#else
vgaRegPtr vgaReg;
vgaReg = &VGAHWPTR(pScrn)->SavedReg;
-
- /* do save */
+
+ /* do save */
if (xf86IsPrimaryPci(pAST->PciInfo)) {
vgaHWSave(pScrn, vgaReg, VGA_SR_MODE | VGA_SR_FONTS);
}
@@ -1312,102 +1312,102 @@ ASTSave(ScrnInfoPtr pScrn)
vgaHWSave(pScrn, vgaReg, VGA_SR_MODE);
}
#endif
-
+
/* Save Ext. */
vASTOpenKey(pScrn);
-
- /* fixed Console Switch Refresh Rate Incorrect issue, ycchen@051106 */
+
+ /* fixed Console Switch Refresh Rate Incorrect issue, ycchen@051106 */
for (i=0x81; i<=0xB6; i++)
GetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->ExtCRTC[icount++]);
for (i=0xBC; i<=0xC1; i++)
GetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->ExtCRTC[icount++]);
GetIndexReg(CRTC_PORT, (UCHAR) (0xBB), astReg->ExtCRTC[icount]);
-
+
/* Save DAC */
for (i=0; i<256; i++)
- VGA_GET_PALETTE_INDEX (i, astReg->DAC[i][0], astReg->DAC[i][1], astReg->DAC[i][2]);
- }
-
+ VGA_GET_PALETTE_INDEX (i, astReg->DAC[i][0], astReg->DAC[i][1], astReg->DAC[i][2]);
+ }
+
}
static void
ASTRestore(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST;
- ASTRegPtr astReg;
+ ASTRegPtr astReg;
int i, icount=0;
ULONG ulData;
pAST = ASTPTR(pScrn);
- astReg = &pAST->SavedReg;
-
+ astReg = &pAST->SavedReg;
+
if (pAST->jChipType == AST1180)
{
for (i=0; i<12; i++)
{
- ulData = astReg->GFX[i];
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL+i*4, ulData);
- }
+ ulData = astReg->GFX[i];
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL+i*4, ulData);
+ }
}
else
{
#if defined(__sparc__) || defined(__mips__)
UCHAR jReg;
-
+
/* Restore Misc */
SetReg(MISC_PORT_WRITE, astReg->MISC);
/* Restore SR */
for (i=0; i<4; i++)
SetIndexReg(SEQ_PORT, (UCHAR) (i), astReg->SEQ[i]);
-
+
/* Restore CR */
- SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
+ SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
for (i=0; i<25; i++)
SetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->CRTC[i]);
-
+
/* Restore GR */
for (i=0; i<9; i++)
SetIndexReg(GR_PORT, (UCHAR) (i), astReg->GR[i]);
-
+
/* Restore AR */
jReg = GetReg(INPUT_STATUS1_READ);
for (i=0; i<20; i++)
{
- SetReg(AR_PORT_WRITE, (UCHAR) i);
- SetReg(AR_PORT_WRITE, astReg->AR[i]);
+ SetReg(AR_PORT_WRITE, (UCHAR) i);
+ SetReg(AR_PORT_WRITE, astReg->AR[i]);
}
- SetReg(AR_PORT_WRITE, 0x14);
- SetReg(AR_PORT_WRITE, 0x00);
-
+ SetReg(AR_PORT_WRITE, 0x14);
+ SetReg(AR_PORT_WRITE, 0x00);
+
jReg = GetReg(INPUT_STATUS1_READ);
- SetReg (AR_PORT_WRITE, 0x20); /* set POS */
-#else
+ SetReg (AR_PORT_WRITE, 0x20); /* set POS */
+#else
vgaRegPtr vgaReg;
vgaReg = &VGAHWPTR(pScrn)->SavedReg;
-
- /* do restore */
+
+ /* do restore */
vgaHWProtect(pScrn, TRUE);
if (xf86IsPrimaryPci(pAST->PciInfo))
vgaHWRestore(pScrn, vgaReg, VGA_SR_MODE | VGA_SR_FONTS);
else
- vgaHWRestore(pScrn, vgaReg, VGA_SR_MODE);
- vgaHWProtect(pScrn, FALSE);
+ vgaHWRestore(pScrn, vgaReg, VGA_SR_MODE);
+ vgaHWProtect(pScrn, FALSE);
#endif
-
+
/* Ext. restore */
vASTOpenKey(pScrn);
-
+
/* fixed Console Switch Refresh Rate Incorrect issue, ycchen@051106 */
for (i=0x81; i<=0xB6; i++)
SetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->ExtCRTC[icount++]);
for (i=0xBC; i<=0xC1; i++)
SetIndexReg(CRTC_PORT, (UCHAR) (i), astReg->ExtCRTC[icount++]);
SetIndexReg(CRTC_PORT, (UCHAR) (0xBB), astReg->ExtCRTC[icount]);
-
+
/* Restore DAC */
for (i=0; i<256; i++)
- VGA_LOAD_PALETTE_INDEX (i, astReg->DAC[i][0], astReg->DAC[i][1], astReg->DAC[i][2]);
+ VGA_LOAD_PALETTE_INDEX (i, astReg->DAC[i][0], astReg->DAC[i][1], astReg->DAC[i][2]);
}
}
@@ -1415,35 +1415,35 @@ ASTRestore(ScrnInfoPtr pScrn)
static void
ASTProbeDDC(ScrnInfoPtr pScrn, int index)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
unsigned char DDC_data[128];
Bool Flags;
if (xf86LoadSubModule(pScrn, "ddc"))
{
- if (pAST->jChipType == AST1180)
+ if (pAST->jChipType == AST1180)
Flags = GetVGA2EDID(pScrn, DDC_data);
else
Flags = GetVGAEDID(pScrn, DDC_data);
- if (Flags)
+ if (Flags)
{
ConfiguredMonitor = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
}
else
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTProbeDDC] Can't Get EDID Properly \n");
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTProbeDDC] Can't Get EDID Properly \n");
+ }
else
{
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTProbeDDC] Can't Load DDC Sub-Modules or Read EDID Failed \n");
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTProbeDDC] Can't Load DDC Sub-Modules or Read EDID Failed \n");
+ }
}
#define SkipDT 0x00
#define DT1 0x01
#define DT2 0x02
-
+
static xf86MonPtr
ASTDoDDC(ScrnInfoPtr pScrn, int index)
{
@@ -1457,7 +1457,7 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
struct monitor_ranges ranges, ranges1, ranges2;
int DTSelect, dclock1=0, h_active1=0, v_active1=0, dclock2=0, h_active2=0, v_active2=0;
struct std_timings stdtiming, *stdtiming1, *stdtiming2;
-
+
/* Honour Option "noDDC" */
if (xf86ReturnOptValBool(pAST->Options, OPTION_NO_DDC, FALSE)) {
return MonInfo;
@@ -1465,27 +1465,27 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
if (xf86LoadSubModule(pScrn, "ddc"))
{
- if (pAST->jChipType == AST1180)
+ if (pAST->jChipType == AST1180)
Flags = GetVGA2EDID(pScrn, DDC_data);
else
Flags = GetVGAEDID(pScrn, DDC_data);
-
+
if (Flags)
- {
+ {
MonInfo = MonInfo1 = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
-
+
/* Valid Wide Screen Support */
if ( (MonInfo) && (MonInfo->det_mon[0].type == 0x00) )
{
if ( (MonInfo->det_mon[0].section.d_timings.h_active * 10 / MonInfo->det_mon[0].section.d_timings.v_active) < 14 )
- pAST->SupportWideScreen = FALSE;
- }
+ pAST->SupportWideScreen = FALSE;
+ }
}
-
+
/* For VGA2 CLONE Support, ycchen@012508 */
if ((xf86ReturnOptValBool(pAST->Options, OPTION_VGA2_CLONE, FALSE)) || pAST->VGA2Clone) {
if (GetVGA2EDID(pScrn, DDC_data) == TRUE) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Get VGA2 EDID Correctly!! \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Get VGA2 EDID Correctly!! \n");
MonInfo2 = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
if (MonInfo1 == NULL) /* No DDC1 EDID */
MonInfo = MonInfo2;
@@ -1494,50 +1494,50 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
MonInfo->timings1.t1 = MonInfo1->timings1.t1 & MonInfo2->timings1.t1;
MonInfo->timings1.t2 = MonInfo1->timings1.t2 & MonInfo2->timings1.t2;
MonInfo->timings1.t_manu = MonInfo1->timings1.t_manu & MonInfo2->timings1.t_manu;
-
+
/* Update Std. Timing */
for (i=0; i<8; i++) {
- stdtiming.hsize = stdtiming.vsize = stdtiming.refresh = stdtiming.id = 0;
- for (j=0; j<8; j++) {
+ stdtiming.hsize = stdtiming.vsize = stdtiming.refresh = stdtiming.id = 0;
+ for (j=0; j<8; j++) {
if ((MonInfo1->timings2[i].hsize == MonInfo2->timings2[j].hsize) && \
(MonInfo1->timings2[i].vsize == MonInfo2->timings2[j].vsize) && \
(MonInfo1->timings2[i].refresh == MonInfo2->timings2[j].refresh)) {
stdtiming = MonInfo1->timings2[i];
break;
- }
+ }
}
-
+
MonInfo->timings2[i] = stdtiming;
} /* Std. Timing */
-
+
/* Get Detailed Timing */
for (i=0;i<4;i++) {
if (MonInfo1->det_mon[i].type == 0xFD)
ranges1 = MonInfo1->det_mon[i].section.ranges;
else if (MonInfo1->det_mon[i].type == 0xFA)
- stdtiming1 = MonInfo1->det_mon[i].section.std_t;
+ stdtiming1 = MonInfo1->det_mon[i].section.std_t;
else if (MonInfo1->det_mon[i].type == 0x00) {
if (MonInfo1->det_mon[i].section.d_timings.clock > dclock1)
dclock1 = MonInfo1->det_mon[i].section.d_timings.clock;
if (MonInfo1->det_mon[i].section.d_timings.h_active > h_active1)
h_active1 = MonInfo1->det_mon[i].section.d_timings.h_active;
if (MonInfo1->det_mon[i].section.d_timings.v_active > v_active1)
- v_active1 = MonInfo1->det_mon[i].section.d_timings.v_active;
- }
+ v_active1 = MonInfo1->det_mon[i].section.d_timings.v_active;
+ }
if (MonInfo2->det_mon[i].type == 0xFD)
ranges2 = MonInfo2->det_mon[i].section.ranges;
else if (MonInfo1->det_mon[i].type == 0xFA)
- stdtiming2 = MonInfo2->det_mon[i].section.std_t;
+ stdtiming2 = MonInfo2->det_mon[i].section.std_t;
else if (MonInfo2->det_mon[i].type == 0x00) {
if (MonInfo2->det_mon[i].section.d_timings.clock > dclock2)
dclock2 = MonInfo2->det_mon[i].section.d_timings.clock;
if (MonInfo2->det_mon[i].section.d_timings.h_active > h_active2)
h_active2 = MonInfo2->det_mon[i].section.d_timings.h_active;
if (MonInfo2->det_mon[i].section.d_timings.v_active > v_active2)
- v_active2 = MonInfo2->det_mon[i].section.d_timings.v_active;
- }
+ v_active2 = MonInfo2->det_mon[i].section.d_timings.v_active;
+ }
} /* Get Detailed Timing */
-
+
/* Chk Detailed Timing */
if ((dclock1 >= dclock2) && (h_active1 >= h_active2) && (v_active1 >= v_active2))
DTSelect = DT2;
@@ -1545,21 +1545,21 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
DTSelect = DT1;
else
DTSelect = SkipDT;
-
- /* Chk Monitor Descriptor */
+
+ /* Chk Monitor Descriptor */
ranges = ranges1;
ranges.min_h = ranges1.min_h > ranges2.min_h ? ranges1.min_h:ranges2.min_h;
- ranges.min_v = ranges1.min_v > ranges2.min_v ? ranges1.min_v:ranges2.min_v;
+ ranges.min_v = ranges1.min_v > ranges2.min_v ? ranges1.min_v:ranges2.min_v;
ranges.max_h = ranges1.max_h < ranges2.max_h ? ranges1.max_h:ranges2.max_h;
ranges.max_v = ranges1.max_v < ranges2.max_v ? ranges1.max_v:ranges2.max_v;
ranges.max_clock = ranges1.max_clock < ranges2.max_clock ? ranges1.max_clock:ranges2.max_clock;
-
+
/* Update Detailed Timing */
for (i=0; i<4; i++)
{
if (MonInfo->det_mon[i].type == 0xFD) {
MonInfo->det_mon[i].section.ranges = ranges;
- }
+ }
else if (MonInfo->det_mon[i].type == 0xFA) {
for (j=0; j<5; j++) {
stdtiming.hsize = stdtiming.vsize = stdtiming.refresh = stdtiming.id = 0;
@@ -1569,10 +1569,10 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
(stdtiming1[j].refresh == stdtiming2[k].refresh)) {
stdtiming = stdtiming1[j];
break;
- }
+ }
}
stdtiming1[j] = stdtiming;
- } /* Std. Timing */
+ } /* Std. Timing */
} /* FA */
else if (MonInfo->det_mon[i].type == 0x00) {
if (DTSelect == DT2)
@@ -1591,57 +1591,57 @@ ASTDoDDC(ScrnInfoPtr pScrn, int index)
MonInfo->det_mon[i].section.d_timings.h_sync_width = 136;
MonInfo->det_mon[i].section.d_timings.v_sync_off = 3;
MonInfo->det_mon[i].section.d_timings.v_sync_width = 6;
- }
+ }
} /* 00 */
else { /* use Monitor 1 as default */
- MonInfo->det_mon[i] = MonInfo1->det_mon[i];
+ MonInfo->det_mon[i] = MonInfo1->det_mon[i];
}
-
+
} /* Update Detailed Timing */
-
+
/* set feature size */
if (DTSelect == DT2) {
MonInfo->features.hsize = MonInfo2->features.hsize;
- MonInfo->features.vsize = MonInfo2->features.vsize;
+ MonInfo->features.vsize = MonInfo2->features.vsize;
}
else if (DTSelect == DT1) {
MonInfo->features.hsize = MonInfo1->features.hsize;
- MonInfo->features.vsize = MonInfo1->features.vsize;
+ MonInfo->features.vsize = MonInfo1->features.vsize;
}
else /* Skip DT */
{ /* use 1024x768 as default */
MonInfo->features.hsize = 0x20;
- MonInfo->features.vsize = 0x18;
- }
-
+ MonInfo->features.vsize = 0x18;
+ }
+
} /* Check with VGA1 & VGA2 EDID */
-
+
} /* GetVGA2EDID */
else {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Can't Get VGA2 EDID Correctly!! \n");
- }
+ }
} /* VGA2Clone */
-
+
xf86PrintEDID(MonInfo);
- xf86SetDDCproperties(pScrn, MonInfo);
- }
+ xf86SetDDCproperties(pScrn, MonInfo);
+ }
else
{
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTDoDDC] Can't Load DDC Sub-Modules or Read EDID Failed \n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"[ASTDoDDC] Can't Load DDC Sub-Modules or Read EDID Failed \n");
}
/* Fill pAST Monitor Info */
if (MonInfo == NULL)
{ /* default for Non-EDID */
pAST->mon_h_active = 1024;
- pAST->mon_v_active = 768;
- }
+ pAST->mon_v_active = 768;
+ }
else
{ /* save MonInfo to Private */
pAST->mon_h_active = MonInfo->det_mon[0].section.d_timings.h_active;
pAST->mon_v_active = MonInfo->det_mon[0].section.d_timings.v_active;
- }
-
+ }
+
return MonInfo;
}
@@ -1649,12 +1649,12 @@ static void
vFillASTModeInfo (ScrnInfoPtr pScrn)
{
ASTRecPtr pAST;
-
+
pAST = ASTPTR(pScrn);
-
- pAST->VideoModeInfo.ScreenWidth = pScrn->virtualX;
- pAST->VideoModeInfo.ScreenHeight = pScrn->virtualY;
- pAST->VideoModeInfo.bitsPerPixel = pScrn->bitsPerPixel;
+
+ pAST->VideoModeInfo.ScreenWidth = pScrn->virtualX;
+ pAST->VideoModeInfo.ScreenHeight = pScrn->virtualY;
+ pAST->VideoModeInfo.bitsPerPixel = pScrn->bitsPerPixel;
/* Fixed screen pitch incorrect in some specific monitor, ycchen@071707 */
pAST->VideoModeInfo.ScreenPitch = pScrn->displayWidth * ((pScrn->bitsPerPixel + 1) / 8) ;
@@ -1669,10 +1669,10 @@ ASTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
pScrn->vtSema = TRUE;
pAST->ModePtr = mode;
-
+
#if defined(__sparc__) || defined(__mips__)
if (!ASTSetMode(pScrn, mode))
- return FALSE;
+ return FALSE;
#else
vgaHWPtr hwp;
@@ -1688,7 +1688,7 @@ ASTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
if (!ASTSetMode(pScrn, mode))
return FALSE;
-
+
vgaHWProtect(pScrn, FALSE);
#endif
@@ -1758,12 +1758,12 @@ static void ASTStopVideo(ScrnInfoPtr pScrn, pointer data, Bool exit)
{
ASTPortPrivPtr pPriv = (ASTPortPrivPtr)data;
ASTPtr pAST = ASTPTR(pScrn);
-
+
REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
-
+
if(exit)
{
- if(pPriv->fbAreaPtr)
+ if(pPriv->fbAreaPtr)
{
xf86FreeOffscreenArea(pPriv->fbAreaPtr);
pPriv->fbAreaPtr = NULL;
@@ -1771,14 +1771,14 @@ static void ASTStopVideo(ScrnInfoPtr pScrn, pointer data, Bool exit)
}
/* clear all flag */
pPriv->videoStatus = 0;
- }
+ }
else
{
-#if 0
- if(pPriv->videoStatus & CLIENT_VIDEO_ON)
+#if 0
+ if(pPriv->videoStatus & CLIENT_VIDEO_ON)
{
pPriv->videoStatus |= OFF_TIMER;
-
+
}
#endif
}
@@ -1788,65 +1788,65 @@ static int ASTSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, INT32 value, p
{
ASTPortPrivPtr pPriv = (ASTPortPrivPtr)data;
ASTPtr pAST = ASTPTR(pScrn);
-
+
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"ASTSetPortAttribute(),attribute=%x\n", attribute);
-
- if (attribute == pAST->xvBrightness)
+
+ if (attribute == pAST->xvBrightness)
{
if((value < -128) || (value > 127))
return BadValue;
-
+
pPriv->brightness = value;
}
- else if (attribute == pAST->xvContrast)
+ else if (attribute == pAST->xvContrast)
{
if ((value < 0) || (value > 255))
return BadValue;
-
+
pPriv->contrast = value;
}
else if (attribute == pAST->xvSaturation)
{
if ((value < -180) || (value > 180))
return BadValue;
-
+
pPriv->saturation = value;
}
else if (attribute == pAST->xvHue)
{
if ((value < -180) || (value > 180))
return BadValue;
-
+
pPriv->hue = value;
}
- else if (attribute == pAST->xvColorKey)
+ else if (attribute == pAST->xvColorKey)
{
pPriv->colorKey = value;
REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
}
- else if(attribute == pAST->xvGammaRed)
+ else if(attribute == pAST->xvGammaRed)
{
if((value < 100) || (value > 10000))
return BadValue;
pPriv->gammaR = value;
}
- else if(attribute == pAST->xvGammaGreen)
+ else if(attribute == pAST->xvGammaGreen)
{
if((value < 100) || (value > 10000))
return BadValue;
- pPriv->gammaG = value;
- }
- else if(attribute == pAST->xvGammaBlue)
+ pPriv->gammaG = value;
+ }
+ else if(attribute == pAST->xvGammaBlue)
{
if((value < 100) || (value > 10000))
return BadValue;
pPriv->gammaB = value;
- }
+ }
else
{
return BadMatch;
}
-
+
return Success;
}
@@ -1854,50 +1854,50 @@ static int ASTGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, INT32 *value,
{
ASTPortPrivPtr pPriv = (ASTPortPrivPtr)data;
ASTPtr pAST = ASTPTR(pScrn);
-
+
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"ASTGetPortAttribute(),attribute=%x\n", attribute);
-
- if (attribute == pAST->xvBrightness)
+
+ if (attribute == pAST->xvBrightness)
{
*value = pPriv->brightness;
}
- else if (attribute == pAST->xvContrast)
+ else if (attribute == pAST->xvContrast)
{
*value = pPriv->contrast;
}
- else if (attribute == pAST->xvSaturation)
+ else if (attribute == pAST->xvSaturation)
{
*value = pPriv->saturation;
}
- else if (attribute == pAST->xvHue)
+ else if (attribute == pAST->xvHue)
{
*value = pPriv->hue;
- }
- else if(attribute == pAST->xvGammaRed)
+ }
+ else if(attribute == pAST->xvGammaRed)
{
*value = pPriv->gammaR;
-
+
}
- else if(attribute == pAST->xvGammaGreen)
+ else if(attribute == pAST->xvGammaGreen)
{
*value = pPriv->gammaG;
}
- else if(attribute == pAST->xvGammaBlue)
+ else if(attribute == pAST->xvGammaBlue)
{
*value = pPriv->gammaB;
}
- else if (attribute == pAST->xvColorKey)
+ else if (attribute == pAST->xvColorKey)
{
*value = pPriv->colorKey;
}
else
return BadMatch;
-
+
return Success;
}
-static void ASTQueryBestSize(ScrnInfoPtr pScrn, Bool motion,
- short vid_w, short vid_h,
+static void ASTQueryBestSize(ScrnInfoPtr pScrn, Bool motion,
+ short vid_w, short vid_h,
short drw_w, short drw_h,
unsigned int *p_w, unsigned int *p_h,
pointer data)
@@ -1986,7 +1986,7 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
Bool sync,
RegionPtr clipBoxes, pointer data
)
-{
+{
ASTPtr pAST = ASTPTR(pScrn);
ASTPortPrivPtr pPriv = (ASTPortPrivPtr)data;
int i;
@@ -1994,7 +1994,7 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"ASTPutImage()\n");
/* int depth = pAST->CurrentLayout.bitsPerPixel >> 3; */
-
+
pPriv->drw_x = drw_x;
pPriv->drw_y = drw_y;
pPriv->drw_w = drw_w;
@@ -2005,7 +2005,7 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
pPriv->src_h = src_h;
pPriv->id = id;
pPriv->height = height;
-
+
switch(id)
{
case PIXEL_FMT_YV12:
@@ -2023,52 +2023,52 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
pPriv->srcPitch = ((width << 1) + 3) & ~3; /* Verified */
totalSize = pPriv->srcPitch * height;
}
-
+
totalSize += 15;
totalSize &= ~15;
/* allocate memory */
-
+
if(totalSize == pPriv->fbSize)
{
- ;
- }
+ ;
+ }
else
{
- int lines, pitch, depth;
+ int lines, pitch, depth;
BoxPtr pBox = NULL;
-
+
pPriv->fbSize = totalSize;
-
- if(pPriv->fbAreaPtr)
+
+ if(pPriv->fbAreaPtr)
{
xf86FreeOffscreenArea(pPriv->fbAreaPtr);
}
-
+
depth = (pScrn->bitsPerPixel + 7 ) / 8;
pitch = pScrn->displayWidth * depth;
lines = ((totalSize * 2) / pitch) + 1;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"ASTPutImagelines=%x, pitch=%x, displayWidth=%x\n", lines, pitch, pScrn->displayWidth);
-
-
- pPriv->fbAreaPtr = xf86AllocateOffscreenArea(pScrn->pScreen,
+
+
+ pPriv->fbAreaPtr = xf86AllocateOffscreenArea(pScrn->pScreen,
pScrn->displayWidth,
lines, 0, NULL, NULL, NULL);
-
- if(!pPriv->fbAreaPtr)
+
+ if(!pPriv->fbAreaPtr)
{
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Allocate video memory fails\n");
return BadAlloc;
}
-
- pBox = &(pPriv->fbAreaPtr->box);
- pPriv->bufAddr[0] = (pBox->y1 * pitch) + (pBox->x1 * depth);
+
+ pBox = &(pPriv->fbAreaPtr->box);
+ pPriv->bufAddr[0] = (pBox->y1 * pitch) + (pBox->x1 * depth);
pPriv->bufAddr[1] = pPriv->bufAddr[0] + totalSize;
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Put Image, pPriv->bufAddr[0]=0x%08X\n", pPriv->bufAddr[0]);
-
+
}
-
+
/* copy data */
- if(totalSize < 16)
+ if(totalSize < 16)
{
#ifdef NewPath
memcpy(pAST->FBVirtualAddr + pPriv->bufAddr[pPriv->currentBuf], buf, totalSize);
@@ -2078,22 +2078,22 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
case PIXEL_FMT_YUY2:
case PIXEL_FMT_UYVY:
case PIXEL_FMT_YVYU:
- {
+ {
BYTE *Base = (BYTE *)(pAST->FBVirtualAddr + pPriv->bufAddr[pPriv->currentBuf]);
for(i=0; i<height; i++)
memcpy( Base + i * pPriv->srcPitch, buf + i*width*2, width*2);
break;
- }
+ }
default:
memcpy(pAST->FBVirtualAddr + pPriv->bufAddr[pPriv->currentBuf], buf, totalSize);
break;
} /* switch */
#endif /* NewPath */
- }
+ }
else
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Put Image, copy buf\n");
-
+
#ifdef NewPath
memcpy(pAST->FBVirtualAddr + pPriv->bufAddr[pPriv->currentBuf], buf, totalSize);
#else /* NewPath */
@@ -2106,7 +2106,7 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
BYTE *Base = (BYTE *)(pAST->FBVirtualAddr + pPriv->bufAddr[pPriv->currentBuf]);
for(i=0; i<height; i++)
memcpy( Base + i * pPriv->srcPitch, buf + i*width*2, width*2);
-
+
/*for(i=0; i<height; i++)
for(j=0; j<width*2; j++)
*(Base+i*pPriv->srcPitch+j) = *(buf + width*i + j);*/
@@ -2123,21 +2123,21 @@ static int ASTPutImage(ScrnInfoPtr pScrn,
} /* end of switch */
#endif /* NewPath */
}
-
+
ASTDisplayVideo(pScrn, pPriv, clipBoxes, id);
-
- /* update cliplist
- if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes))
- {
+
+ /* update cliplist
+ if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes))
+ {
REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
}
- else
+ else
{
xf86XVFillKeyHelper(pScrn->pScreen, 0xFFFFFFFF, clipBoxes);
}
*/
pPriv->currentBuf ^= 1;
-
+
return Success;
}
@@ -2147,10 +2147,10 @@ static XF86VideoAdaptorPtr ASTSetupImageVideo(ScreenPtr pScreen)
ASTPtr pAST = ASTPTR(pScrn);
XF86VideoAdaptorPtr adapt;
ASTPortPrivPtr pPriv;
-
+
if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
- sizeof(DevUnion) +
+ sizeof(DevUnion) +
sizeof(ASTPortPrivRec))))
return NULL;
@@ -2160,7 +2160,7 @@ static XF86VideoAdaptorPtr ASTSetupImageVideo(ScreenPtr pScreen)
adapt->nEncodings = 1;
adapt->pEncodings = &DummyEncoding;
-
+
adapt->nFormats = NUM_FORMATS;
adapt->pFormats = ASTFormats;
adapt->nPorts = 1;
@@ -2175,7 +2175,7 @@ static XF86VideoAdaptorPtr ASTSetupImageVideo(ScreenPtr pScreen)
adapt->pImages = ASTImages;
adapt->PutVideo = NULL;
-
+
adapt->PutStill = NULL;
adapt->GetVideo = NULL;
adapt->GetStill = NULL;
@@ -2207,7 +2207,7 @@ static XF86VideoAdaptorPtr ASTSetupImageVideo(ScreenPtr pScreen)
#endif
pAST->adaptor = adapt;
-
+
pAST->xvBrightness = MAKE_ATOM(astxvbrightness);
pAST->xvContrast = MAKE_ATOM(astxvcontrast);
pAST->xvColorKey = MAKE_ATOM(astxvcolorkey);
@@ -2216,7 +2216,7 @@ static XF86VideoAdaptorPtr ASTSetupImageVideo(ScreenPtr pScreen)
pAST->xvGammaRed = MAKE_ATOM(astxvgammared);
pAST->xvGammaGreen = MAKE_ATOM(astxvgammagreen);
pAST->xvGammaBlue = MAKE_ATOM(astxvgammablue);
-
+
return adapt;
}
@@ -2228,20 +2228,20 @@ void ASTInitVideo(ScreenPtr pScreen)
int num_adaptors;
ASTAdaptor = ASTSetupImageVideo(pScreen);
-
+
num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors);
- if(ASTAdaptor)
+ if(ASTAdaptor)
{
- if(!num_adaptors)
+ if(!num_adaptors)
{
num_adaptors = 1;
adaptors = &ASTAdaptor;
}
- else
+ else
{
newAdaptors = malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
- if(newAdaptors)
+ if(newAdaptors)
{
memcpy(newAdaptors, adaptors, num_adaptors *
sizeof(XF86VideoAdaptorPtr));
diff --git a/src/ast_mode.c b/src/ast_mode.c
index 47ab02b..5911bb5 100644
--- a/src/ast_mode.c
+++ b/src/ast_mode.c
@@ -19,7 +19,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -60,74 +60,74 @@ extern Bool bInitAST1180(ScrnInfoPtr pScrn);
VBIOS_STDTABLE_STRUCT StdTable[] = {
/* MD_2_3_400 */
{
- 0x67,
- {0x00,0x03,0x00,0x02},
- {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
+ 0x67,
+ {0x00,0x03,0x00,0x02},
+ {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
0xff},
- {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
0x0c,0x00,0x0f,0x08},
- {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
+ {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
0xff}
- },
+ },
/* Mode12/ExtEGATable */
{
- 0xe3,
- {0x01,0x0f,0x00,0x06},
- {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
- 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,
- 0xff},
- {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
- 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
- 0x01,0x00,0x0f,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
- 0xff}
+ 0xe3,
+ {0x01,0x0f,0x00,0x06},
+ {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
+ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,
+ 0xff},
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
+ 0x01,0x00,0x0f,0x00},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
+ 0xff}
},
/* ExtVGATable */
{
- 0x2f,
- {0x01,0x0f,0x00,0x0e},
- {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
- 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
- 0xff},
- {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
- 0x01,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
+ 0x2f,
+ {0x01,0x0f,0x00,0x0e},
+ {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
+ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
+ 0xff},
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x01,0x00,0x00,0x00},
+ {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
0xff}
},
/* ExtHiCTable */
{
- 0x2f,
- {0x01,0x0f,0x00,0x0e},
- {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
- 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
- 0xff},
- {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
- 0x01,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
+ 0x2f,
+ {0x01,0x0f,0x00,0x0e},
+ {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
+ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
+ 0xff},
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x01,0x00,0x00,0x00},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
0xff}
- },
+ },
/* ExtTrueCTable */
{
- 0x2f,
- {0x01,0x0f,0x00,0x0e},
- {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
- 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
- 0xff},
- {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
- 0x01,0x00,0x00,0x00},
- {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
+ 0x2f,
+ {0x01,0x0f,0x00,0x0e},
+ {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
+ 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
+ 0xff},
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
+ 0x01,0x00,0x00,0x00},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
0xff}
- },
+ },
};
VBIOS_ENHTABLE_STRUCT Res640x480Table[] = {
@@ -136,117 +136,117 @@ VBIOS_ENHTABLE_STRUCT Res640x480Table[] = {
{ 832, 640, 16, 40, 520, 480, 1, 3, VCLK31_5, /* 72Hz */
(SyncNN | HBorder | VBorder | Charx8Dot), 72, 2, 0x2E },
{ 840, 640, 16, 64, 500, 480, 1, 3, VCLK31_5, /* 75Hz */
- (SyncNN | Charx8Dot) , 75, 3, 0x2E },
+ (SyncNN | Charx8Dot) , 75, 3, 0x2E },
{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36, /* 85Hz */
(SyncNN | Charx8Dot) , 85, 4, 0x2E },
{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36, /* end */
- (SyncNN | Charx8Dot) , 0xFF, 4, 0x2E },
+ (SyncNN | Charx8Dot) , 0xFF, 4, 0x2E },
};
VBIOS_ENHTABLE_STRUCT Res800x600Table[] = {
{1024, 800, 24, 72, 625, 600, 1, 2, VCLK36, /* 56Hz */
- (SyncPP | Charx8Dot), 56, 1, 0x30 },
- {1056, 800, 40, 128, 628, 600, 1, 4, VCLK40, /* 60Hz */
+ (SyncPP | Charx8Dot), 56, 1, 0x30 },
+ {1056, 800, 40, 128, 628, 600, 1, 4, VCLK40, /* 60Hz */
(SyncPP | Charx8Dot), 60, 2, 0x30 },
- {1040, 800, 56, 120, 666, 600, 37, 6, VCLK50, /* 72Hz */
- (SyncPP | Charx8Dot), 72, 3, 0x30 },
- {1056, 800, 16, 80, 625, 600, 1, 3, VCLK49_5, /* 75Hz */
- (SyncPP | Charx8Dot), 75, 4, 0x30 },
- {1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25, /* 85Hz */
- (SyncPP | Charx8Dot), 84, 5, 0x30 },
- {1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25, /* end */
- (SyncPP | Charx8Dot), 0xFF, 5, 0x30 },
+ {1040, 800, 56, 120, 666, 600, 37, 6, VCLK50, /* 72Hz */
+ (SyncPP | Charx8Dot), 72, 3, 0x30 },
+ {1056, 800, 16, 80, 625, 600, 1, 3, VCLK49_5, /* 75Hz */
+ (SyncPP | Charx8Dot), 75, 4, 0x30 },
+ {1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25, /* 85Hz */
+ (SyncPP | Charx8Dot), 84, 5, 0x30 },
+ {1048, 800, 32, 64, 631, 600, 1, 3, VCLK56_25, /* end */
+ (SyncPP | Charx8Dot), 0xFF, 5, 0x30 },
};
-VBIOS_ENHTABLE_STRUCT Res1024x768Table[] = {
- {1344, 1024, 24, 136, 806, 768, 3, 6, VCLK65, /* 60Hz */
- (SyncNN | Charx8Dot), 60, 1, 0x31 },
- {1328, 1024, 24, 136, 806, 768, 3, 6, VCLK75, /* 70Hz */
+VBIOS_ENHTABLE_STRUCT Res1024x768Table[] = {
+ {1344, 1024, 24, 136, 806, 768, 3, 6, VCLK65, /* 60Hz */
+ (SyncNN | Charx8Dot), 60, 1, 0x31 },
+ {1328, 1024, 24, 136, 806, 768, 3, 6, VCLK75, /* 70Hz */
(SyncNN | Charx8Dot), 70, 2, 0x31 },
- {1312, 1024, 16, 96, 800, 768, 1, 3, VCLK78_75, /* 75Hz */
- (SyncPP | Charx8Dot), 75, 3, 0x31 },
- {1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5, /* 85Hz */
- (SyncPP | Charx8Dot), 84, 4, 0x31 },
- {1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5, /* end */
- (SyncPP | Charx8Dot), 0xFF, 4, 0x31 },
+ {1312, 1024, 16, 96, 800, 768, 1, 3, VCLK78_75, /* 75Hz */
+ (SyncPP | Charx8Dot), 75, 3, 0x31 },
+ {1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5, /* 85Hz */
+ (SyncPP | Charx8Dot), 84, 4, 0x31 },
+ {1376, 1024, 48, 96, 808, 768, 1, 3, VCLK94_5, /* end */
+ (SyncPP | Charx8Dot), 0xFF, 4, 0x31 },
};
-VBIOS_ENHTABLE_STRUCT Res1280x1024Table[] = {
- {1688, 1280, 48, 112, 1066, 1024, 1, 3, VCLK108, /* 60Hz */
- (SyncPP | Charx8Dot), 60, 1, 0x32 },
- {1688, 1280, 16, 144, 1066, 1024, 1, 3, VCLK135, /* 75Hz */
- (SyncPP | Charx8Dot), 75, 2, 0x32 },
- {1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5, /* 85Hz */
- (SyncPP | Charx8Dot), 85, 3, 0x32 },
- {1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5, /* end */
- (SyncPP | Charx8Dot), 0xFF, 3, 0x32 },
+VBIOS_ENHTABLE_STRUCT Res1280x1024Table[] = {
+ {1688, 1280, 48, 112, 1066, 1024, 1, 3, VCLK108, /* 60Hz */
+ (SyncPP | Charx8Dot), 60, 1, 0x32 },
+ {1688, 1280, 16, 144, 1066, 1024, 1, 3, VCLK135, /* 75Hz */
+ (SyncPP | Charx8Dot), 75, 2, 0x32 },
+ {1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5, /* 85Hz */
+ (SyncPP | Charx8Dot), 85, 3, 0x32 },
+ {1728, 1280, 64, 160, 1072, 1024, 1, 3, VCLK157_5, /* end */
+ (SyncPP | Charx8Dot), 0xFF, 3, 0x32 },
};
-VBIOS_ENHTABLE_STRUCT Res1600x1200Table[] = {
- {2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* 60Hz */
- (SyncPP | Charx8Dot), 60, 1, 0x33 },
- {2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* end */
- (SyncPP | Charx8Dot), 0xFF, 1, 0x33 },
+VBIOS_ENHTABLE_STRUCT Res1600x1200Table[] = {
+ {2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* 60Hz */
+ (SyncPP | Charx8Dot), 60, 1, 0x33 },
+ {2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162, /* end */
+ (SyncPP | Charx8Dot), 0xFF, 1, 0x33 },
};
/* 16:9 */
VBIOS_ENHTABLE_STRUCT Res1360x768Table[] = {
{1792, 1360, 64,112, 795, 768, 3, 6, VCLK85_5, /* 60Hz */
- (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 },
+ (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 },
{1792, 1360, 64,112, 795, 768, 3, 6, VCLK85_5, /* end */
- (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x39 },
+ (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x39 },
};
VBIOS_ENHTABLE_STRUCT Res1600x900Table[] = {
{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* end */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x3A },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x3A },
};
VBIOS_ENHTABLE_STRUCT Res1920x1080Table[] = {
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* HDTV 60Hz */
(SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x38 },
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* end */
- (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x38 },
+ (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x38 },
};
/* 16:10 */
VBIOS_ENHTABLE_STRUCT Res1280x800Table[] = {
{1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 35 },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 35 },
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */
- (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 },
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 },
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */
- (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x35 },
-
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x35 },
+
};
VBIOS_ENHTABLE_STRUCT Res1440x900Table[] = {
{1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 },
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */
- (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x36 },
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x36 },
};
VBIOS_ENHTABLE_STRUCT Res1680x1050Table[] = {
{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */
- (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x37 },
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x37 },
};
VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 },
{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 },
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 },
};
VBIOS_DCLK_INFO DCLKTable [] = {
@@ -268,13 +268,13 @@ VBIOS_DCLK_INFO DCLKTable [] = {
{0x6A, 0x22, 0x00}, /* 0F: VCLK162 */
{0x4d, 0x4c, 0x80}, /* 10: VCLK154 */
{0xa7, 0x78, 0x80}, /* 11: VCLK83.5 */
- {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */
- {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */
- {0x1f, 0x45, 0x80}, /* 14: VCLK148.5 */
+ {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */
+ {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */
+ {0x1f, 0x45, 0x80}, /* 14: VCLK148.5 */
{0x47, 0x6c, 0x80}, /* 15: VCLK71 */
{0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
{0x77, 0x58, 0x80}, /* 17: VCLK119 */
- {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
+ {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
};
VBIOS_DCLK_INFO DCLKTable_AST2100 [] = {
@@ -296,118 +296,118 @@ VBIOS_DCLK_INFO DCLKTable_AST2100 [] = {
{0x6A, 0x22, 0x00}, /* 0F: VCLK162 */
{0x4d, 0x4c, 0x80}, /* 10: VCLK154 */
{0x68, 0x6f, 0x80}, /* 11: VCLK83.5 */
- {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */
- {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */
+ {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */
+ {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */
{0x1f, 0x45, 0x80}, /* 14: VCLK148.5 */
- {0x47, 0x6c, 0x80}, /* 15: VCLK71 */
- {0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
+ {0x47, 0x6c, 0x80}, /* 15: VCLK71 */
+ {0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
{0x77, 0x58, 0x80}, /* 17: VCLK119 */
- {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
+ {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
};
VBIOS_DAC_INFO DAC_TEXT[] = {
- { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
- { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
- { 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
- { 0x2a, 0x00, 0x15 }, { 0x2a, 0x00, 0x3f }, { 0x2a, 0x2a, 0x15 }, { 0x2a, 0x2a, 0x3f },
- { 0x00, 0x15, 0x00 }, { 0x00, 0x15, 0x2a }, { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x2a },
- { 0x2a, 0x15, 0x00 }, { 0x2a, 0x15, 0x2a }, { 0x2a, 0x3f, 0x00 }, { 0x2a, 0x3f, 0x2a },
- { 0x00, 0x15, 0x15 }, { 0x00, 0x15, 0x3f }, { 0x00, 0x3f, 0x15 }, { 0x00, 0x3f, 0x3f },
- { 0x2a, 0x15, 0x15 }, { 0x2a, 0x15, 0x3f }, { 0x2a, 0x3f, 0x15 }, { 0x2a, 0x3f, 0x3f },
- { 0x15, 0x00, 0x00 }, { 0x15, 0x00, 0x2a }, { 0x15, 0x2a, 0x00 }, { 0x15, 0x2a, 0x2a },
- { 0x3f, 0x00, 0x00 }, { 0x3f, 0x00, 0x2a }, { 0x3f, 0x2a, 0x00 }, { 0x3f, 0x2a, 0x2a },
- { 0x15, 0x00, 0x15 }, { 0x15, 0x00, 0x3f }, { 0x15, 0x2a, 0x15 }, { 0x15, 0x2a, 0x3f },
- { 0x3f, 0x00, 0x15 }, { 0x3f, 0x00, 0x3f }, { 0x3f, 0x2a, 0x15 }, { 0x3f, 0x2a, 0x3f },
- { 0x15, 0x15, 0x00 }, { 0x15, 0x15, 0x2a }, { 0x15, 0x3f, 0x00 }, { 0x15, 0x3f, 0x2a },
- { 0x3f, 0x15, 0x00 }, { 0x3f, 0x15, 0x2a }, { 0x3f, 0x3f, 0x00 }, { 0x3f, 0x3f, 0x2a },
- { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
- { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
+ { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
+ { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
+ { 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
+ { 0x2a, 0x00, 0x15 }, { 0x2a, 0x00, 0x3f }, { 0x2a, 0x2a, 0x15 }, { 0x2a, 0x2a, 0x3f },
+ { 0x00, 0x15, 0x00 }, { 0x00, 0x15, 0x2a }, { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x2a },
+ { 0x2a, 0x15, 0x00 }, { 0x2a, 0x15, 0x2a }, { 0x2a, 0x3f, 0x00 }, { 0x2a, 0x3f, 0x2a },
+ { 0x00, 0x15, 0x15 }, { 0x00, 0x15, 0x3f }, { 0x00, 0x3f, 0x15 }, { 0x00, 0x3f, 0x3f },
+ { 0x2a, 0x15, 0x15 }, { 0x2a, 0x15, 0x3f }, { 0x2a, 0x3f, 0x15 }, { 0x2a, 0x3f, 0x3f },
+ { 0x15, 0x00, 0x00 }, { 0x15, 0x00, 0x2a }, { 0x15, 0x2a, 0x00 }, { 0x15, 0x2a, 0x2a },
+ { 0x3f, 0x00, 0x00 }, { 0x3f, 0x00, 0x2a }, { 0x3f, 0x2a, 0x00 }, { 0x3f, 0x2a, 0x2a },
+ { 0x15, 0x00, 0x15 }, { 0x15, 0x00, 0x3f }, { 0x15, 0x2a, 0x15 }, { 0x15, 0x2a, 0x3f },
+ { 0x3f, 0x00, 0x15 }, { 0x3f, 0x00, 0x3f }, { 0x3f, 0x2a, 0x15 }, { 0x3f, 0x2a, 0x3f },
+ { 0x15, 0x15, 0x00 }, { 0x15, 0x15, 0x2a }, { 0x15, 0x3f, 0x00 }, { 0x15, 0x3f, 0x2a },
+ { 0x3f, 0x15, 0x00 }, { 0x3f, 0x15, 0x2a }, { 0x3f, 0x3f, 0x00 }, { 0x3f, 0x3f, 0x2a },
+ { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
+ { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
};
VBIOS_DAC_INFO DAC_EGA[] = {
- { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
- { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
- { 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
- { 0x2a, 0x00, 0x15 }, { 0x2a, 0x00, 0x3f }, { 0x2a, 0x2a, 0x15 }, { 0x2a, 0x2a, 0x3f },
- { 0x00, 0x15, 0x00 }, { 0x00, 0x15, 0x2a }, { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x2a },
- { 0x2a, 0x15, 0x00 }, { 0x2a, 0x15, 0x2a }, { 0x2a, 0x3f, 0x00 }, { 0x2a, 0x3f, 0x2a },
- { 0x00, 0x15, 0x15 }, { 0x00, 0x15, 0x3f }, { 0x00, 0x3f, 0x15 }, { 0x00, 0x3f, 0x3f },
- { 0x2a, 0x15, 0x15 }, { 0x2a, 0x15, 0x3f }, { 0x2a, 0x3f, 0x15 }, { 0x2a, 0x3f, 0x3f },
- { 0x15, 0x00, 0x00 }, { 0x15, 0x00, 0x2a }, { 0x15, 0x2a, 0x00 }, { 0x15, 0x2a, 0x2a },
- { 0x3f, 0x00, 0x00 }, { 0x3f, 0x00, 0x2a }, { 0x3f, 0x2a, 0x00 }, { 0x3f, 0x2a, 0x2a },
- { 0x15, 0x00, 0x15 }, { 0x15, 0x00, 0x3f }, { 0x15, 0x2a, 0x15 }, { 0x15, 0x2a, 0x3f },
- { 0x3f, 0x00, 0x15 }, { 0x3f, 0x00, 0x3f }, { 0x3f, 0x2a, 0x15 }, { 0x3f, 0x2a, 0x3f },
- { 0x15, 0x15, 0x00 }, { 0x15, 0x15, 0x2a }, { 0x15, 0x3f, 0x00 }, { 0x15, 0x3f, 0x2a },
- { 0x3f, 0x15, 0x00 }, { 0x3f, 0x15, 0x2a }, { 0x3f, 0x3f, 0x00 }, { 0x3f, 0x3f, 0x2a },
- { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
- { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
+ { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
+ { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
+ { 0x00, 0x00, 0x15 }, { 0x00, 0x00, 0x3f }, { 0x00, 0x2a, 0x15 }, { 0x00, 0x2a, 0x3f },
+ { 0x2a, 0x00, 0x15 }, { 0x2a, 0x00, 0x3f }, { 0x2a, 0x2a, 0x15 }, { 0x2a, 0x2a, 0x3f },
+ { 0x00, 0x15, 0x00 }, { 0x00, 0x15, 0x2a }, { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x2a },
+ { 0x2a, 0x15, 0x00 }, { 0x2a, 0x15, 0x2a }, { 0x2a, 0x3f, 0x00 }, { 0x2a, 0x3f, 0x2a },
+ { 0x00, 0x15, 0x15 }, { 0x00, 0x15, 0x3f }, { 0x00, 0x3f, 0x15 }, { 0x00, 0x3f, 0x3f },
+ { 0x2a, 0x15, 0x15 }, { 0x2a, 0x15, 0x3f }, { 0x2a, 0x3f, 0x15 }, { 0x2a, 0x3f, 0x3f },
+ { 0x15, 0x00, 0x00 }, { 0x15, 0x00, 0x2a }, { 0x15, 0x2a, 0x00 }, { 0x15, 0x2a, 0x2a },
+ { 0x3f, 0x00, 0x00 }, { 0x3f, 0x00, 0x2a }, { 0x3f, 0x2a, 0x00 }, { 0x3f, 0x2a, 0x2a },
+ { 0x15, 0x00, 0x15 }, { 0x15, 0x00, 0x3f }, { 0x15, 0x2a, 0x15 }, { 0x15, 0x2a, 0x3f },
+ { 0x3f, 0x00, 0x15 }, { 0x3f, 0x00, 0x3f }, { 0x3f, 0x2a, 0x15 }, { 0x3f, 0x2a, 0x3f },
+ { 0x15, 0x15, 0x00 }, { 0x15, 0x15, 0x2a }, { 0x15, 0x3f, 0x00 }, { 0x15, 0x3f, 0x2a },
+ { 0x3f, 0x15, 0x00 }, { 0x3f, 0x15, 0x2a }, { 0x3f, 0x3f, 0x00 }, { 0x3f, 0x3f, 0x2a },
+ { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
+ { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
};
VBIOS_DAC_INFO DAC_VGA[] = {
- { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
- { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x15, 0x00 }, { 0x2a, 0x2a, 0x2a },
- { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
- { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
- { 0x00, 0x00, 0x00 }, { 0x05, 0x05, 0x05 }, { 0x08, 0x08, 0x08 }, { 0x0b, 0x0b, 0x0b },
- { 0x0e, 0x0e, 0x0e }, { 0x11, 0x11, 0x11 }, { 0x14, 0x14, 0x14 }, { 0x18, 0x18, 0x18 },
- { 0x1c, 0x1c, 0x1c }, { 0x20, 0x20, 0x20 }, { 0x24, 0x24, 0x24 }, { 0x28, 0x28, 0x28 },
- { 0x2d, 0x2d, 0x2d }, { 0x32, 0x32, 0x32 }, { 0x38, 0x38, 0x38 }, { 0x3f, 0x3f, 0x3f },
- { 0x00, 0x00, 0x3f }, { 0x10, 0x00, 0x3f }, { 0x1f, 0x00, 0x3f }, { 0x2f, 0x00, 0x3f },
- { 0x3f, 0x00, 0x3f }, { 0x3f, 0x00, 0x2f }, { 0x3f, 0x00, 0x1f }, { 0x3f, 0x00, 0x10 },
- { 0x3f, 0x00, 0x00 }, { 0x3f, 0x10, 0x00 }, { 0x3f, 0x1f, 0x00 }, { 0x3f, 0x2f, 0x00 },
- { 0x3f, 0x3f, 0x00 }, { 0x2f, 0x3f, 0x00 }, { 0x1f, 0x3f, 0x00 }, { 0x10, 0x3f, 0x00 },
- { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x10 }, { 0x00, 0x3f, 0x1f }, { 0x00, 0x3f, 0x2f },
- { 0x00, 0x3f, 0x3f }, { 0x00, 0x2f, 0x3f }, { 0x00, 0x1f, 0x3f }, { 0x00, 0x10, 0x3f },
- { 0x1f, 0x1f, 0x3f }, { 0x27, 0x1f, 0x3f }, { 0x2f, 0x1f, 0x3f }, { 0x37, 0x1f, 0x3f },
- { 0x3f, 0x1f, 0x3f }, { 0x3f, 0x1f, 0x37 }, { 0x3f, 0x1f, 0x2f }, { 0x3f, 0x1f, 0x27 },
- { 0x3f, 0x1f, 0x1f }, { 0x3f, 0x27, 0x1f }, { 0x3f, 0x2f, 0x1f }, { 0x3f, 0x37, 0x1f },
- { 0x3f, 0x3f, 0x1f }, { 0x37, 0x3f, 0x1f }, { 0x2f, 0x3f, 0x1f }, { 0x27, 0x3f, 0x1f },
- { 0x1f, 0x3f, 0x1f }, { 0x1f, 0x3f, 0x27 }, { 0x1f, 0x3f, 0x2f }, { 0x1f, 0x3f, 0x37 },
- { 0x1f, 0x3f, 0x3f }, { 0x1f, 0x37, 0x3f }, { 0x1f, 0x2f, 0x3f }, { 0x1f, 0x27, 0x3f },
- { 0x2d, 0x2d, 0x3f }, { 0x31, 0x2d, 0x3f }, { 0x36, 0x2d, 0x3f }, { 0x3a, 0x2d, 0x3f },
- { 0x3f, 0x2d, 0x3f }, { 0x3f, 0x2d, 0x3a }, { 0x3f, 0x2d, 0x36 }, { 0x3f, 0x2d, 0x31 },
- { 0x3f, 0x2d, 0x2d }, { 0x3f, 0x31, 0x2d }, { 0x3f, 0x36, 0x2d }, { 0x3f, 0x3a, 0x2d },
- { 0x3f, 0x3f, 0x2d }, { 0x3a, 0x3f, 0x2d }, { 0x36, 0x3f, 0x2d }, { 0x31, 0x3f, 0x2d },
- { 0x2d, 0x3f, 0x2d }, { 0x2d, 0x3f, 0x31 }, { 0x2d, 0x3f, 0x36 }, { 0x2d, 0x3f, 0x3a },
- { 0x2d, 0x3f, 0x3f }, { 0x2d, 0x3a, 0x3f }, { 0x2d, 0x36, 0x3f }, { 0x2d, 0x31, 0x3f },
- { 0x00, 0x00, 0x1c }, { 0x07, 0x00, 0x1c }, { 0x0e, 0x00, 0x1c }, { 0x15, 0x00, 0x1c },
- { 0x1c, 0x00, 0x1c }, { 0x1c, 0x00, 0x15 }, { 0x1c, 0x00, 0x0e }, { 0x1c, 0x00, 0x07 },
- { 0x1c, 0x00, 0x00 }, { 0x1c, 0x07, 0x00 }, { 0x1c, 0x0e, 0x00 }, { 0x1c, 0x15, 0x00 },
- { 0x1c, 0x1c, 0x00 }, { 0x15, 0x1c, 0x00 }, { 0x0e, 0x1c, 0x00 }, { 0x07, 0x1c, 0x00 },
- { 0x00, 0x1c, 0x00 }, { 0x00, 0x1c, 0x07 }, { 0x00, 0x1c, 0x0e }, { 0x00, 0x1c, 0x15 },
- { 0x00, 0x1c, 0x1c }, { 0x00, 0x15, 0x1c }, { 0x00, 0x0e, 0x1c }, { 0x00, 0x07, 0x1c },
- { 0x0e, 0x0e, 0x1c }, { 0x11, 0x0e, 0x1c }, { 0x15, 0x0e, 0x1c }, { 0x18, 0x0e, 0x1c },
- { 0x1c, 0x0e, 0x1c }, { 0x1c, 0x0e, 0x18 }, { 0x1c, 0x0e, 0x15 }, { 0x1c, 0x0e, 0x11 },
- { 0x1c, 0x0e, 0x0e }, { 0x1c, 0x11, 0x0e }, { 0x1c, 0x15, 0x0e }, { 0x1c, 0x18, 0x0e },
- { 0x1c, 0x1c, 0x0e }, { 0x18, 0x1c, 0x0e }, { 0x15, 0x1c, 0x0e }, { 0x11, 0x1c, 0x0e },
- { 0x0e, 0x1c, 0x0e }, { 0x0e, 0x1c, 0x11 }, { 0x0e, 0x1c, 0x15 }, { 0x0e, 0x1c, 0x18 },
- { 0x0e, 0x1c, 0x1c }, { 0x0e, 0x18, 0x1c }, { 0x0e, 0x15, 0x1c }, { 0x0e, 0x11, 0x1c },
- { 0x14, 0x14, 0x1c }, { 0x16, 0x14, 0x1c }, { 0x18, 0x14, 0x1c }, { 0x1a, 0x14, 0x1c },
- { 0x1c, 0x14, 0x1c }, { 0x1c, 0x14, 0x1a }, { 0x1c, 0x14, 0x18 }, { 0x1c, 0x14, 0x16 },
- { 0x1c, 0x14, 0x14 }, { 0x1c, 0x16, 0x14 }, { 0x1c, 0x18, 0x14 }, { 0x1c, 0x1a, 0x14 },
- { 0x1c, 0x1c, 0x14 }, { 0x1a, 0x1c, 0x14 }, { 0x18, 0x1c, 0x14 }, { 0x16, 0x1c, 0x14 },
- { 0x14, 0x1c, 0x14 }, { 0x14, 0x1c, 0x16 }, { 0x14, 0x1c, 0x18 }, { 0x14, 0x1c, 0x1a },
- { 0x14, 0x1c, 0x1c }, { 0x14, 0x1a, 0x1c }, { 0x14, 0x18, 0x1c }, { 0x14, 0x16, 0x1c },
- { 0x00, 0x00, 0x10 }, { 0x04, 0x00, 0x10 }, { 0x08, 0x00, 0x10 }, { 0x0c, 0x00, 0x10 },
- { 0x10, 0x00, 0x10 }, { 0x10, 0x00, 0x0c }, { 0x10, 0x00, 0x08 }, { 0x10, 0x00, 0x04 },
- { 0x10, 0x00, 0x00 }, { 0x10, 0x04, 0x00 }, { 0x10, 0x08, 0x00 }, { 0x10, 0x0c, 0x00 },
- { 0x10, 0x10, 0x00 }, { 0x0c, 0x10, 0x00 }, { 0x08, 0x10, 0x00 }, { 0x04, 0x10, 0x00 },
- { 0x00, 0x10, 0x00 }, { 0x00, 0x10, 0x04 }, { 0x00, 0x10, 0x08 }, { 0x00, 0x10, 0x0c },
- { 0x00, 0x10, 0x10 }, { 0x00, 0x0c, 0x10 }, { 0x00, 0x08, 0x10 }, { 0x00, 0x04, 0x10 },
- { 0x08, 0x08, 0x10 }, { 0x0a, 0x08, 0x10 }, { 0x0c, 0x08, 0x10 }, { 0x0e, 0x08, 0x10 },
- { 0x10, 0x08, 0x10 }, { 0x10, 0x08, 0x0e }, { 0x10, 0x08, 0x0c }, { 0x10, 0x08, 0x0a },
- { 0x10, 0x08, 0x08 }, { 0x10, 0x0a, 0x08 }, { 0x10, 0x0c, 0x08 }, { 0x10, 0x0e, 0x08 },
- { 0x10, 0x10, 0x08 }, { 0x0e, 0x10, 0x08 }, { 0x0c, 0x10, 0x08 }, { 0x0a, 0x10, 0x08 },
- { 0x08, 0x10, 0x08 }, { 0x08, 0x10, 0x0a }, { 0x08, 0x10, 0x0c }, { 0x08, 0x10, 0x0e },
- { 0x08, 0x10, 0x10 }, { 0x08, 0x0e, 0x10 }, { 0x08, 0x0c, 0x10 }, { 0x08, 0x0a, 0x10 },
- { 0x0b, 0x0b, 0x10 }, { 0x0c, 0x0b, 0x10 }, { 0x0d, 0x0b, 0x10 }, { 0x0f, 0x0b, 0x10 },
- { 0x10, 0x0b, 0x10 }, { 0x10, 0x0b, 0x0f }, { 0x10, 0x0b, 0x0d }, { 0x10, 0x0b, 0x0c },
- { 0x10, 0x0b, 0x0b }, { 0x10, 0x0c, 0x0b }, { 0x10, 0x0d, 0x0b }, { 0x10, 0x0f, 0x0b },
- { 0x10, 0x10, 0x0b }, { 0x0f, 0x10, 0x0b }, { 0x0d, 0x10, 0x0b }, { 0x0c, 0x10, 0x0b },
- { 0x0b, 0x10, 0x0b }, { 0x0b, 0x10, 0x0c }, { 0x0b, 0x10, 0x0d }, { 0x0b, 0x10, 0x0f },
- { 0x0b, 0x10, 0x10 }, { 0x0b, 0x0f, 0x10 }, { 0x0b, 0x0d, 0x10 }, { 0x0b, 0x0c, 0x10 },
- { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 },
- { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 },
+ { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
+ { 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x15, 0x00 }, { 0x2a, 0x2a, 0x2a },
+ { 0x15, 0x15, 0x15 }, { 0x15, 0x15, 0x3f }, { 0x15, 0x3f, 0x15 }, { 0x15, 0x3f, 0x3f },
+ { 0x3f, 0x15, 0x15 }, { 0x3f, 0x15, 0x3f }, { 0x3f, 0x3f, 0x15 }, { 0x3f, 0x3f, 0x3f },
+ { 0x00, 0x00, 0x00 }, { 0x05, 0x05, 0x05 }, { 0x08, 0x08, 0x08 }, { 0x0b, 0x0b, 0x0b },
+ { 0x0e, 0x0e, 0x0e }, { 0x11, 0x11, 0x11 }, { 0x14, 0x14, 0x14 }, { 0x18, 0x18, 0x18 },
+ { 0x1c, 0x1c, 0x1c }, { 0x20, 0x20, 0x20 }, { 0x24, 0x24, 0x24 }, { 0x28, 0x28, 0x28 },
+ { 0x2d, 0x2d, 0x2d }, { 0x32, 0x32, 0x32 }, { 0x38, 0x38, 0x38 }, { 0x3f, 0x3f, 0x3f },
+ { 0x00, 0x00, 0x3f }, { 0x10, 0x00, 0x3f }, { 0x1f, 0x00, 0x3f }, { 0x2f, 0x00, 0x3f },
+ { 0x3f, 0x00, 0x3f }, { 0x3f, 0x00, 0x2f }, { 0x3f, 0x00, 0x1f }, { 0x3f, 0x00, 0x10 },
+ { 0x3f, 0x00, 0x00 }, { 0x3f, 0x10, 0x00 }, { 0x3f, 0x1f, 0x00 }, { 0x3f, 0x2f, 0x00 },
+ { 0x3f, 0x3f, 0x00 }, { 0x2f, 0x3f, 0x00 }, { 0x1f, 0x3f, 0x00 }, { 0x10, 0x3f, 0x00 },
+ { 0x00, 0x3f, 0x00 }, { 0x00, 0x3f, 0x10 }, { 0x00, 0x3f, 0x1f }, { 0x00, 0x3f, 0x2f },
+ { 0x00, 0x3f, 0x3f }, { 0x00, 0x2f, 0x3f }, { 0x00, 0x1f, 0x3f }, { 0x00, 0x10, 0x3f },
+ { 0x1f, 0x1f, 0x3f }, { 0x27, 0x1f, 0x3f }, { 0x2f, 0x1f, 0x3f }, { 0x37, 0x1f, 0x3f },
+ { 0x3f, 0x1f, 0x3f }, { 0x3f, 0x1f, 0x37 }, { 0x3f, 0x1f, 0x2f }, { 0x3f, 0x1f, 0x27 },
+ { 0x3f, 0x1f, 0x1f }, { 0x3f, 0x27, 0x1f }, { 0x3f, 0x2f, 0x1f }, { 0x3f, 0x37, 0x1f },
+ { 0x3f, 0x3f, 0x1f }, { 0x37, 0x3f, 0x1f }, { 0x2f, 0x3f, 0x1f }, { 0x27, 0x3f, 0x1f },
+ { 0x1f, 0x3f, 0x1f }, { 0x1f, 0x3f, 0x27 }, { 0x1f, 0x3f, 0x2f }, { 0x1f, 0x3f, 0x37 },
+ { 0x1f, 0x3f, 0x3f }, { 0x1f, 0x37, 0x3f }, { 0x1f, 0x2f, 0x3f }, { 0x1f, 0x27, 0x3f },
+ { 0x2d, 0x2d, 0x3f }, { 0x31, 0x2d, 0x3f }, { 0x36, 0x2d, 0x3f }, { 0x3a, 0x2d, 0x3f },
+ { 0x3f, 0x2d, 0x3f }, { 0x3f, 0x2d, 0x3a }, { 0x3f, 0x2d, 0x36 }, { 0x3f, 0x2d, 0x31 },
+ { 0x3f, 0x2d, 0x2d }, { 0x3f, 0x31, 0x2d }, { 0x3f, 0x36, 0x2d }, { 0x3f, 0x3a, 0x2d },
+ { 0x3f, 0x3f, 0x2d }, { 0x3a, 0x3f, 0x2d }, { 0x36, 0x3f, 0x2d }, { 0x31, 0x3f, 0x2d },
+ { 0x2d, 0x3f, 0x2d }, { 0x2d, 0x3f, 0x31 }, { 0x2d, 0x3f, 0x36 }, { 0x2d, 0x3f, 0x3a },
+ { 0x2d, 0x3f, 0x3f }, { 0x2d, 0x3a, 0x3f }, { 0x2d, 0x36, 0x3f }, { 0x2d, 0x31, 0x3f },
+ { 0x00, 0x00, 0x1c }, { 0x07, 0x00, 0x1c }, { 0x0e, 0x00, 0x1c }, { 0x15, 0x00, 0x1c },
+ { 0x1c, 0x00, 0x1c }, { 0x1c, 0x00, 0x15 }, { 0x1c, 0x00, 0x0e }, { 0x1c, 0x00, 0x07 },
+ { 0x1c, 0x00, 0x00 }, { 0x1c, 0x07, 0x00 }, { 0x1c, 0x0e, 0x00 }, { 0x1c, 0x15, 0x00 },
+ { 0x1c, 0x1c, 0x00 }, { 0x15, 0x1c, 0x00 }, { 0x0e, 0x1c, 0x00 }, { 0x07, 0x1c, 0x00 },
+ { 0x00, 0x1c, 0x00 }, { 0x00, 0x1c, 0x07 }, { 0x00, 0x1c, 0x0e }, { 0x00, 0x1c, 0x15 },
+ { 0x00, 0x1c, 0x1c }, { 0x00, 0x15, 0x1c }, { 0x00, 0x0e, 0x1c }, { 0x00, 0x07, 0x1c },
+ { 0x0e, 0x0e, 0x1c }, { 0x11, 0x0e, 0x1c }, { 0x15, 0x0e, 0x1c }, { 0x18, 0x0e, 0x1c },
+ { 0x1c, 0x0e, 0x1c }, { 0x1c, 0x0e, 0x18 }, { 0x1c, 0x0e, 0x15 }, { 0x1c, 0x0e, 0x11 },
+ { 0x1c, 0x0e, 0x0e }, { 0x1c, 0x11, 0x0e }, { 0x1c, 0x15, 0x0e }, { 0x1c, 0x18, 0x0e },
+ { 0x1c, 0x1c, 0x0e }, { 0x18, 0x1c, 0x0e }, { 0x15, 0x1c, 0x0e }, { 0x11, 0x1c, 0x0e },
+ { 0x0e, 0x1c, 0x0e }, { 0x0e, 0x1c, 0x11 }, { 0x0e, 0x1c, 0x15 }, { 0x0e, 0x1c, 0x18 },
+ { 0x0e, 0x1c, 0x1c }, { 0x0e, 0x18, 0x1c }, { 0x0e, 0x15, 0x1c }, { 0x0e, 0x11, 0x1c },
+ { 0x14, 0x14, 0x1c }, { 0x16, 0x14, 0x1c }, { 0x18, 0x14, 0x1c }, { 0x1a, 0x14, 0x1c },
+ { 0x1c, 0x14, 0x1c }, { 0x1c, 0x14, 0x1a }, { 0x1c, 0x14, 0x18 }, { 0x1c, 0x14, 0x16 },
+ { 0x1c, 0x14, 0x14 }, { 0x1c, 0x16, 0x14 }, { 0x1c, 0x18, 0x14 }, { 0x1c, 0x1a, 0x14 },
+ { 0x1c, 0x1c, 0x14 }, { 0x1a, 0x1c, 0x14 }, { 0x18, 0x1c, 0x14 }, { 0x16, 0x1c, 0x14 },
+ { 0x14, 0x1c, 0x14 }, { 0x14, 0x1c, 0x16 }, { 0x14, 0x1c, 0x18 }, { 0x14, 0x1c, 0x1a },
+ { 0x14, 0x1c, 0x1c }, { 0x14, 0x1a, 0x1c }, { 0x14, 0x18, 0x1c }, { 0x14, 0x16, 0x1c },
+ { 0x00, 0x00, 0x10 }, { 0x04, 0x00, 0x10 }, { 0x08, 0x00, 0x10 }, { 0x0c, 0x00, 0x10 },
+ { 0x10, 0x00, 0x10 }, { 0x10, 0x00, 0x0c }, { 0x10, 0x00, 0x08 }, { 0x10, 0x00, 0x04 },
+ { 0x10, 0x00, 0x00 }, { 0x10, 0x04, 0x00 }, { 0x10, 0x08, 0x00 }, { 0x10, 0x0c, 0x00 },
+ { 0x10, 0x10, 0x00 }, { 0x0c, 0x10, 0x00 }, { 0x08, 0x10, 0x00 }, { 0x04, 0x10, 0x00 },
+ { 0x00, 0x10, 0x00 }, { 0x00, 0x10, 0x04 }, { 0x00, 0x10, 0x08 }, { 0x00, 0x10, 0x0c },
+ { 0x00, 0x10, 0x10 }, { 0x00, 0x0c, 0x10 }, { 0x00, 0x08, 0x10 }, { 0x00, 0x04, 0x10 },
+ { 0x08, 0x08, 0x10 }, { 0x0a, 0x08, 0x10 }, { 0x0c, 0x08, 0x10 }, { 0x0e, 0x08, 0x10 },
+ { 0x10, 0x08, 0x10 }, { 0x10, 0x08, 0x0e }, { 0x10, 0x08, 0x0c }, { 0x10, 0x08, 0x0a },
+ { 0x10, 0x08, 0x08 }, { 0x10, 0x0a, 0x08 }, { 0x10, 0x0c, 0x08 }, { 0x10, 0x0e, 0x08 },
+ { 0x10, 0x10, 0x08 }, { 0x0e, 0x10, 0x08 }, { 0x0c, 0x10, 0x08 }, { 0x0a, 0x10, 0x08 },
+ { 0x08, 0x10, 0x08 }, { 0x08, 0x10, 0x0a }, { 0x08, 0x10, 0x0c }, { 0x08, 0x10, 0x0e },
+ { 0x08, 0x10, 0x10 }, { 0x08, 0x0e, 0x10 }, { 0x08, 0x0c, 0x10 }, { 0x08, 0x0a, 0x10 },
+ { 0x0b, 0x0b, 0x10 }, { 0x0c, 0x0b, 0x10 }, { 0x0d, 0x0b, 0x10 }, { 0x0f, 0x0b, 0x10 },
+ { 0x10, 0x0b, 0x10 }, { 0x10, 0x0b, 0x0f }, { 0x10, 0x0b, 0x0d }, { 0x10, 0x0b, 0x0c },
+ { 0x10, 0x0b, 0x0b }, { 0x10, 0x0c, 0x0b }, { 0x10, 0x0d, 0x0b }, { 0x10, 0x0f, 0x0b },
+ { 0x10, 0x10, 0x0b }, { 0x0f, 0x10, 0x0b }, { 0x0d, 0x10, 0x0b }, { 0x0c, 0x10, 0x0b },
+ { 0x0b, 0x10, 0x0b }, { 0x0b, 0x10, 0x0c }, { 0x0b, 0x10, 0x0d }, { 0x0b, 0x10, 0x0f },
+ { 0x0b, 0x10, 0x10 }, { 0x0b, 0x0f, 0x10 }, { 0x0b, 0x0d, 0x10 }, { 0x0b, 0x0c, 0x10 },
+ { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 },
+ { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x00 },
};
/* extern. function */
@@ -441,85 +441,85 @@ Bool
ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
ASTRecPtr pAST;
- VBIOS_MODE_INFO vgamodeinfo;
-
+ VBIOS_MODE_INFO vgamodeinfo;
+
pAST = ASTPTR(pScrn);
- /* pre set mode */
- bGetAST1000VGAModeInfo(pScrn, mode, &vgamodeinfo);
-
+ /* pre set mode */
+ bGetAST1000VGAModeInfo(pScrn, mode, &vgamodeinfo);
+
/* set mode */
if (pAST->jChipType == AST1180)
{
bInitAST1180(pScrn);
-
+
bSetAST1180CRTCReg(pScrn, mode, &vgamodeinfo);
bSetAST1180OffsetReg(pScrn, mode, &vgamodeinfo);
bSetAST1180DCLKReg(pScrn, mode, &vgamodeinfo);
bSetAST1180ExtReg(pScrn, mode, &vgamodeinfo);
-
+
vInitChontelReg(pScrn, mode, &vgamodeinfo);
}
else
{
vASTOpenKey(pScrn);
bASTRegInit(pScrn);
-
- vSetStdReg(pScrn, mode, &vgamodeinfo);
+
+ vSetStdReg(pScrn, mode, &vgamodeinfo);
vSetCRTCReg(pScrn, mode, &vgamodeinfo);
- vSetOffsetReg(pScrn, mode, &vgamodeinfo);
+ vSetOffsetReg(pScrn, mode, &vgamodeinfo);
vSetDCLKReg(pScrn, mode, &vgamodeinfo);
vSetExtReg(pScrn, mode, &vgamodeinfo);
vSetSyncReg(pScrn, mode, &vgamodeinfo);
- bSetDACReg(pScrn, mode, &vgamodeinfo);
+ bSetDACReg(pScrn, mode, &vgamodeinfo);
}
-
+
/* post set mode */
#ifdef Accel_2D
if (!pAST->noAccel) {
if (!bEnable2D(pScrn, pAST)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Enable 2D failed\n");
- pAST->noAccel = TRUE;
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Enable 2D failed\n");
+ pAST->noAccel = TRUE;
+ }
}
-#endif
+#endif
#ifdef HWC
if (!pAST->noHWC) {
if (!bInitHWC(pScrn, pAST)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Init HWC failed\n");
- pAST->noHWC = TRUE;
- }
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"Init HWC failed\n");
+ pAST->noHWC = TRUE;
+ }
}
-#endif
+#endif
vAST1000DisplayOn(pAST);
-
- return (TRUE);
+
+ return (TRUE);
}
Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- ASTRecPtr pAST;
+ ASTRecPtr pAST;
ULONG ulModeID, ulColorIndex, ulRefreshRate, ulRefreshRateIndex = 0;
ULONG ulHBorder, ulVBorder;
-
+
pAST = ASTPTR(pScrn);
-
+
switch (pScrn->bitsPerPixel)
{
case 8:
- pVGAModeInfo->pStdTableEntry = (PVBIOS_STDTABLE_STRUCT) &StdTable[VGAModeIndex];
- ulColorIndex = VGAModeIndex-1;
- break;
+ pVGAModeInfo->pStdTableEntry = (PVBIOS_STDTABLE_STRUCT) &StdTable[VGAModeIndex];
+ ulColorIndex = VGAModeIndex-1;
+ break;
case 16:
pVGAModeInfo->pStdTableEntry = (PVBIOS_STDTABLE_STRUCT) &StdTable[HiCModeIndex];
- ulColorIndex = HiCModeIndex;
+ ulColorIndex = HiCModeIndex;
break;
- case 24:
+ case 24:
case 32:
- pVGAModeInfo->pStdTableEntry = (PVBIOS_STDTABLE_STRUCT) &StdTable[TrueCModeIndex];
- ulColorIndex = TrueCModeIndex;
- break;
+ pVGAModeInfo->pStdTableEntry = (PVBIOS_STDTABLE_STRUCT) &StdTable[TrueCModeIndex];
+ ulColorIndex = TrueCModeIndex;
+ break;
default:
return (FALSE);
}
@@ -537,19 +537,19 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
break;
case 1280:
if (mode->CrtcVDisplay == 800)
- pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1280x800Table[ulRefreshRateIndex];
+ pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1280x800Table[ulRefreshRateIndex];
else
- pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1280x1024Table[ulRefreshRateIndex];
+ pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1280x1024Table[ulRefreshRateIndex];
break;
case 1360:
pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1360x768Table[ulRefreshRateIndex];
- break;
+ break;
case 1440:
pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1440x900Table[ulRefreshRateIndex];
- break;
+ break;
case 1600:
if (mode->CrtcVDisplay == 900)
- pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1600x900Table[ulRefreshRateIndex];
+ pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1600x900Table[ulRefreshRateIndex];
else
pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1600x1200Table[ulRefreshRateIndex];
break;
@@ -558,26 +558,26 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
break;
case 1920:
if (mode->CrtcVDisplay == 1080)
- pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1920x1080Table[ulRefreshRateIndex];
+ pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1920x1080Table[ulRefreshRateIndex];
else
pVGAModeInfo->pEnhTableEntry = (PVBIOS_ENHTABLE_STRUCT) &Res1920x1200Table[ulRefreshRateIndex];
- break;
+ break;
default:
return (FALSE);
}
/* Get Proper Mode Index */
- ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal);
-
+ ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal);
+
while (pVGAModeInfo->pEnhTableEntry->ulRefreshRate < ulRefreshRate)
{
pVGAModeInfo->pEnhTableEntry++;
- if ((pVGAModeInfo->pEnhTableEntry->ulRefreshRate > ulRefreshRate) ||
- (pVGAModeInfo->pEnhTableEntry->ulRefreshRate == 0xFF))
+ if ((pVGAModeInfo->pEnhTableEntry->ulRefreshRate > ulRefreshRate) ||
+ (pVGAModeInfo->pEnhTableEntry->ulRefreshRate == 0xFF))
{
pVGAModeInfo->pEnhTableEntry--;
- break;
- }
+ break;
+ }
}
/* parsing for wide scrren reduced blank mode */
@@ -588,12 +588,12 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
}
/* Update mode CRTC info */
- ulHBorder = (pVGAModeInfo->pEnhTableEntry->Flags & HBorder) ? 8:0;
- ulVBorder = (pVGAModeInfo->pEnhTableEntry->Flags & VBorder) ? 8:0;
-
+ ulHBorder = (pVGAModeInfo->pEnhTableEntry->Flags & HBorder) ? 8:0;
+ ulVBorder = (pVGAModeInfo->pEnhTableEntry->Flags & VBorder) ? 8:0;
+
mode->CrtcHTotal = (int) pVGAModeInfo->pEnhTableEntry->HT;
mode->CrtcHBlankStart = (int) (pVGAModeInfo->pEnhTableEntry->HDE + ulHBorder);
- mode->CrtcHBlankEnd = (int) (pVGAModeInfo->pEnhTableEntry->HT - ulHBorder);
+ mode->CrtcHBlankEnd = (int) (pVGAModeInfo->pEnhTableEntry->HT - ulHBorder);
mode->CrtcHSyncStart = (int) (pVGAModeInfo->pEnhTableEntry->HDE + ulHBorder
+ pVGAModeInfo->pEnhTableEntry->HFP);
mode->CrtcHSyncEnd = (int) (pVGAModeInfo->pEnhTableEntry->HDE + ulHBorder
@@ -602,55 +602,55 @@ Bool bGetAST1000VGAModeInfo(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_
mode->CrtcVTotal = (int) pVGAModeInfo->pEnhTableEntry->VT;
mode->CrtcVBlankStart = (int) (pVGAModeInfo->pEnhTableEntry->VDE + ulVBorder);
- mode->CrtcVBlankEnd = (int) (pVGAModeInfo->pEnhTableEntry->VT - ulVBorder);
+ mode->CrtcVBlankEnd = (int) (pVGAModeInfo->pEnhTableEntry->VT - ulVBorder);
mode->CrtcVSyncStart = (int) (pVGAModeInfo->pEnhTableEntry->VDE + ulVBorder
+ pVGAModeInfo->pEnhTableEntry->VFP);
mode->CrtcVSyncEnd = (int) (pVGAModeInfo->pEnhTableEntry->VDE + ulVBorder
+ pVGAModeInfo->pEnhTableEntry->VFP
+ pVGAModeInfo->pEnhTableEntry->VSYNC);
-
+
/* Write mode info to scratch */
ulRefreshRateIndex = pVGAModeInfo->pEnhTableEntry->ulRefreshRateIndex;
ulModeID = pVGAModeInfo->pEnhTableEntry->ulModeID;
if (pAST->jChipType == AST1180)
{
- /* TODO */
+ /* TODO */
}
else
- {
+ {
SetIndexReg(CRTC_PORT, 0x8C, (UCHAR) ((ulColorIndex & 0x0F) << 4));
SetIndexReg(CRTC_PORT, 0x8D, (UCHAR) (ulRefreshRateIndex & 0xFF));
SetIndexReg(CRTC_PORT, 0x8E, (UCHAR) (ulModeID & 0xFF));
-
+
/* NewModeInfo */
SetIndexReg(CRTC_PORT, 0x91, 0x00); /* clear signature */
if (pVGAModeInfo->pEnhTableEntry->Flags & NewModeInfo)
{
SetIndexReg(CRTC_PORT, 0x91, 0xA8); /* signature */
SetIndexReg(CRTC_PORT, 0x92, (UCHAR) (pScrn->bitsPerPixel) );
- SetIndexReg(CRTC_PORT, 0x93, (UCHAR) (mode->Clock / 1000) );
+ SetIndexReg(CRTC_PORT, 0x93, (UCHAR) (mode->Clock / 1000) );
SetIndexReg(CRTC_PORT, 0x94, (UCHAR) (mode->CrtcHDisplay) );
SetIndexReg(CRTC_PORT, 0x95, (UCHAR) (mode->CrtcHDisplay >> 8) ); /* color depth */
SetIndexReg(CRTC_PORT, 0x96, (UCHAR) (mode->CrtcVDisplay) );
SetIndexReg(CRTC_PORT, 0x97, (UCHAR) (mode->CrtcVDisplay >> 8) ); /* color depth */
}
- }
-
+ }
+
return (TRUE);
}
-
+
void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
-
+
PVBIOS_STDTABLE_STRUCT pStdModePtr;
- ASTRecPtr pAST;
+ ASTRecPtr pAST;
ULONG i;
- UCHAR jReg;
-
+ UCHAR jReg;
+
pStdModePtr = pVGAModeInfo->pStdTableEntry;
- pAST = ASTPTR(pScrn);
-
+ pAST = ASTPTR(pScrn);
+
/* Set Misc */
jReg = pStdModePtr->MISC;
SetReg(MISC_PORT_WRITE,jReg);
@@ -661,15 +661,15 @@ void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
{
jReg = pStdModePtr->SEQ[i];
if (!i) (jReg |= 0x20); /* display off */
- SetIndexReg(SEQ_PORT,(UCHAR) (i+1), jReg);
+ SetIndexReg(SEQ_PORT,(UCHAR) (i+1), jReg);
}
-
+
/* Set CRTC */
SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
for (i=0; i<25; i++)
{
jReg = pStdModePtr->CRTC[i];
- SetIndexReg(CRTC_PORT,(UCHAR) i, jReg);
+ SetIndexReg(CRTC_PORT,(UCHAR) i, jReg);
}
/* Set AR */
@@ -677,167 +677,167 @@ void vSetStdReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
for (i=0; i<20; i++)
{
jReg = pStdModePtr->AR[i];
- SetReg(AR_PORT_WRITE, (UCHAR) i);
- SetReg(AR_PORT_WRITE, jReg);
- }
- SetReg(AR_PORT_WRITE, 0x14);
- SetReg(AR_PORT_WRITE, 0x00);
-
+ SetReg(AR_PORT_WRITE, (UCHAR) i);
+ SetReg(AR_PORT_WRITE, jReg);
+ }
+ SetReg(AR_PORT_WRITE, 0x14);
+ SetReg(AR_PORT_WRITE, 0x00);
+
jReg = GetReg(INPUT_STATUS1_READ);
SetReg (AR_PORT_WRITE, 0x20); /* set POS */
-
+
/* Set GR */
for (i=0; i<9; i++)
{
jReg = pStdModePtr->GR[i];
- SetIndexReg(GR_PORT,(UCHAR) i, jReg);
-
- }
-
-
+ SetIndexReg(GR_PORT,(UCHAR) i, jReg);
+
+ }
+
+
}
void
vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- ASTRecPtr pAST;
- USHORT usTemp;
+ ASTRecPtr pAST;
+ USHORT usTemp;
UCHAR jReg05, jReg07, jReg09, jRegAC, jRegAD, jRegAE;
pAST = ASTPTR(pScrn);
jReg05 = jReg07 = jReg09 = jRegAC = jRegAD = jRegAE = 0;
-
+
/* unlock CRTC */
- SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
-
+ SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
+
/* Horizontal Timing Programming */
usTemp = (mode->CrtcHTotal >> 3) - 5;
if (usTemp & 0x100) jRegAC |= 0x01; /* HT D[8] */
SetIndexRegMask(CRTC_PORT,0x00, 0x00, (UCHAR) usTemp);
usTemp = (mode->CrtcHDisplay >> 3) - 1;
if (usTemp & 0x100) jRegAC |= 0x04; /* HDE D[8] */
- SetIndexRegMask(CRTC_PORT,0x01, 0x00, (UCHAR) usTemp);
+ SetIndexRegMask(CRTC_PORT,0x01, 0x00, (UCHAR) usTemp);
usTemp = (mode->CrtcHBlankStart >> 3) - 1;
if (usTemp & 0x100) jRegAC |= 0x10; /* HBS D[8] */
- SetIndexRegMask(CRTC_PORT,0x02, 0x00, (UCHAR) usTemp);
+ SetIndexRegMask(CRTC_PORT,0x02, 0x00, (UCHAR) usTemp);
usTemp = ((mode->CrtcHBlankEnd >> 3) - 1) & 0x7F;
if (usTemp & 0x20) jReg05 |= 0x80; /* HBE D[5] */
- if (usTemp & 0x40) jRegAD |= 0x01; /* HBE D[6] */
+ if (usTemp & 0x40) jRegAD |= 0x01; /* HBE D[6] */
SetIndexRegMask(CRTC_PORT,0x03, 0xE0, (UCHAR) (usTemp & 0x1F));
usTemp = (mode->CrtcHSyncStart >> 3 ) - 1;
- if (usTemp & 0x100) jRegAC |= 0x40; /* HRS D[5] */
- SetIndexRegMask(CRTC_PORT,0x04, 0x00, (UCHAR) (usTemp));
+ if (usTemp & 0x100) jRegAC |= 0x40; /* HRS D[5] */
+ SetIndexRegMask(CRTC_PORT,0x04, 0x00, (UCHAR) (usTemp));
usTemp = ((mode->CrtcHSyncEnd >> 3 ) - 1) & 0x3F;
- if (usTemp & 0x20) jRegAD |= 0x04; /* HRE D[5] */
+ if (usTemp & 0x20) jRegAD |= 0x04; /* HRE D[5] */
SetIndexRegMask(CRTC_PORT,0x05, 0x60, (UCHAR) ((usTemp & 0x1F) | jReg05));
-
- SetIndexRegMask(CRTC_PORT,0xAC, 0x00, (UCHAR) jRegAC);
- SetIndexRegMask(CRTC_PORT,0xAD, 0x00, (UCHAR) jRegAD);
-
+
+ SetIndexRegMask(CRTC_PORT,0xAC, 0x00, (UCHAR) jRegAC);
+ SetIndexRegMask(CRTC_PORT,0xAD, 0x00, (UCHAR) jRegAD);
+
/* Vetical Timing Programming */
usTemp = (mode->CrtcVTotal) - 2;
if (usTemp & 0x100) jReg07 |= 0x01; /* VT D[8] */
- if (usTemp & 0x200) jReg07 |= 0x20;
- if (usTemp & 0x400) jRegAE |= 0x01; /* VT D[10] */
- SetIndexRegMask(CRTC_PORT,0x06, 0x00, (UCHAR) usTemp);
+ if (usTemp & 0x200) jReg07 |= 0x20;
+ if (usTemp & 0x400) jRegAE |= 0x01; /* VT D[10] */
+ SetIndexRegMask(CRTC_PORT,0x06, 0x00, (UCHAR) usTemp);
usTemp = (mode->CrtcVSyncStart) - 1;
if (usTemp & 0x100) jReg07 |= 0x04; /* VRS D[8] */
if (usTemp & 0x200) jReg07 |= 0x80; /* VRS D[9] */
- if (usTemp & 0x400) jRegAE |= 0x08; /* VRS D[10] */
- SetIndexRegMask(CRTC_PORT,0x10, 0x00, (UCHAR) usTemp);
+ if (usTemp & 0x400) jRegAE |= 0x08; /* VRS D[10] */
+ SetIndexRegMask(CRTC_PORT,0x10, 0x00, (UCHAR) usTemp);
usTemp = ((mode->CrtcVSyncEnd) - 1) & 0x3F;
if (usTemp & 0x10) jRegAE |= 0x20; /* VRE D[4] */
if (usTemp & 0x20) jRegAE |= 0x40; /* VRE D[5] */
- SetIndexRegMask(CRTC_PORT,0x11, 0x70, (UCHAR) (usTemp & 0x0F));
+ SetIndexRegMask(CRTC_PORT,0x11, 0x70, (UCHAR) (usTemp & 0x0F));
usTemp = (mode->CrtcVDisplay) - 1;
if (usTemp & 0x100) jReg07 |= 0x02; /* VDE D[8] */
if (usTemp & 0x200) jReg07 |= 0x40; /* VDE D[9] */
- if (usTemp & 0x400) jRegAE |= 0x02; /* VDE D[10] */
- SetIndexRegMask(CRTC_PORT,0x12, 0x00, (UCHAR) usTemp);
+ if (usTemp & 0x400) jRegAE |= 0x02; /* VDE D[10] */
+ SetIndexRegMask(CRTC_PORT,0x12, 0x00, (UCHAR) usTemp);
usTemp = (mode->CrtcVBlankStart) - 1;
if (usTemp & 0x100) jReg07 |= 0x08; /* VBS D[8] */
if (usTemp & 0x200) jReg09 |= 0x20; /* VBS D[9] */
- if (usTemp & 0x400) jRegAE |= 0x04; /* VBS D[10] */
- SetIndexRegMask(CRTC_PORT,0x15, 0x00, (UCHAR) usTemp);
+ if (usTemp & 0x400) jRegAE |= 0x04; /* VBS D[10] */
+ SetIndexRegMask(CRTC_PORT,0x15, 0x00, (UCHAR) usTemp);
usTemp = (mode->CrtcVBlankEnd) - 1 ;
if (usTemp & 0x100) jRegAE |= 0x10; /* VBE D[8] */
- SetIndexRegMask(CRTC_PORT,0x16, 0x00, (UCHAR) usTemp);
+ SetIndexRegMask(CRTC_PORT,0x16, 0x00, (UCHAR) usTemp);
- SetIndexRegMask(CRTC_PORT,0x07, 0x00, (UCHAR) jReg07);
- SetIndexRegMask(CRTC_PORT,0x09, 0xDF, (UCHAR) jReg09);
+ SetIndexRegMask(CRTC_PORT,0x07, 0x00, (UCHAR) jReg07);
+ SetIndexRegMask(CRTC_PORT,0x09, 0xDF, (UCHAR) jReg09);
SetIndexRegMask(CRTC_PORT,0xAE, 0x00, (UCHAR) (jRegAE | 0x80)); /* disable line compare */
-
+
/* lock CRTC */
- SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x80);
-
+ SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x80);
+
}
void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- ASTRecPtr pAST;
- USHORT usOffset;
+ ASTRecPtr pAST;
+ USHORT usOffset;
pAST = ASTPTR(pScrn);
usOffset = pAST->VideoModeInfo.ScreenPitch >> 3; /* Unit: char */
-
- SetIndexReg(CRTC_PORT,0x13, (UCHAR) (usOffset & 0xFF));
- SetIndexReg(CRTC_PORT,0xB0, (UCHAR) ((usOffset >> 8) & 0x3F));
-
+
+ SetIndexReg(CRTC_PORT,0x13, (UCHAR) (usOffset & 0xFF));
+ SetIndexReg(CRTC_PORT,0xB0, (UCHAR) ((usOffset >> 8) & 0x3F));
+
}
void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
PVBIOS_DCLK_INFO pDCLKPtr;
- ASTRecPtr pAST;
-
+ ASTRecPtr pAST;
+
pAST = ASTPTR(pScrn);
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
- if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) || (pAST->jChipType == AST2300))
- pDCLKPtr = &DCLKTable_AST2100[pEnhModePtr->DCLKIndex];
+ if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) || (pAST->jChipType == AST2300))
+ pDCLKPtr = &DCLKTable_AST2100[pEnhModePtr->DCLKIndex];
else
pDCLKPtr = &DCLKTable[pEnhModePtr->DCLKIndex];
- SetIndexRegMask(CRTC_PORT,0xC0, 0x00, pDCLKPtr->Param1);
- SetIndexRegMask(CRTC_PORT,0xC1, 0x00, pDCLKPtr->Param2);
- SetIndexRegMask(CRTC_PORT,0xBB, 0x0F, (pDCLKPtr->Param3 & 0x80) | ((pDCLKPtr->Param3 & 0x03) << 4) );
-
+ SetIndexRegMask(CRTC_PORT,0xC0, 0x00, pDCLKPtr->Param1);
+ SetIndexRegMask(CRTC_PORT,0xC1, 0x00, pDCLKPtr->Param2);
+ SetIndexRegMask(CRTC_PORT,0xBB, 0x0F, (pDCLKPtr->Param3 & 0x80) | ((pDCLKPtr->Param3 & 0x03) << 4) );
+
}
void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
-
+
ASTRecPtr pAST;
UCHAR jRegA0, jRegA3, jRegA8;
-
+
pAST = ASTPTR(pScrn);
- jRegA0=jRegA3=jRegA8=0;
- /* Mode Type Setting */
+ jRegA0=jRegA3=jRegA8=0;
+ /* Mode Type Setting */
switch (pScrn->bitsPerPixel) {
case 8:
jRegA0 = 0x70;
jRegA3 = 0x01;
- jRegA8 = 0x00;
+ jRegA8 = 0x00;
break;
- case 15:
+ case 15:
case 16:
- jRegA0 = 0x70;
+ jRegA0 = 0x70;
jRegA3 = 0x04;
- jRegA8 = 0x02;
- break;
+ jRegA8 = 0x02;
+ break;
case 32:
- jRegA0 = 0x70;
+ jRegA0 = 0x70;
jRegA3 = 0x08;
- jRegA8 = 0x02;
+ jRegA8 = 0x02;
break;
- }
- SetIndexRegMask(CRTC_PORT,0xA0, 0x8F, (UCHAR) jRegA0);
- SetIndexRegMask(CRTC_PORT,0xA3, 0xF0, (UCHAR) jRegA3);
- SetIndexRegMask(CRTC_PORT,0xA8, 0xFD, (UCHAR) jRegA8);
+ }
+ SetIndexRegMask(CRTC_PORT,0xA0, 0x8F, (UCHAR) jRegA0);
+ SetIndexRegMask(CRTC_PORT,0xA3, 0xF0, (UCHAR) jRegA3);
+ SetIndexRegMask(CRTC_PORT,0xA8, 0xFD, (UCHAR) jRegA8);
#if defined(__sparc__)
UCHAR jRegA2 = 0x80;
@@ -845,49 +845,49 @@ void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
jRegA2 |= 0x40;
SetIndexRegMask(CRTC_PORT,0xA2, 0x3F, (UCHAR) jRegA2);
#endif
-
+
/* Set Threshold */
if (pAST->jChipType == AST2300)
{
SetIndexReg(CRTC_PORT,0xA7, 0x78);
- SetIndexReg(CRTC_PORT,0xA6, 0x60);
- }
- else if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) )
+ SetIndexReg(CRTC_PORT,0xA6, 0x60);
+ }
+ else if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) )
{
SetIndexReg(CRTC_PORT,0xA7, 0x3F);
- SetIndexReg(CRTC_PORT,0xA6, 0x2F);
+ SetIndexReg(CRTC_PORT,0xA6, 0x2F);
}
else
- {
+ {
SetIndexReg(CRTC_PORT,0xA7, 0x2F);
SetIndexReg(CRTC_PORT,0xA6, 0x1F);
- }
-
+ }
+
}
void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
ASTRecPtr pAST;
- UCHAR jReg;
-
+ UCHAR jReg;
+
pAST = ASTPTR(pScrn);
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
jReg = GetReg(MISC_PORT_READ);
jReg |= (UCHAR) (pEnhModePtr->Flags & SyncNN);
SetReg(MISC_PORT_WRITE,jReg);
-
+
}
Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_DAC_INFO pDACPtr;
- ASTRecPtr pAST;
+ ASTRecPtr pAST;
ULONG i, ulDACNumber;
UCHAR DACR, DACG, DACB;
- pAST = ASTPTR(pScrn);
+ pAST = ASTPTR(pScrn);
switch (pScrn->bitsPerPixel)
{
@@ -906,7 +906,7 @@ Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
DACB = pDACPtr->DACB;
VGA_LOAD_PALETTE_INDEX (i, DACR, DACG, DACB);
-
+
pDACPtr++;
}
@@ -915,11 +915,11 @@ Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAMod
}
ULONG AST1180DCLKTable [] = {
- 0x0008676b, /* 00: VCLK25_175 */
+ 0x0008676b, /* 00: VCLK25_175 */
0x00086342, /* 01: VCLK28_322 */
0x00086568, /* 02: VCLK31_5 */
0x00082118, /* 03: VCLK36 */
- 0x0008232e, /* 04: VCLK40 */
+ 0x0008232e, /* 04: VCLK40 */
0x000c256d, /* 05: VCLK49_5 */
0x00082016, /* 06: VCLK50 */
0x000c0010, /* 07: VCLK56_25 */
@@ -931,45 +931,45 @@ ULONG AST1180DCLKTable [] = {
0x00040334, /* 0D: VCLK135 */
0x0004033d, /* 0E: VCLK157_5 */
0x00040018, /* 0F: VCLK162 */
- 0x00040123, /* 10: VCLK154 */
- 0x000c0669, /* 11: VCLK83_5 */
- 0x0004074b, /* 12: VCLK106_5 */
- 0x0004022d, /* 13: VCLK146_25 */
- 0x00040769, /* 14: VCLK148_5 */
+ 0x00040123, /* 10: VCLK154 */
+ 0x000c0669, /* 11: VCLK83_5 */
+ 0x0004074b, /* 12: VCLK106_5 */
+ 0x0004022d, /* 13: VCLK146_25 */
+ 0x00040769, /* 14: VCLK148_5 */
};
BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG HTIndex, HRIndex, VTIndex, VRIndex;
+ ULONG HTIndex, HRIndex, VTIndex, VRIndex;
ULONG HT, HDE, HBS, HBE, HRS, HRE;
- ULONG VT, VDE, VBS, VBE, VRS, VRE;
+ ULONG VT, VDE, VBS, VBE, VRS, VRE;
ULONG HT2, HDE2, HRS2, HRE2;
- ULONG VT2, VDE2, VRS2, VRE2;
-
+ ULONG VT2, VDE2, VRS2, VRE2;
+
/* Reg. Index Select */
{
HTIndex = AST1180_VGA1_HTREG;
HRIndex = AST1180_VGA1_HRREG;
VTIndex = AST1180_VGA1_VTREG;
- VRIndex = AST1180_VGA1_VRREG;
- }
-
+ VRIndex = AST1180_VGA1_VRREG;
+ }
+
/* Get CRTC Info */
HT = mode->CrtcHTotal;
HDE= mode->CrtcHDisplay;
HBS= mode->CrtcHBlankStart;
- HBE= mode->CrtcHBlankEnd;
+ HBE= mode->CrtcHBlankEnd;
HRS= mode->CrtcHSyncStart;
HRE= mode->CrtcHSyncEnd;
VT = mode->CrtcVTotal;
VDE= mode->CrtcVDisplay;
VBS= mode->CrtcVBlankStart;
- VBE= mode->CrtcVBlankEnd;
+ VBE= mode->CrtcVBlankEnd;
VRS= mode->CrtcVSyncStart;
- VRE= mode->CrtcVSyncEnd;
-
+ VRE= mode->CrtcVSyncEnd;
+
/* Calculate CRTC Reg Setting */
HT2 = HT - 1;
HDE2 = HDE - 1;
@@ -977,45 +977,45 @@ BOOL bSetAST1180CRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INF
HRE2 = HRE - 1;
VT2 = VT - 1;
VDE2 = VDE - 1;
- VRS2 = VRS - 1;
+ VRS2 = VRS - 1;
VRE2 = VRE - 1;
-
+
/* Write Reg */
- WriteAST1180SOC(AST1180_GFX_BASE + HTIndex, (ULONG)(HDE2 << 16) | (ULONG) (HT2));
- WriteAST1180SOC(AST1180_GFX_BASE + HRIndex, (ULONG)(HRE2 << 16) | (ULONG) (HRS2));
- WriteAST1180SOC(AST1180_GFX_BASE + VTIndex, (ULONG)(VDE2 << 16) | (ULONG) (VT2));
- WriteAST1180SOC(AST1180_GFX_BASE + VRIndex, (ULONG)(VRE2 << 16) | (ULONG) (VRS2));
-
+ WriteAST1180SOC(AST1180_GFX_BASE + HTIndex, (ULONG)(HDE2 << 16) | (ULONG) (HT2));
+ WriteAST1180SOC(AST1180_GFX_BASE + HRIndex, (ULONG)(HRE2 << 16) | (ULONG) (HRS2));
+ WriteAST1180SOC(AST1180_GFX_BASE + VTIndex, (ULONG)(VDE2 << 16) | (ULONG) (VT2));
+ WriteAST1180SOC(AST1180_GFX_BASE + VRIndex, (ULONG)(VRE2 << 16) | (ULONG) (VRS2));
+
return (TRUE);
-
+
} /* bSetAST1180CRTCReg */
BOOL bSetAST1180OffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG ulOffset, ulTermalCount;
-
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ ULONG ulOffset, ulTermalCount;
+
ulOffset = pAST->VideoModeInfo.ScreenPitch;
ulTermalCount = (pAST->VideoModeInfo.ScreenPitch + 7) >> 3;
/* Write Reg */
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_OFFSET, (ULONG) (ulTermalCount << 16) | (ULONG) (ulOffset));
-
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_OFFSET, (ULONG) (ulTermalCount << 16) | (ULONG) (ulOffset));
+
return (TRUE);
-
+
} /* bSetAST1180OffsetReg */
BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
- ASTRecPtr pAST = ASTPTR(pScrn);
+ ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulDCLK;
-
+
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
ulDCLK = AST1180DCLKTable[pEnhModePtr->DCLKIndex];
if (pEnhModePtr->Flags & HalfDCLK)
ulDCLK |= 0x00400000; /* D[22]: div by 2 */
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_PLL, ulDCLK);
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_PLL, ulDCLK);
return (TRUE);
}
@@ -1023,51 +1023,51 @@ BOOL bSetAST1180DCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INF
BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
- ASTRecPtr pAST = ASTPTR(pScrn);
-
+ ASTRecPtr pAST = ASTPTR(pScrn);
+
ULONG ulCtlRegIndex, ulCtlReg; /* enable display */
- ULONG ulCtlReg2Index, ulCtlReg2 = 0x80; /* single edge */
+ ULONG ulCtlReg2Index, ulCtlReg2 = 0x80; /* single edge */
ULONG ulThresholdRegIndex ; /* Threshold */
ULONG ulStartAddressIndex; /* ulStartAddress */
ULONG ulStartAddress = pAST->ulVRAMBase;
-
+
/* Reg. Index Select */
{
ulCtlRegIndex = AST1180_VGA1_CTRL;
- ulCtlReg2Index = AST1180_VGA1_CTRL2;
+ ulCtlReg2Index = AST1180_VGA1_CTRL2;
ulThresholdRegIndex = AST1180_VGA1_THRESHOLD;
- ulStartAddressIndex = AST1180_VGA1_STARTADDR;
+ ulStartAddressIndex = AST1180_VGA1_STARTADDR;
}
/* Mode Type Setting */
ulCtlReg = 0x30000000;
- {
+ {
switch (pScrn->bitsPerPixel) {
- case 15:
+ case 15:
case 16:
- ulCtlReg |= 0x100001; /* RGB565, SCREEN OFF, ENABLE */
- break;
+ ulCtlReg |= 0x100001; /* RGB565, SCREEN OFF, ENABLE */
+ break;
case 32:
- ulCtlReg |= 0x100101; /* XRGB8888, SCREEN OFF, ENABLE */
+ ulCtlReg |= 0x100101; /* XRGB8888, SCREEN OFF, ENABLE */
break;
- }
- }
+ }
+ }
/* Polarity */
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
ulCtlReg |= (ULONG) (pEnhModePtr->Flags & SyncNN) << 10;
-
+
/* Single/Dual Edge */
ulCtlReg2 |= 0x40; /* dual-edge */
-
+
/* Write Reg */
- WriteAST1180SOC(AST1180_GFX_BASE + ulStartAddressIndex, ulStartAddress);
- WriteAST1180SOC(AST1180_GFX_BASE + ulThresholdRegIndex, ((ULONG) CRT_HIGH_THRESHOLD_VALUE << 8) | (ULONG) (CRT_LOW_THRESHOLD_VALUE));
- WriteAST1180SOC(AST1180_GFX_BASE + ulCtlReg2Index, ulCtlReg2);
- WriteAST1180SOC(AST1180_GFX_BASE + ulCtlRegIndex, ulCtlReg);
-
+ WriteAST1180SOC(AST1180_GFX_BASE + ulStartAddressIndex, ulStartAddress);
+ WriteAST1180SOC(AST1180_GFX_BASE + ulThresholdRegIndex, ((ULONG) CRT_HIGH_THRESHOLD_VALUE << 8) | (ULONG) (CRT_LOW_THRESHOLD_VALUE));
+ WriteAST1180SOC(AST1180_GFX_BASE + ulCtlReg2Index, ulCtlReg2);
+ WriteAST1180SOC(AST1180_GFX_BASE + ulCtlRegIndex, ulCtlReg);
+
return (TRUE);
-
+
} /* bSetAST1180ExtReg */
#define I2C_BASE_AST1180 0x80fcb000
@@ -1075,13 +1075,13 @@ BOOL bSetAST1180ExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO
void SetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex, UCHAR jData )
{
- ULONG ulData, ulI2CAddr, ulI2CPortBase;
+ ULONG ulData, ulI2CAddr, ulI2CPortBase;
ULONG retry;
-
+
{
- ulI2CPortBase = I2C_BASE_AST1180 + 0x40 * jChannel;
- ulI2CAddr = I2C_DEVICEADDR_AST1180;
- }
+ ulI2CPortBase = I2C_BASE_AST1180 + 0x40 * jChannel;
+ ulI2CAddr = I2C_DEVICEADDR_AST1180;
+ }
WriteAST1180SOC(ulI2CPortBase + 0x00, 0x00);
WriteAST1180SOC(ulI2CPortBase + 0x04, 0x77743355);
@@ -1131,14 +1131,14 @@ Exit_SetChrontelReg:
UCHAR GetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex)
{
- ULONG ulData, ulI2CAddr, ulI2CPortBase;
+ ULONG ulData, ulI2CAddr, ulI2CPortBase;
UCHAR jData;
ULONG retry;
-
+
{
- ulI2CPortBase = I2C_BASE_AST1180 + 0x40 * jChannel;
- ulI2CAddr = I2C_DEVICEADDR_AST1180;
- }
+ ulI2CPortBase = I2C_BASE_AST1180 + 0x40 * jChannel;
+ ulI2CAddr = I2C_DEVICEADDR_AST1180;
+ }
WriteAST1180SOC(ulI2CPortBase + 0x00, 0x00);
WriteAST1180SOC(ulI2CPortBase + 0x04, 0x77743355);
@@ -1181,28 +1181,28 @@ UCHAR GetChrontelReg(ASTRecPtr pAST, UCHAR jChannel, UCHAR jIndex)
ulData &= 0xffffffef;
WriteAST1180SOC(ulI2CPortBase + 0x0C, ulData);
WriteAST1180SOC(ulI2CPortBase + 0x10, 0xffffffff);
-
+
ReadAST1180SOC(ulI2CPortBase + 0x20, ulData);
jData = (UCHAR) ((ulData & 0xFF00) >> 8);
-
- return (jData);
+
+ return (jData);
}
void vInitChontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
- PVBIOS_ENHTABLE_STRUCT pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
- ASTRecPtr pAST = ASTPTR(pScrn);
+ PVBIOS_ENHTABLE_STRUCT pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
+ ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulDCLK = 65; /* todo */
UCHAR jReg;
-
+
jReg = GetChrontelReg(pAST, 1, 0x4A); /* get vendor id */
- if (jReg == 0x95)
- {
- jReg = GetChrontelReg(pAST, 1, 0x20); /* DVI/D-Sub */
+ if (jReg == 0x95)
+ {
+ jReg = GetChrontelReg(pAST, 1, 0x20); /* DVI/D-Sub */
if (jReg & 0x20) /* DVI */
{
-
+
/* DVI PLL Filter */
if (ulDCLK > 65)
{
@@ -1216,17 +1216,17 @@ void vInitChontelReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pV
SetChrontelReg(pAST, 1, 0x34, 0x16);
SetChrontelReg(pAST, 1, 0x36, 0x60);
}
-
- SetChrontelReg(pAST, 1, 0x49, 0xc0);
+
+ SetChrontelReg(pAST, 1, 0x49, 0xc0);
}
else /* D-Sub */
{
-
+
SetChrontelReg(pAST, 1, 0x21, 0x09);
SetChrontelReg(pAST, 1, 0x49, 0x00);
- SetChrontelReg(pAST, 1, 0x56, 0x00);
- }
- }
-
+ SetChrontelReg(pAST, 1, 0x56, 0x00);
+ }
+ }
+
}
diff --git a/src/ast_mode.h b/src/ast_mode.h
index 950bbce..13bb23c 100644
--- a/src/ast_mode.h
+++ b/src/ast_mode.h
@@ -23,7 +23,7 @@
/* Mode Limitation */
#define MAX_HResolution 1920
#define MAX_VResolution 1200
-
+
/* Std. Table Index Definition */
#define TextModeIndex 0
#define EGAModeIndex 1
@@ -81,17 +81,17 @@
/* Data Structure decalration for internal use */
typedef struct {
-
- UCHAR MISC;
+
+ UCHAR MISC;
UCHAR SEQ[4];
UCHAR CRTC[25];
- UCHAR AR[20];
+ UCHAR AR[20];
UCHAR GR[9];
-
+
} VBIOS_STDTABLE_STRUCT, *PVBIOS_STDTABLE_STRUCT;
typedef struct {
-
+
ULONG HT;
ULONG HDE;
ULONG HFP;
@@ -100,29 +100,29 @@ typedef struct {
ULONG VDE;
ULONG VFP;
ULONG VSYNC;
- ULONG DCLKIndex;
+ ULONG DCLKIndex;
ULONG Flags;
ULONG ulRefreshRate;
ULONG ulRefreshRateIndex;
ULONG ulModeID;
-
+
} VBIOS_ENHTABLE_STRUCT, *PVBIOS_ENHTABLE_STRUCT;
typedef struct {
UCHAR Param1;
UCHAR Param2;
- UCHAR Param3;
+ UCHAR Param3;
} VBIOS_DCLK_INFO, *PVBIOS_DCLK_INFO;
typedef struct {
UCHAR DACR;
UCHAR DACG;
- UCHAR DACB;
+ UCHAR DACB;
} VBIOS_DAC_INFO, *PVBIOS_DAC_INFO;
typedef struct {
PVBIOS_STDTABLE_STRUCT pStdTableEntry;
PVBIOS_ENHTABLE_STRUCT pEnhTableEntry;
-
+
} VBIOS_MODE_INFO, *PVBIOS_MODE_INFO;
diff --git a/src/ast_pcirename.h b/src/ast_pcirename.h
index f5085bd..19144f6 100644
--- a/src/ast_pcirename.h
+++ b/src/ast_pcirename.h
@@ -31,7 +31,7 @@
enum region_type {
REGION_MEM,
- REGION_IO
+ REGION_IO
};
#ifndef XSERVER_LIBPCIACCESS
diff --git a/src/ast_tool.c b/src/ast_tool.c
index c2bfac6..7f1362e 100644
--- a/src/ast_tool.c
+++ b/src/ast_tool.c
@@ -19,7 +19,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -75,12 +75,12 @@ ASTMapMem(ScrnInfoPtr pScrn)
PCI_DEV_MAP_FLAG_WRITABLE |
PCI_DEV_MAP_FLAG_WRITE_COMBINE,
result);
-
- if (err)
+
+ if (err)
return FALSE;
}
#endif
-
+
if (!pAST->FBVirtualAddr)
return FALSE;
@@ -92,15 +92,15 @@ ASTUnmapMem(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
-#ifndef XSERVER_LIBPCIACCESS
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer) pAST->FBVirtualAddr,
pAST->FbMapSize);
#else
pci_device_unmap_range(pAST->PciInfo, pAST->FBVirtualAddr, pAST->FbMapSize);
#endif
-
+
pAST->FBVirtualAddr = 0;
-
+
return TRUE;
}
@@ -130,8 +130,8 @@ ASTMapMMIO(ScrnInfoPtr pScrn)
pAST->MMIOMapSize,
PCI_DEV_MAP_FLAG_WRITABLE,
result);
-
- if (err)
+
+ if (err)
return FALSE;
}
@@ -154,7 +154,7 @@ ASTUnmapMMIO(ScrnInfoPtr pScrn)
pci_device_unmap_range(pAST->PciInfo, pAST->MMIOVirtualAddr, pAST->MMIOMapSize);
#endif
pAST->MMIOVirtualAddr = 0;
-
+
}
diff --git a/src/ast_vgatool.c b/src/ast_vgatool.c
index 964b826..04d311c 100644
--- a/src/ast_vgatool.c
+++ b/src/ast_vgatool.c
@@ -78,11 +78,11 @@ void GetAST1180DRAMInfo(ScrnInfoPtr pScrn);
void
vASTOpenKey(ScrnInfoPtr pScrn)
-{
+{
ASTRecPtr pAST = ASTPTR(pScrn);
-
- SetIndexReg(CRTC_PORT,0x80, 0xA8);
-
+
+ SetIndexReg(CRTC_PORT,0x80, 0xA8);
+
}
Bool
@@ -97,34 +97,34 @@ bASTRegInit(ScrnInfoPtr pScrn)
#if defined(__sparc__)
SetIndexRegMask(CRTC_PORT,0xA2, 0xFF, 0x80);
#endif
-
+
return (TRUE);
-
+
}
void
GetDRAMInfo(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG ulRefPLL, ulDeNumerator, ulNumerator, ulDivider;
+ ULONG ulRefPLL, ulDeNumerator, ulNumerator, ulDivider;
ULONG ulData, ulData2;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
-
+
ulData = *(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10004);
-
+
/* Get BusWidth */
if (ulData & 0x40)
pAST->ulDRAMBusWidth = 16;
- else
+ else
pAST->ulDRAMBusWidth = 32;
-
+
/* Get DRAM Type */
if (pAST->jChipType == AST2300)
{
@@ -132,67 +132,67 @@ GetDRAMInfo(ScrnInfoPtr pScrn)
{
case 0x00:
pAST->jDRAMType = DRAMTYPE_512Mx16;
- break;
- default:
+ break;
+ default:
case 0x01:
pAST->jDRAMType = DRAMTYPE_1Gx16;
- break;
+ break;
case 0x02:
pAST->jDRAMType = DRAMTYPE_2Gx16;
- break;
- case 0x03:
+ break;
+ case 0x03:
pAST->jDRAMType = DRAMTYPE_4Gx16;
- break;
- }
+ break;
+ }
}
else
{
switch (ulData & 0x0C)
{
- case 0x00:
+ case 0x00:
case 0x04:
pAST->jDRAMType = DRAMTYPE_512Mx16;
- break;
-
+ break;
+
case 0x08:
if (ulData & 0x40) /* 16bits */
pAST->jDRAMType = DRAMTYPE_1Gx16;
else /* 32bits */
pAST->jDRAMType = DRAMTYPE_512Mx32;
break;
-
+
case 0x0C:
pAST->jDRAMType = DRAMTYPE_1Gx32;
break;
}
- }
-
+ }
+
/* Get MCLK */
- ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10120);
- ulData2 = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10170);
+ ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10120);
+ ulData2 = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10170);
if (ulData2 & 0x2000)
ulRefPLL = 14318;
else
ulRefPLL = 12000;
-
+
ulDeNumerator = ulData & 0x1F;
ulNumerator = (ulData & 0x3FE0) >> 5;
-
- ulData = (ulData & 0xC000) >> 14;
+
+ ulData = (ulData & 0xC000) >> 14;
switch (ulData)
{
case 0x03:
ulDivider = 0x04;
break;
case 0x02:
- case 0x01:
+ case 0x01:
ulDivider = 0x02;
break;
default:
- ulDivider = 0x01;
- }
- pAST->ulMCLK = ulRefPLL * (ulNumerator + 2) / ((ulDeNumerator + 2) * ulDivider * 1000);
-
+ ulDivider = 0x01;
+ }
+ pAST->ulMCLK = ulRefPLL * (ulNumerator + 2) / ((ulDeNumerator + 2) * ulDivider * 1000);
+
} /* GetDRAMInfo */
ULONG
@@ -203,22 +203,22 @@ GetVRAMInfo(ScrnInfoPtr pScrn)
vASTOpenKey(pScrn);
- GetIndexRegMask(CRTC_PORT, 0xAA, 0xFF, jReg);
+ GetIndexRegMask(CRTC_PORT, 0xAA, 0xFF, jReg);
switch (jReg & 0x03)
{
case 0x00:
- return (VIDEOMEM_SIZE_08M);
+ return (VIDEOMEM_SIZE_08M);
case 0x01:
- return (VIDEOMEM_SIZE_16M);
+ return (VIDEOMEM_SIZE_16M);
case 0x02:
- return (VIDEOMEM_SIZE_32M);
- case 0x03:
- return (VIDEOMEM_SIZE_64M);
- }
-
+ return (VIDEOMEM_SIZE_32M);
+ case 0x03:
+ return (VIDEOMEM_SIZE_64M);
+ }
+
return (DEFAULT_VIDEOMEM_SIZE);
-
+
}
ULONG
@@ -230,32 +230,32 @@ GetMaxDCLK(ScrnInfoPtr pScrn)
ULONG ulDCLK;
ulMCLK = pAST->ulMCLK;
- ulDRAMBusWidth = pAST->ulDRAMBusWidth;
-
+ ulDRAMBusWidth = pAST->ulDRAMBusWidth;
+
/* Get Bandwidth */
/* Modify DARM utilization to 60% for AST1100/2100 16bits DRAM, ycchen@032508 */
if ( ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150)) && (ulDRAMBusWidth == 16) )
DRAMEfficiency = 600;
else if (pAST->jChipType == AST2300)
- DRAMEfficiency = 400;
+ DRAMEfficiency = 400;
ulDRAMBandwidth = ulMCLK * ulDRAMBusWidth * 2 / 8;
ActualDRAMBandwidth = ulDRAMBandwidth * DRAMEfficiency / 1000;
-
+
/* Get Max DCLK */
if (pAST->jChipType == AST1180)
{
ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1) / 8);
}
else
- {
- /* Fixed Fixed KVM + CRT threshold issue on AST2100 8bpp modes, ycchen@100708 */
- GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
- if ((jReg & 0x08) && (pAST->jChipType == AST2000))
- ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1+16) / 8);
+ {
+ /* Fixed Fixed KVM + CRT threshold issue on AST2100 8bpp modes, ycchen@100708 */
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+ if ((jReg & 0x08) && (pAST->jChipType == AST2000))
+ ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1+16) / 8);
else if ((jReg & 0x08) && (pScrn->bitsPerPixel == 8))
- ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1+24) / 8);
- else
- ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1) / 8);
+ ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1+24) / 8);
+ else
+ ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1) / 8);
}
/* Add for AST2100, ycchen@061807 */
@@ -265,11 +265,11 @@ GetMaxDCLK(ScrnInfoPtr pScrn)
}
else
{
- if (ulDCLK > 165) ulDCLK = 165;
+ if (ulDCLK > 165) ulDCLK = 165;
}
-
+
return(ulDCLK);
-
+
}
void
@@ -278,30 +278,30 @@ GetChipType(ScrnInfoPtr pScrn)
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData;
UCHAR jReg;
-
+
pAST->jChipType = AST2100;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
- ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+ ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
switch (ulData & 0x0300)
{
case 0x0200:
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST1100 Detected.\n");
- pAST->jChipType = AST1100;
+ pAST->jChipType = AST1100;
break;
case 0x0100:
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2200 Detected.\n");
- pAST->jChipType = AST2200;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2200 Detected.\n");
+ pAST->jChipType = AST2200;
break;
case 0x0000:
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2150 Detected.\n");
- pAST->jChipType = AST2150;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2150 Detected.\n");
+ pAST->jChipType = AST2150;
break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2100 Detected.\n");
+ default:
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "AST2100 Detected.\n");
pAST->jChipType = AST2100;
- }
+ }
}
@@ -311,18 +311,18 @@ GetScratchOptions(ScrnInfoPtr pScrn)
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData;
UCHAR jReg;
-
- /* VGA2 Clone Support */
+
+ /* VGA2 Clone Support */
GetIndexRegMask(CRTC_PORT, 0x90, 0xFF, jReg);
if (jReg & 0x10)
pAST->VGA2Clone = TRUE;
-
+
/* WideScreen Support */
switch (pAST->jChipType)
{
case AST1180:
pAST->SupportWideScreen = TRUE;
- break;
+ break;
case AST2000:
pAST->SupportWideScreen = FALSE;
break;
@@ -330,7 +330,7 @@ GetScratchOptions(ScrnInfoPtr pScrn)
GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
if (!(jReg & 0x80))
pAST->SupportWideScreen = TRUE;
- else if (jReg & 0x01)
+ else if (jReg & 0x01)
pAST->SupportWideScreen = TRUE;
else
{
@@ -338,34 +338,34 @@ GetScratchOptions(ScrnInfoPtr pScrn)
if (pAST->jChipType == AST2300) /* for AST1300 */
{
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
- ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+ ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
if ((ulData & 0x0300) == 0) /* AST1300 */
- pAST->SupportWideScreen = TRUE;
- }
- }
+ pAST->SupportWideScreen = TRUE;
+ }
+ }
} /* switch case */
-
+
} /* GetScratchOptions */
void
vSetStartAddressCRT1(ASTRecPtr pAST, ULONG base)
{
ULONG addr;
-
+
if (pAST->jChipType == AST1180)
{
addr = pAST->ulVRAMBase + base;
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_STARTADDR, addr);
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_STARTADDR, addr);
}
else
{
addr = base >> 2; /* DW unit */
-
+
SetIndexReg(CRTC_PORT,0x0D, (UCHAR) (addr & 0xFF));
SetIndexReg(CRTC_PORT,0x0C, (UCHAR) ((addr >> 8) & 0xFF));
SetIndexReg(CRTC_PORT,0xAF, (UCHAR) ((addr >> 16) & 0xFF));
- }
+ }
}
@@ -373,14 +373,14 @@ void
vAST1000DisplayOff(ASTRecPtr pAST)
{
ULONG ulData;
-
+
if (pAST->jChipType == AST1180)
{
- ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
- ulData |= 0x00100000;
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
+ ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
+ ulData |= 0x00100000;
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
}
- else
+ else
SetIndexRegMask(SEQ_PORT,0x01, 0xDF, 0x20);
}
@@ -389,38 +389,38 @@ void
vAST1000DisplayOn(ASTRecPtr pAST)
{
ULONG ulData;
-
+
if (pAST->jChipType == AST1180)
{
- ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
- ulData &= 0xFFEFFFFF;
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
+ ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
+ ulData &= 0xFFEFFFFF;
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulData);
}
else
SetIndexRegMask(SEQ_PORT,0x01, 0xDF, 0x00);
-}
+}
void ASTBlankScreen(ScrnInfoPtr pScrn, Bool unblack)
{
ASTRecPtr pAST;
pAST = ASTPTR(pScrn);
-
+
if (unblack)
vAST1000DisplayOn(pAST);
else
- vAST1000DisplayOff(pAST);
-}
+ vAST1000DisplayOff(pAST);
+}
void
vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
VisualPtr pVisual)
{
-
+
ASTRecPtr pAST = ASTPTR(pScrn);
int i, j, index;
UCHAR DACIndex, DACR, DACG, DACB;
-
+
switch (pScrn->bitsPerPixel) {
case 15:
for(i=0; i<numColors; i++) {
@@ -430,12 +430,12 @@ vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
DACR = colors[index].red << (8- pScrn->rgbBits);
DACG = colors[index].green << (8- pScrn->rgbBits);
DACB = colors[index].blue << (8- pScrn->rgbBits);
-
- VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
+
+ VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
}
}
break;
-
+
case 16:
for(i=0; i<numColors; i++) {
index = indices[i];
@@ -444,12 +444,12 @@ vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
DACR = colors[index/2].red << (8- pScrn->rgbBits);
DACG = colors[index].green << (8- pScrn->rgbBits);
DACB = colors[index/2].blue << (8- pScrn->rgbBits);
-
- VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
+
+ VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
}
}
break;
-
+
case 24:
for(i=0; i<numColors; i++) {
index = indices[i];
@@ -457,11 +457,11 @@ vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
DACR = colors[index].red;
DACG = colors[index].green;
DACB = colors[index].blue;
-
- VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
- }
+
+ VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
+ }
break;
-
+
default:
for(i=0; i<numColors; i++) {
index = indices[i];
@@ -469,12 +469,12 @@ vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
DACR = colors[index].red >> (8 - pScrn->rgbBits);
DACG = colors[index].green >> (8 - pScrn->rgbBits);
DACB = colors[index].blue >> (8 - pScrn->rgbBits);
-
- VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
- }
+
+ VGA_LOAD_PALETTE_INDEX (DACIndex, DACR, DACG, DACB);
+ }
} /* end of switch */
-
+
} /* end of vASTLoadPalette */
void
@@ -483,7 +483,7 @@ ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int fla
ASTRecPtr pAST;
UCHAR SEQ01, CRB6;
ULONG ulData, ulTemp;
-
+
pAST = ASTPTR(pScrn);
SEQ01=CRB6=0;
ulData = 0;
@@ -501,34 +501,34 @@ ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int fla
/* Screen: Off; HSync: Off, VSync: On */
SEQ01 = 0x20;
CRB6 = 0x01;
- ulData = 0x00140000;
+ ulData = 0x00140000;
break;
case DPMSModeSuspend:
/* Screen: Off; HSync: On, VSync: Off */
SEQ01 = 0x20;
CRB6 = 0x02;
- ulData = 0x00180000;
+ ulData = 0x00180000;
break;
case DPMSModeOff:
/* Screen: Off; HSync: Off, VSync: Off */
SEQ01 = 0x20;
CRB6 = 0x03;
- ulData = 0x001C0000;
+ ulData = 0x001C0000;
break;
}
if (pAST->jChipType == AST1180)
{
- ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulTemp);
- ulTemp &= 0xFFE3FFFF;
- ulTemp |= ulData;
- WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulTemp);
+ ReadAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulTemp);
+ ulTemp &= 0xFFE3FFFF;
+ ulTemp |= ulData;
+ WriteAST1180SOC(AST1180_GFX_BASE + AST1180_VGA1_CTRL, ulTemp);
}
else
- {
+ {
SetIndexRegMask(SEQ_PORT,0x01, 0xDF, SEQ01);
SetIndexRegMask(CRTC_PORT,0xB6, 0xFC, CRB6);
- }
+ }
}
@@ -545,11 +545,11 @@ Bool
GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG i, ulData;
+ ULONG i, ulData;
UCHAR *pjEDID;
ULONG base, deviceaddr;
UCHAR *offset;
-
+
pjEDID = pEDIDBuffer;
if (pAST->jChipType == AST1180)
@@ -563,16 +563,16 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
base = I2C_BASE;
offset = pAST->MMIOVirtualAddr + 0x10000 + I2C_OFFSET;
deviceaddr = I2C_DEVICEADDR;
-
+
/* SCU settings */
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
usleep(10000);
-
- *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
+
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004);
ulData &= 0xfffffffb;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004) = ulData;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004) = ulData;
usleep(10000);
}
@@ -580,7 +580,7 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = base;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
usleep(10000);
-
+
/* I2C Start */
*(ULONG *) (offset + 0x00) = 0x0;
*(ULONG *) (offset + 0x04) = 0x77777355;
@@ -603,11 +603,11 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
} while (!(ulData & 0x01));
*(ULONG *) (offset + 0x10) = 0xffffffff;
*(ULONG *) (offset + 0x20) = deviceaddr + 1;
- *(ULONG *) (offset + 0x14) = 0x03;
+ *(ULONG *) (offset + 0x14) = 0x03;
do {
ulData = *(volatile ULONG *) (offset + 0x10);
} while (!(ulData & 0x01));
-
+
/* I2C Read */
for (i=0; i<127; i++)
{
@@ -618,7 +618,7 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
ulData = *(volatile ULONG *) (offset + 0x10);
} while (!(ulData & 0x04));
*(ULONG *) (offset + 0x10) = 0xffffffff;
- *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (offset + 0x20) & 0xFF00) >> 8);
+ *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (offset + 0x20) & 0xFF00) >> 8);
}
/* Read Last Byte */
@@ -629,7 +629,7 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
ulData = *(volatile ULONG *) (offset + 0x10);
} while (!(ulData & 0x04));
*(ULONG *) (offset + 0x10) = 0xffffffff;
- *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (offset + 0x20) & 0xFF00) >> 8);
+ *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (offset + 0x20) & 0xFF00) >> 8);
/* I2C Stop */
*(ULONG *) (offset + 0x10) = 0xffffffff;
@@ -637,9 +637,9 @@ GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
do {
ulData = *(volatile ULONG *) (offset + 0x10);
} while (!(ulData & 0x10));
- *(ULONG *) (offset + 0x0C) &= 0xffffffef;
+ *(ULONG *) (offset + 0x0C) &= 0xffffffef;
*(ULONG *) (offset + 0x10) = 0xffffffff;
-
+
return (TRUE);
} /* GetVGA2EDID */
@@ -650,44 +650,44 @@ Bool bIsVGAEnabled(ScrnInfoPtr pScrn)
ASTRecPtr pAST;
UCHAR ch;
ULONG ulData;
-
+
pAST = ASTPTR(pScrn);
if (pAST->jChipType == AST1180)
{
WriteAST1180SOC(AST1180_MMC_BASE+0x00, 0xFC600309); /* unlock */
ReadAST1180SOC(AST1180_MMC_BASE+0x08, ulData);
- return (ulData);
- }
- else
+ return (ulData);
+ }
+ else
{
-
+
ch = GetReg(VGA_ENABLE_PORT);
if (ch)
{
-
+
vASTOpenKey(pScrn);
-
- GetIndexRegMask(CRTC_PORT, 0xB6, 0xFF, ch);
-
+
+ GetIndexRegMask(CRTC_PORT, 0xB6, 0xFF, ch);
+
return (ch & 0x04);
}
}
-
- return (0);
-}
+
+ return (0);
+}
void vEnableVGA(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST;
-
+
pAST = ASTPTR(pScrn);
SetReg(VGA_ENABLE_PORT, 0x01);
- SetReg(MISC_PORT_WRITE, 0x01);
-
-}
+ SetReg(MISC_PORT_WRITE, 0x01);
+
+}
UCHAR ExtRegInfo[] = {
0x0F,
@@ -714,7 +714,7 @@ void vSetDefExtReg(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST;
UCHAR i, jIndex, jReg, *pjExtRegInfo;
-
+
pAST = ASTPTR(pScrn);
/* Reset Scratch */
@@ -729,8 +729,8 @@ void vSetDefExtReg(ScrnInfoPtr pScrn)
if (PCI_DEV_REVISION(pAST->PciInfo) > 0x20)
pjExtRegInfo = ExtRegInfo_AST2300;
else
- pjExtRegInfo = ExtRegInfo_AST2300A0;
- }
+ pjExtRegInfo = ExtRegInfo_AST2300A0;
+ }
else
pjExtRegInfo = ExtRegInfo;
@@ -744,18 +744,18 @@ void vSetDefExtReg(ScrnInfoPtr pScrn)
/* disable standard IO/MEM decode if secondary */
if (!xf86IsPrimaryPci(pAST->PciInfo))
- SetIndexRegMask(CRTC_PORT,0xA1, 0xFF, 0x03);
+ SetIndexRegMask(CRTC_PORT,0xA1, 0xFF, 0x03);
/* Set Ext. Default */
- SetIndexRegMask(CRTC_PORT,0x8C, 0x00, 0x01);
- SetIndexRegMask(CRTC_PORT,0xB7, 0x00, 0x00);
-
+ SetIndexRegMask(CRTC_PORT,0x8C, 0x00, 0x01);
+ SetIndexRegMask(CRTC_PORT,0xB7, 0x00, 0x00);
+
/* Enable RAMDAC for A1, ycchen@113005 */
jReg = 0x04;
if (pAST->jChipType == AST2300)
jReg |= 0x20;
- SetIndexRegMask(CRTC_PORT,0xB6, 0xFF, jReg);
-
+ SetIndexRegMask(CRTC_PORT,0xB6, 0xFF, jReg);
+
}
__inline ULONG MIndwm(UCHAR *mmiobase, ULONG r)
@@ -764,15 +764,15 @@ __inline ULONG MIndwm(UCHAR *mmiobase, ULONG r)
*(ULONG *) (mmiobase + 0xF000) = 0x1;
return ( *(volatile ULONG *) (mmiobase + 0x10000 + (r & 0x0000FFFF)) );
-
+
}
__inline void MOutdwm(UCHAR *mmiobase, ULONG r, ULONG v)
{
-
+
*(ULONG *) (mmiobase + 0xF004) = r & 0xFFFF0000;
*(ULONG *) (mmiobase + 0xF000) = 0x1;
-
+
*(volatile ULONG *) (mmiobase + 0x10000 + (r & 0x0000FFFF)) = v;
}
@@ -810,7 +810,7 @@ typedef struct _AST2150DRAMParam {
ULONG MMCTestBurst2_AST2150(PAST2150DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -842,7 +842,7 @@ ULONG MMCTestBurst2_AST2150(PAST2150DRAMParam param, ULONG datagen)
ULONG MMCTestSingle2_AST2150(PAST2150DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -863,7 +863,7 @@ ULONG MMCTestSingle2_AST2150(PAST2150DRAMParam param, ULONG datagen)
int CBRTest_AST2150(PAST2150DRAMParam param)
{
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -882,7 +882,7 @@ int CBRTest_AST2150(PAST2150DRAMParam param)
int CBRScan_AST2150(PAST2150DRAMParam param, int busw)
{
ULONG patcnt, loop;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -904,7 +904,7 @@ int CBRScan_AST2150(PAST2150DRAMParam param, int busw)
void CBRDLLI_AST2150(PAST2150DRAMParam param, int busw)
{
ULONG dllmin[4], dllmax[4], dlli, data, passcnt;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -938,22 +938,22 @@ void CBRDLLI_AST2150(PAST2150DRAMParam param, int busw)
}
typedef struct _AST_DRAMStruct {
-
+
USHORT Index;
ULONG Data;
-
-} AST_DRAMStruct, *PAST_DRAMStruct;
+
+} AST_DRAMStruct, *PAST_DRAMStruct;
AST_DRAMStruct AST2000DRAMTableData[] = {
{ 0x0108, 0x00000000 },
{ 0x0120, 0x00004a21 },
- { 0xFF00, 0x00000043 },
+ { 0xFF00, 0x00000043 },
{ 0x0000, 0xFFFFFFFF },
{ 0x0004, 0x00000089 },
{ 0x0008, 0x22331353 },
{ 0x000C, 0x0d07000b },
{ 0x0010, 0x11113333 },
- { 0x0020, 0x00110350 },
+ { 0x0020, 0x00110350 },
{ 0x0028, 0x1e0828f0 },
{ 0x0024, 0x00000001 },
{ 0x001C, 0x00000000 },
@@ -972,7 +972,7 @@ AST_DRAMStruct AST2000DRAMTableData[] = {
{ 0xFFFF, 0xFFFFFFFF }
};
-AST_DRAMStruct AST1100DRAMTableData[] = {
+AST_DRAMStruct AST1100DRAMTableData[] = {
{ 0x2000, 0x1688a8a8 },
{ 0x2020, 0x000041f0 },
{ 0xFF00, 0x00000043 },
@@ -1025,7 +1025,7 @@ AST_DRAMStruct AST1100DRAMTableData[] = {
{ 0xffff, 0xffffffff },
};
-AST_DRAMStruct AST2100DRAMTableData[] = {
+AST_DRAMStruct AST2100DRAMTableData[] = {
{ 0x2000, 0x1688a8a8 },
{ 0x2020, 0x00004120 },
{ 0xFF00, 0x00000043 },
@@ -1086,71 +1086,71 @@ void vInitDRAMReg(ScrnInfoPtr pScrn)
UCHAR jReg;
AST2150DRAMParam param;
- GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
-
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+
if ((jReg & 0x80) == 0) /* VGA only */
{
if (pAST->jChipType == AST2000)
{
pjDRAMRegInfo = AST2000DRAMTableData;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10100) = 0xa8;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10100) != 0xa8);
-
+
}
- else /* AST2100/1100 */
- {
+ else /* AST2100/1100 */
+ {
if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200))
pjDRAMRegInfo = AST2100DRAMTableData;
else
pjDRAMRegInfo = AST1100DRAMTableData;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
}
-
+
while (pjDRAMRegInfo->Index != 0xFFFF)
{
if (pjDRAMRegInfo->Index == 0xFF00) /* Delay function */
{
- for (i=0; i<15; i++)
+ for (i=0; i<15; i++)
usleep(pjDRAMRegInfo->Data);
}
else if ( (pjDRAMRegInfo->Index == 0x0004) && (pAST->jChipType != AST2000) )
{
ulData = pjDRAMRegInfo->Data;
-
+
if (pAST->jDRAMType == DRAMTYPE_1Gx16)
ulData = 0x00000d89;
else if (pAST->jDRAMType == DRAMTYPE_1Gx32)
ulData = 0x00000c8d;
-
+
ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12070);
ulTemp &= 0x0000000C;
- ulTemp <<= 2;
- *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000 + pjDRAMRegInfo->Index) = (ulData | ulTemp);
- }
+ ulTemp <<= 2;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000 + pjDRAMRegInfo->Index) = (ulData | ulTemp);
+ }
else
- {
+ {
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10000 + pjDRAMRegInfo->Index) = pjDRAMRegInfo->Data;
}
- pjDRAMRegInfo++;
+ pjDRAMRegInfo++;
}
/* AST2100/2150 DRAM Calibration, ycchen@021511 */
@@ -1161,37 +1161,37 @@ void vInitDRAMReg(ScrnInfoPtr pScrn)
ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10004);
if (ulData & 0x40)
CBRDLLI_AST2150(&param, 16); /* 16bits */
- else
+ else
CBRDLLI_AST2150(&param, 32); /* 32bits */
- }
+ }
switch (pAST->jChipType)
{
case AST2000:
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10140) |= 0x40;
break;
-
+
case AST1100:
case AST2100:
case AST2200:
- case AST2150:
+ case AST2150:
ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c);
*(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c) = (ulTemp & 0xFFFFFFFD);
*(ULONG *) (pAST->MMIOVirtualAddr + 0x12040) |= 0x40;
break;
}
-
+
} /* Init DRAM */
-
+
/* wait ready */
do {
- GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
} while ((jReg & 0x40) == 0);
-
+
} /* vInitDRAMReg */
-/*
+/*
* AST2300 DRAM settings modules
*/
#define DDR3 0
@@ -1208,7 +1208,7 @@ typedef struct _AST2300DRAMParam {
ULONG RODT;
ULONG DRAM_CONFIG;
- ULONG REG_PERIOD;
+ ULONG REG_PERIOD;
ULONG REG_MADJ;
ULONG REG_SADJ;
ULONG REG_MRS;
@@ -1216,13 +1216,13 @@ typedef struct _AST2300DRAMParam {
ULONG REG_AC1;
ULONG REG_AC2;
ULONG REG_DQSIC;
- ULONG REG_DRV;
+ ULONG REG_DRV;
ULONG REG_IOZ;
ULONG REG_DQIDLY;
ULONG REG_FREQ;
ULONG MADJ_MAX;
ULONG DLL2_FINETUNE_STEP;
-
+
} AST2300DRAMParam, *PAST2300DRAMParam;
/*
@@ -1250,10 +1250,10 @@ ULONG pattern[8] ={
int MMCTestBurst(PAST2300DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
-
+
MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0070, 0x000000C1 | (datagen << 3));
timeout = 0;
@@ -1274,7 +1274,7 @@ int MMCTestBurst(PAST2300DRAMParam param, ULONG datagen)
int MMCTestBurst2(PAST2300DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1297,7 +1297,7 @@ int MMCTestBurst2(PAST2300DRAMParam param, ULONG datagen)
int MMCTestSingle(PAST2300DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1321,7 +1321,7 @@ int MMCTestSingle(PAST2300DRAMParam param, ULONG datagen)
int MMCTestSingle2(PAST2300DRAMParam param, ULONG datagen)
{
ULONG data, timeout;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1344,7 +1344,7 @@ int MMCTestSingle2(PAST2300DRAMParam param, ULONG datagen)
int CBRTest(PAST2300DRAMParam param)
{
ULONG data;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1359,14 +1359,14 @@ int CBRTest(PAST2300DRAMParam param)
data |= MMCTestBurst2(param, 07); if((data & 0xff) && (data & 0xff00)) return(0);
if(!data) return(3);
else if(data & 0xff) return(2);
-
+
return(1);
}
int CBRScan(PAST2300DRAMParam param)
{
ULONG data, data2, patcnt, loop;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1392,7 +1392,7 @@ int CBRScan(PAST2300DRAMParam param)
ULONG CBRTest2(PAST2300DRAMParam param)
{
ULONG data;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1404,7 +1404,7 @@ ULONG CBRTest2(PAST2300DRAMParam param)
ULONG CBRScan2(PAST2300DRAMParam param)
{
ULONG data, data2, patcnt, loop;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1430,7 +1430,7 @@ ULONG CBRScan2(PAST2300DRAMParam param)
void finetuneDQI(PAST2300DRAMParam param)
{
ULONG gold_sadj[2], dllmin[16], dllmax[16], dlli, data, cnt, mask, passcnt;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1527,7 +1527,7 @@ void finetuneDQI(PAST2300DRAMParam param)
Bool finetuneDQI_L(PAST2300DRAMParam param)
{
ULONG gold_sadj[2], dllmin[16], dllmax[16], dlli, data, cnt, mask, passcnt, retry = 0;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
Bool status = FALSE;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1582,8 +1582,8 @@ Bool finetuneDQI_L(PAST2300DRAMParam param)
goto FINETUNE_START;
}
status = TRUE;
-
-FINETUNE_DONE:
+
+FINETUNE_DONE:
gold_sadj[0] = gold_sadj[0] >> 4;
gold_sadj[1] = gold_sadj[0];
@@ -1635,13 +1635,13 @@ FINETUNE_DONE:
MOutdwm(mmiobase, 0x1E6E0084, data);
return status;
-
+
} /* finetuneDQI_L */
void finetuneDQI_L2(PAST2300DRAMParam param)
{
ULONG gold_sadj[2], dllmin[16], dllmax[16], dlli, data, cnt, mask, passcnt, data2;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1767,13 +1767,13 @@ void finetuneDQI_L2(PAST2300DRAMParam param)
data |= data2 << 21;
}
MOutdwm(mmiobase, 0x1E6E0084, data);
-
+
} /* finetuneDQI_L2 */
Bool CBRDLL2(PAST2300DRAMParam param)
{
ULONG dllmin[2], dllmax[2], dlli, data, data2, passcnt, retry=0;
- UCHAR *mmiobase;
+ UCHAR *mmiobase;
BOOL status = FALSE;
mmiobase = param->pjMMIOVirtualAddress;
@@ -1829,7 +1829,7 @@ Bool CBRDLL2(PAST2300DRAMParam param)
goto CBR_START2;
}
status = TRUE;
-
+
CBR_DONE2:
dlli = (dllmin[1] + dllmax[1]) >> 1;
dlli <<= 8;
@@ -1852,32 +1852,32 @@ CBR_DONE2:
data = MIndwm(mmiobase, 0x1E6E0070);
}while(!(data & 0x00001000));
MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
-
+
return status;
-
+
} /* CBRDLL2 */
void GetDDR2Info(PAST2300DRAMParam param)
{
UCHAR *mmiobase;
ULONG trap, TRAP_AC2, TRAP_MRS;
-
+
mmiobase = param->pjMMIOVirtualAddress;
MOutdwm(mmiobase, 0x1E6E2000, 0x1688A8A8);
- /* Ger trap info */
+ /* Ger trap info */
trap = (MIndwm(mmiobase, 0x1E6E2070) >> 25) & 0x3;
TRAP_AC2 = (trap << 20) | (trap << 16);
TRAP_AC2 += 0x00110000;
TRAP_MRS = 0x00000040 | (trap << 4);
-
-
+
+
param->REG_MADJ = 0x00034C4C;
param->REG_SADJ = 0x00001800;
param->REG_DRV = 0x000000F0;
param->REG_PERIOD = param->DRAM_Freq;
param->RODT = 0;
-
+
switch(param->DRAM_Freq){
case 264 : MOutdwm(mmiobase, 0x1E6E2020, 0x0130);
param->WODT = 0;
@@ -1906,24 +1906,24 @@ void GetDDR2Info(PAST2300DRAMParam param)
param->REG_FREQ = 0x00004DC0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 3;
-
+
switch (param->DRAM_ChipID)
{
- case DRAMTYPE_512Mx16:
+ case DRAMTYPE_512Mx16:
param->REG_AC2 = 0xAA009012 | TRAP_AC2;
break;
- default:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xAA009016 | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xAA009023 | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xAA00903B | TRAP_AC2;
- break;
+ break;
}
-
+
break;
default:
case 396 : MOutdwm(mmiobase, 0x1E6E2020, 0x03F1);
@@ -1940,26 +1940,26 @@ void GetDDR2Info(PAST2300DRAMParam param)
param->REG_FREQ = 0x000050C0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 4;
-
+
switch (param->DRAM_ChipID)
{
- case DRAMTYPE_512Mx16:
+ case DRAMTYPE_512Mx16:
param->REG_AC2 = 0xCC00B016 | TRAP_AC2;
break;
- default:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xCC00B01B | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xCC00B02B | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xCC00B03F | TRAP_AC2;
- break;
+ break;
}
-
+
break;
-
+
case 408 : MOutdwm(mmiobase, 0x1E6E2020, 0x01F0);
param->WODT = 1;
param->RODT = 0;
@@ -1974,24 +1974,24 @@ void GetDDR2Info(PAST2300DRAMParam param)
param->REG_FREQ = 0x000050C0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 4;
-
+
switch (param->DRAM_ChipID)
{
- case DRAMTYPE_512Mx16:
+ case DRAMTYPE_512Mx16:
param->REG_AC2 = 0xCC00B016 | TRAP_AC2;
break;
- default:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xCC00B01B | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xCC00B02B | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xCC00B03F | TRAP_AC2;
- break;
+ break;
}
-
+
break;
case 456 : MOutdwm(mmiobase, 0x1E6E2020, 0x0230);
param->WODT = 0;
@@ -2071,24 +2071,24 @@ void GetDDR2Info(PAST2300DRAMParam param)
switch (param->DRAM_ChipID)
{
- case DRAMTYPE_512Mx16:
+ case DRAMTYPE_512Mx16:
param->DRAM_CONFIG = 0x100;
break;
- default:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_1Gx16:
param->DRAM_CONFIG = 0x121;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->DRAM_CONFIG = 0x122;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->DRAM_CONFIG = 0x123;
- break;
+ break;
}; /* switch size */
-
+
switch (param->VRAM_Size)
{
- default:
+ default:
case VIDEOMEM_SIZE_08M:
param->DRAM_CONFIG |= 0x00;
break;
@@ -2100,16 +2100,16 @@ void GetDDR2Info(PAST2300DRAMParam param)
break;
case VIDEOMEM_SIZE_64M:
param->DRAM_CONFIG |= 0x0c;
- break;
+ break;
}
-
+
}
void GetDDR3Info(PAST2300DRAMParam param)
{
UCHAR *mmiobase;
ULONG trap, TRAP_AC2, TRAP_MRS;
-
+
mmiobase = param->pjMMIOVirtualAddress;
MOutdwm(mmiobase, 0x1E6E2000, 0x1688A8A8);
@@ -2119,7 +2119,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
TRAP_AC2 |= 0x00300000 +((trap & 0x2) << 19);
TRAP_MRS = 0x00000010 + (trap << 4);
TRAP_MRS |= ((trap & 0x2) << 18);
-
+
param->REG_MADJ = 0x00034C4C;
param->REG_SADJ = 0x00001800;
param->REG_DRV = 0x000000F0;
@@ -2139,22 +2139,22 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_FREQ = 0x00004DC0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 3;
-
+
switch (param->DRAM_ChipID)
{
- default:
+ default:
case DRAMTYPE_512Mx16:
- case DRAMTYPE_1Gx16:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xAA007613 | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xAA00761c | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xAA007636 | TRAP_AC2;
- break;
+ break;
}
-
+
break;
default:
case 396 : MOutdwm(mmiobase, 0x1E6E2020, 0x03F1);
@@ -2165,29 +2165,29 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_MRS = 0x04001600 | TRAP_MRS;
param->REG_EMRS = 0x00000000;
param->REG_IOZ = 0x00000034;
- param->REG_DRV = 0x000000FA;
+ param->REG_DRV = 0x000000FA;
param->REG_DQIDLY = 0x00000089;
param->REG_FREQ = 0x000050C0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 4;
-
+
switch (param->DRAM_ChipID)
{
- default:
- case DRAMTYPE_512Mx16:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_512Mx16:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xCC009617 | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xCC009622 | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xCC00963F | TRAP_AC2;
- break;
+ break;
}
-
+
break;
-
+
case 408 : MOutdwm(mmiobase, 0x1E6E2020, 0x01F0);
param->WODT = 1;
param->REG_AC1 = 0x33302825;
@@ -2196,27 +2196,27 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_MRS = 0x04001600 | TRAP_MRS;
param->REG_EMRS = 0x00000000;
param->REG_IOZ = 0x00000034;
- param->REG_DRV = 0x000000FA;
+ param->REG_DRV = 0x000000FA;
param->REG_DQIDLY = 0x00000089;
param->REG_FREQ = 0x000050C0;
param->MADJ_MAX = 96;
param->DLL2_FINETUNE_STEP = 4;
-
+
switch (param->DRAM_ChipID)
{
- default:
- case DRAMTYPE_512Mx16:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_512Mx16:
+ case DRAMTYPE_1Gx16:
param->REG_AC2 = 0xCC009617 | TRAP_AC2;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->REG_AC2 = 0xCC009622 | TRAP_AC2;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->REG_AC2 = 0xCC00963F | TRAP_AC2;
- break;
+ break;
}
-
+
break;
case 456 : MOutdwm(mmiobase, 0x1E6E2020, 0x0230);
param->WODT = 0;
@@ -2237,7 +2237,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_AC2 = 0xDE44A61D;
param->REG_DQSIC = 0x00000117;
param->REG_MRS = 0x00081A30;
- param->REG_EMRS = 0x00000000;
+ param->REG_EMRS = 0x00000000;
param->REG_IOZ = 0x070000BB;
param->REG_DQIDLY = 0x000000A0;
param->REG_FREQ = 0x000054C0;
@@ -2252,7 +2252,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_DQSIC = 0x00000125;
param->REG_MRS = 0x00081A30;
param->REG_EMRS = 0x00000040;
- param->REG_DRV = 0x000000F5;
+ param->REG_DRV = 0x000000F5;
param->REG_IOZ = 0x00000023;
param->REG_DQIDLY = 0x00000088;
param->REG_FREQ = 0x000055C0;
@@ -2269,7 +2269,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_DQSIC = 0x0000013F;
param->REG_MRS = 0x00101A50;
param->REG_EMRS = 0x00000040;
- param->REG_DRV = 0x000000FA;
+ param->REG_DRV = 0x000000FA;
param->REG_IOZ = 0x00000023;
param->REG_DQIDLY = 0x00000078;
param->REG_FREQ = 0x000057C0;
@@ -2278,7 +2278,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
break;
case 600 : MOutdwm(mmiobase, 0x1E6E2020, 0x02E1);
param->REG_MADJ = 0x00136868;
- param->REG_SADJ = 0x00004534;
+ param->REG_SADJ = 0x00004534;
param->WODT = 1;
param->RODT = 1;
param->REG_AC1 = 0x32302A37;
@@ -2286,7 +2286,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_DQSIC = 0x0000014D;
param->REG_MRS = 0x00101A50;
param->REG_EMRS = 0x00000004;
- param->REG_DRV = 0x000000F5;
+ param->REG_DRV = 0x000000F5;
param->REG_IOZ = 0x00000023;
param->REG_DQIDLY = 0x00000078;
param->REG_FREQ = 0x000058C0;
@@ -2295,7 +2295,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
break;
case 624 : MOutdwm(mmiobase, 0x1E6E2020, 0x0160);
param->REG_MADJ = 0x00136868;
- param->REG_SADJ = 0x00004534;
+ param->REG_SADJ = 0x00004534;
param->WODT = 1;
param->RODT = 1;
param->REG_AC1 = 0x32302A37;
@@ -2303,7 +2303,7 @@ void GetDDR3Info(PAST2300DRAMParam param)
param->REG_DQSIC = 0x0000015A;
param->REG_MRS = 0x02101A50;
param->REG_EMRS = 0x00000004;
- param->REG_DRV = 0x000000F5;
+ param->REG_DRV = 0x000000F5;
param->REG_IOZ = 0x00000034;
param->REG_DQIDLY = 0x00000078;
param->REG_FREQ = 0x000059C0;
@@ -2314,24 +2314,24 @@ void GetDDR3Info(PAST2300DRAMParam param)
switch (param->DRAM_ChipID)
{
- case DRAMTYPE_512Mx16:
+ case DRAMTYPE_512Mx16:
param->DRAM_CONFIG = 0x130;
break;
- default:
- case DRAMTYPE_1Gx16:
+ default:
+ case DRAMTYPE_1Gx16:
param->DRAM_CONFIG = 0x131;
break;
- case DRAMTYPE_2Gx16:
+ case DRAMTYPE_2Gx16:
param->DRAM_CONFIG = 0x132;
break;
- case DRAMTYPE_4Gx16:
+ case DRAMTYPE_4Gx16:
param->DRAM_CONFIG = 0x133;
- break;
+ break;
}; /* switch size */
switch (param->VRAM_Size)
{
- default:
+ default:
case VIDEOMEM_SIZE_08M:
param->DRAM_CONFIG |= 0x00;
break;
@@ -2343,22 +2343,22 @@ void GetDDR3Info(PAST2300DRAMParam param)
break;
case VIDEOMEM_SIZE_64M:
param->DRAM_CONFIG |= 0x0c;
- break;
+ break;
}
-
+
}
void DDR2_Init(PAST2300DRAMParam param)
{
ULONG data, data2, retry = 0;
UCHAR *mmiobase;
-
+
mmiobase = param->pjMMIOVirtualAddress;
-DDR2_Init_Start:
+DDR2_Init_Start:
MOutdwm(mmiobase, 0x1E6E0000, 0xFC600309);
MOutdwm(mmiobase, 0x1E6E0064, 0x00000000);
- MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0018, 0x00000100);
MOutdwm(mmiobase, 0x1E6E0024, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0064, param->REG_MADJ);
@@ -2376,7 +2376,7 @@ DDR2_Init_Start:
MOutdwm(mmiobase, 0x1E6E0084, 0x00FFFFFF);
MOutdwm(mmiobase, 0x1E6E0088, param->REG_DQIDLY);
MOutdwm(mmiobase, 0x1E6E0018, 0x4040A130);
- MOutdwm(mmiobase, 0x1E6E0018, 0x20402330);
+ MOutdwm(mmiobase, 0x1E6E0018, 0x20402330);
MOutdwm(mmiobase, 0x1E6E0038, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0040, 0xFF808000);
MOutdwm(mmiobase, 0x1E6E0044, 0x88848466);
@@ -2398,7 +2398,7 @@ DDR2_Init_Start:
}while(!(data & 0x08000000));
MOutdwm(mmiobase, 0x1E6E0034, 0x00000001);
MOutdwm(mmiobase, 0x1E6E000C, 0x00005C04);
- usleep(10);
+ usleep(10);
MOutdwm(mmiobase, 0x1E6E000C, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
data = MIndwm(mmiobase, 0x1E6E001C);
@@ -2431,7 +2431,7 @@ DDR2_Init_Start:
MOutdwm(mmiobase, 0x1E6E0034, 0x00000001);
MOutdwm(mmiobase, 0x1E6E000C, 0x00005C04);
- usleep(10);
+ usleep(10);
MOutdwm(mmiobase, 0x1E6E000C, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
data = MIndwm(mmiobase, 0x1E6E001C);
@@ -2439,7 +2439,7 @@ DDR2_Init_Start:
}
data = MIndwm(mmiobase, 0x1E6E0018) | 0xC00;
MOutdwm(mmiobase, 0x1E6E0018, data);
-
+
MOutdwm(mmiobase, 0x1E6E0034, 0x00000001);
MOutdwm(mmiobase, 0x1E6E000C, 0x00000000);
usleep(50);
@@ -2499,13 +2499,13 @@ void DDR3_Init(PAST2300DRAMParam param)
{
ULONG data, data2, retry = 0;
UCHAR *mmiobase;
-
+
mmiobase = param->pjMMIOVirtualAddress;
DDR3_Init_Start:
MOutdwm(mmiobase, 0x1E6E0000, 0xFC600309);
MOutdwm(mmiobase, 0x1E6E0064, 0x00000000);
- MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0018, 0x00000100);
MOutdwm(mmiobase, 0x1E6E0024, 0x00000000);
usleep(10);
@@ -2546,7 +2546,7 @@ DDR3_Init_Start:
}while(!(data & 0x08000000));
MOutdwm(mmiobase, 0x1E6E0034, 0x00000001);
MOutdwm(mmiobase, 0x1E6E000C, 0x00005C04);
- usleep(10);
+ usleep(10);
MOutdwm(mmiobase, 0x1E6E000C, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
data = MIndwm(mmiobase, 0x1E6E001C);
@@ -2579,7 +2579,7 @@ DDR3_Init_Start:
MOutdwm(mmiobase, 0x1E6E0034, 0x00000001);
MOutdwm(mmiobase, 0x1E6E000C, 0x00005C04);
- usleep(10);
+ usleep(10);
MOutdwm(mmiobase, 0x1E6E000C, 0x00000000);
MOutdwm(mmiobase, 0x1E6E0034, 0x00000000);
data = MIndwm(mmiobase, 0x1E6E001C);
@@ -2645,64 +2645,64 @@ void vInitAST2300DRAMReg(ScrnInfoPtr pScrn)
ULONG i, ulTemp;
UCHAR jReg;
- GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
-
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+
if ((jReg & 0x80) == 0) /* VGA only */
{
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
-
+
*(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
do {
- ;
+ ;
} while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
/* Slow down CPU/AHB CLK in VGA only mode */
ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008);
ulTemp |= 0x73;
*(ULONG *) (pAST->MMIOVirtualAddr + 0x12008) = ulTemp;
-
+
param.pjMMIOVirtualAddress = pAST->MMIOVirtualAddr;
param.DRAM_Type = DDR3; /* DDR3 */
- ulTemp = MIndwm(param.pjMMIOVirtualAddress, 0x1E6E2070);
+ ulTemp = MIndwm(param.pjMMIOVirtualAddress, 0x1E6E2070);
if (ulTemp & 0x01000000)
param.DRAM_Type = DDR2; /* DDR2 */
param.DRAM_ChipID = (ULONG) pAST->jDRAMType;
param.DRAM_Freq = pAST->ulMCLK;
param.VRAM_Size = pAST->ulVRAMSize;
-
+
if (param.DRAM_Type == DDR3)
{
- GetDDR3Info(&param);
+ GetDDR3Info(&param);
DDR3_Init(&param);
}
else
{
GetDDR2Info(&param);
- DDR2_Init(&param);
+ DDR2_Init(&param);
}
-
- ulTemp = MIndwm(param.pjMMIOVirtualAddress, 0x1E6E2040);
+
+ ulTemp = MIndwm(param.pjMMIOVirtualAddress, 0x1E6E2040);
MOutdwm(param.pjMMIOVirtualAddress, 0x1E6E2040, ulTemp | 0x40);
}
/* wait ready */
do {
- GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
} while ((jReg & 0x40) == 0);
-
-} /* vInitAST2300DRAMReg */
+
+} /* vInitAST2300DRAMReg */
void vGetDefaultSettings(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG ulData;
-
+ ULONG ulData;
+
if (pAST->jChipType == AST2300)
{
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
@@ -2711,29 +2711,29 @@ void vGetDefaultSettings(ScrnInfoPtr pScrn)
switch (ulData & 0x18000000)
{
case 0x00000000:
- pAST->jDRAMType = DRAMTYPE_512Mx16;
- break;
+ pAST->jDRAMType = DRAMTYPE_512Mx16;
+ break;
case 0x08000000:
- pAST->jDRAMType = DRAMTYPE_1Gx16;
+ pAST->jDRAMType = DRAMTYPE_1Gx16;
break;
case 0x10000000:
- pAST->jDRAMType = DRAMTYPE_2Gx16;
- break;
+ pAST->jDRAMType = DRAMTYPE_2Gx16;
+ break;
case 0x18000000:
- pAST->jDRAMType = DRAMTYPE_4Gx16;
- break;
- }
- }
+ pAST->jDRAMType = DRAMTYPE_4Gx16;
+ break;
+ }
+ }
else if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200))
{
- pAST->jDRAMType = DRAMTYPE_512Mx32;
+ pAST->jDRAMType = DRAMTYPE_512Mx32;
}
else if ((pAST->jChipType == AST1100) || (pAST->jChipType == AST2150))
{
- pAST->jDRAMType = DRAMTYPE_1Gx16;
- }
-
-} /* vGetDefaultSettings */
+ pAST->jDRAMType = DRAMTYPE_1Gx16;
+ }
+
+} /* vGetDefaultSettings */
/*
* Flags: 0: POST init
@@ -2750,34 +2750,34 @@ Bool InitVGA(ScrnInfoPtr pScrn, ULONG Flags)
/* Enable PCI */
PCI_READ_LONG(pAST->PciInfo, &ulData, 0x04);
ulData |= 0x03;
- PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
+ PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
/* Enable VGA */
vEnableVGA(pScrn);
-
+
vASTOpenKey(pScrn);
vSetDefExtReg(pScrn);
if (Flags == 0)
vGetDefaultSettings(pScrn);
-
+
if (pAST->jChipType == AST2300)
vInitAST2300DRAMReg(pScrn);
else
- vInitDRAMReg(pScrn);
-
+ vInitDRAMReg(pScrn);
+
}
- return (TRUE);
+ return (TRUE);
} /* Init VGA */
/* Get EDID */
-void
+void
I2CWriteClock(ASTRecPtr pAST, UCHAR data)
{
UCHAR ujCRB7, jtemp;
ULONG i;
-
+
for (i=0;i<0x10000; i++)
{
ujCRB7 = ((data & 0x01) ? 0:1); /* low active */
@@ -2785,44 +2785,44 @@ I2CWriteClock(ASTRecPtr pAST, UCHAR data)
GetIndexRegMask(CRTC_PORT, 0xB7, 0x01, jtemp);
if (ujCRB7 == jtemp) break;
}
-
+
}
-void
+void
I2CWriteData(ASTRecPtr pAST, UCHAR data)
{
UCHAR volatile ujCRB7, jtemp;
ULONG i;
-
+
for (i=0;i<0x1000; i++)
- {
+ {
ujCRB7 = ((data & 0x01) ? 0:1) << 2; /* low active */
SetIndexRegMask(CRTC_PORT, 0xB7, 0xFB, ujCRB7);
GetIndexRegMask(CRTC_PORT, 0xB7, 0x04, jtemp);
- if (ujCRB7 == jtemp) break;
+ if (ujCRB7 == jtemp) break;
}
-
+
}
-Bool
+Bool
I2CReadClock(ASTRecPtr pAST)
-{
+{
UCHAR volatile ujCRB7;
-
+
GetIndexRegMask(CRTC_PORT, 0xB7, 0x10, ujCRB7);
ujCRB7 >>= 4;
-
+
return ((ujCRB7 & 0x01) ? 1:0);
}
-Bool
+Bool
I2CReadData(ASTRecPtr pAST)
-{
+{
UCHAR volatile ujCRB7;
-
+
GetIndexRegMask(CRTC_PORT, 0xB7, 0x20, ujCRB7);
ujCRB7 >>= 5;
-
+
return ((ujCRB7 & 0x01) ? 1:0);
}
@@ -2833,88 +2833,88 @@ I2CDelay(ASTRecPtr pAST)
{
ULONG i;
UCHAR jtemp;
-
+
for (i=0;i<150;i++)
jtemp = GetReg(SEQ_PORT);
-
+
}
-
-void
+
+void
I2CStart(ASTRecPtr pAST)
-{
+{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
I2CDelay(pAST);
I2CWriteData(pAST, 0x01); /* Set Data High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x00); /* Set Data Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
-}
+ I2CDelay(pAST);
+}
-void
+void
I2CStop(ASTRecPtr pAST)
{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x00); /* Set Data Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x01); /* Set Data High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
}
-Bool
+Bool
CheckACK(ASTRecPtr pAST)
{
UCHAR Data;
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x01); /* Set Data High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
Data = (UCHAR) I2CReadData(pAST); /* Set Data High */
-
- return ((Data & 0x01) ? 0:1);
-
+
+ return ((Data & 0x01) ? 0:1);
+
}
-void
+void
SendACK(ASTRecPtr pAST)
{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x00); /* Set Data low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
}
-void
+void
SendNACK(ASTRecPtr pAST)
{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteData(pAST, 0x01); /* Set Data high */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
}
-void
+void
SendI2CDataByte(ASTRecPtr pAST, UCHAR data)
{
UCHAR jData;
@@ -2923,143 +2923,143 @@ SendI2CDataByte(ASTRecPtr pAST, UCHAR data)
for (i=7;i>=0;i--)
{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
jData = ((data >> i) & 0x01) ? 1:0;
I2CWriteData(pAST, jData); /* Set Data Low */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
- }
+ I2CDelay(pAST);
+ }
}
-UCHAR
+UCHAR
ReceiveI2CDataByte(ASTRecPtr pAST)
{
- UCHAR jData=0, jTempData;
+ UCHAR jData=0, jTempData;
LONG i, j;
for (i=7;i>=0;i--)
{
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
I2CWriteData(pAST, 0x01); /* Set Data High */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
-
+ I2CDelay(pAST);
+
for (j=0; j<0x1000; j++)
- {
+ {
if (I2CReadClock(pAST)) break;
- }
-
+ }
+
jTempData = I2CReadData(pAST);
- jData |= ((jTempData & 0x01) << i);
+ jData |= ((jTempData & 0x01) << i);
I2CWriteClock(pAST, 0x0); /* Set Clk Low */
- I2CDelay(pAST);
- }
-
- return ((UCHAR)jData);
-}
+ I2CDelay(pAST);
+ }
+
+ return ((UCHAR)jData);
+}
Bool
GetVGAEDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
{
- ASTRecPtr pAST;
+ ASTRecPtr pAST;
UCHAR *pjDstEDID;
UCHAR jData;
ULONG i;
- pAST = ASTPTR(pScrn);
+ pAST = ASTPTR(pScrn);
pjDstEDID = (UCHAR *) pEDIDBuffer;
-
+
/* Force to DDC2 */
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x00); /* Set Clk Low */
- I2CDelay(pAST);
+ I2CDelay(pAST);
I2CWriteClock(pAST, 0x01); /* Set Clk High */
- I2CDelay(pAST);
+ I2CDelay(pAST);
/* Validate SCL */
if (I2CReadClock(pAST) == 0) /* chk SCL failed */
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[GetVGAEDID] Check SCL Failed \n");
- return (FALSE);
- }
-
+ return (FALSE);
+ }
+
I2CStart(pAST);
-
+
SendI2CDataByte(pAST, 0xA0);
if (!CheckACK(pAST))
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[GetVGAEDID] Check ACK Failed \n");
return (FALSE);
- }
-
+ }
+
SendI2CDataByte(pAST, 0x00);
if (!CheckACK(pAST))
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[GetVGAEDID] Check ACK Failed \n");
return (FALSE);
- }
-
+ }
+
I2CStart(pAST);
-
+
SendI2CDataByte(pAST, 0xA1);
if (!CheckACK(pAST))
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[GetVGAEDID] Check ACK Failed \n");
return (FALSE);
- }
-
+ }
+
for (i=0; i<127; i++)
{
jData = ReceiveI2CDataByte(pAST);
SendACK(pAST);
-
- *pjDstEDID++ = jData;
+
+ *pjDstEDID++ = jData;
}
-
+
jData = ReceiveI2CDataByte(pAST);
SendNACK(pAST);
- *pjDstEDID = jData;
-
+ *pjDstEDID = jData;
+
I2CStop(pAST);
-
+
return (TRUE);
-
+
} /* GetVGAEDID */
Bool bInitAST1180(ScrnInfoPtr pScrn)
{
- ASTRecPtr pAST;
+ ASTRecPtr pAST;
uint32_t ulData;
- pAST = ASTPTR(pScrn);
+ pAST = ASTPTR(pScrn);
/* Enable PCI */
PCI_READ_LONG(pAST->PciInfo, &ulData, 0x04);
ulData |= 0x03;
- PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
-
+ PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
+
/* init DRAM if no F/W */
/* TODO */
WriteAST1180SOC(AST1180_MMC_BASE+0x00, 0xFC600309); /* unlock */
WriteAST1180SOC(AST1180_SCU_BASE+0x00, 0x1688a8a8); /* unlock */
usleep(100);
-
- WriteAST1180SOC(AST1180_MMC_BASE+0x08, 0x000011e3); /* req. */
-
+
+ WriteAST1180SOC(AST1180_MMC_BASE+0x08, 0x000011e3); /* req. */
+
/* init SCU */
#if 0
ReadAST1180SOC(AST1180_SCU_BASE+0x08, ulData); /* delay compensation */
- ulData &= 0xFFFFE0FF;
+ ulData &= 0xFFFFE0FF;
ulData |= 0x00000C00;
WriteAST1180SOC(AST1180_SCU_BASE+0x08, ulData);
#endif
@@ -3067,38 +3067,38 @@ Bool bInitAST1180(ScrnInfoPtr pScrn)
ReadAST1180SOC(AST1180_SCU_BASE+0x0c, ulData); /* 2d clk */
ulData &= 0xFFFFFFFD;
WriteAST1180SOC(AST1180_SCU_BASE+0x0c, ulData);
-
+
return (TRUE);
-
+
} /* bInitAST1180 */
-
+
void GetAST1180DRAMInfo(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData;
-
+
WriteAST1180SOC(AST1180_MMC_BASE+0x00, 0xFC600309); /* unlock */
ReadAST1180SOC(AST1180_MMC_BASE+0x04, ulData);
pAST->ulDRAMBusWidth = 32;
if (ulData & 0x40)
pAST->ulDRAMBusWidth = 16;
-
- /* DRAM size */
+
+ /* DRAM size */
switch (ulData & 0x0C)
{
case 0x00:
pAST->ulDRAMSize = DRAM_SIZE_032M;
- break;
+ break;
case 0x04:
pAST->ulDRAMSize = DRAM_SIZE_064M;
- break;
+ break;
case 0x08:
pAST->ulDRAMSize = DRAM_SIZE_128M;
- break;
- case 0x0c:
+ break;
+ case 0x0c:
pAST->ulDRAMSize = DRAM_SIZE_256M;
- break;
- }
+ break;
+ }
/* Get framebuffer size */
switch (ulData & 0x30)
@@ -3108,23 +3108,23 @@ void GetAST1180DRAMInfo(ScrnInfoPtr pScrn)
break;
case 0x10:
pAST->ulVRAMSize = DRAM_SIZE_032M;
- break;
+ break;
case 0x20:
pAST->ulVRAMSize = DRAM_SIZE_064M;
- break;
+ break;
case 0x30:
pAST->ulVRAMSize = DRAM_SIZE_128M;
- break;
- }
+ break;
+ }
/* VRAM base */
if (pAST->ulVRAMSize >= pAST->ulDRAMSize)
- pAST->ulVRAMSize = pAST->ulDRAMSize;
+ pAST->ulVRAMSize = pAST->ulDRAMSize;
pAST->ulVRAMBase = pAST->ulDRAMSize - pAST->ulVRAMSize;
-
+
/* MCLK */
pAST->ulMCLK = 200;
-
+
} /* GetAST1180DRAMInfo */
void vEnableASTVGAMMIO(ScrnInfoPtr pScrn)
@@ -3132,7 +3132,7 @@ void vEnableASTVGAMMIO(ScrnInfoPtr pScrn)
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData;
UCHAR jReg;
-
+
if (!xf86IsPrimaryPci(pAST->PciInfo))
{
/* Enable PCI */
@@ -3141,14 +3141,14 @@ void vEnableASTVGAMMIO(ScrnInfoPtr pScrn)
PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
outb(pAST->RelocateIO + 0x43, 0x01);
- outb(pAST->RelocateIO + 0x42, 0x01);
- }
-
+ outb(pAST->RelocateIO + 0x42, 0x01);
+ }
+
jReg = GetReg(VGA_ENABLE_PORT);
if (jReg == 0xFF) /* MMIO Access is disabled */
{
outw(pAST->RelocateIO + 0x54, 0xa880);
- outw(pAST->RelocateIO + 0x54, 0x04a1);
+ outw(pAST->RelocateIO + 0x54, 0x04a1);
}
-
+
} /* vEnableASTVGAMMIO */