Version 0.60 from ASPEED Technology Inc. (Modify H/W cursor parts for

customer request) Bugzilla #4937
    <https://bugs.freedesktop.org/show_bug.cgi?id=4937> Attachment #4044
    <https://bugs.freedesktop.org/attachment.cgi?id=4044>
This commit is contained in:
Alan Coopersmith
2006-03-14 23:23:36 +00:00
parent 7ce3a2ba6d
commit 784ff02611
4 changed files with 40 additions and 7 deletions

View File

@@ -1,5 +1,15 @@
2006-03-14 Alan Coopersmith <alan.coopersmith@sun.com>
* src/ast.h:
* src/ast_cursor.c:
* src/ast_cursor.h:
Version 0.60 from ASPEED Technology Inc.
(Modify H/W cursor parts for customer request)
Bugzilla #4937 <https://bugs.freedesktop.org/show_bug.cgi?id=4937>
Attachment #4044 <https://bugs.freedesktop.org/attachment.cgi?id=4044>
2006-03-14 Alan Coopersmith <alan.coopersmith@sun.com>
* src/ast.h:
* src/ast_2dtool.c:
* src/ast_2dtool.h:
@@ -12,6 +22,6 @@
* src/ast_tool.c:
* src/ast_vgatool.c:
* src/ast_vgatool.h:
Initial code release from ASPEED Technology Inc.
Initial code release from ASPEED Technology Inc. (Version 0.51)
Bugzilla #4937 <https://bugs.freedesktop.org/show_bug.cgi?id=4937>
Attachment 3686 <https://bugs.freedesktop.org/attachment.cgi?id=3686>
Attachment #3686 <https://bugs.freedesktop.org/attachment.cgi?id=3686>

View File

@@ -38,7 +38,7 @@
#define AST_NAME "AST"
#define AST_DRIVER_NAME "ast"
#define AST_MAJOR_VERSION 0
#define AST_MINOR_VERSION 51
#define AST_MINOR_VERSION 60
#define AST_PATCH_VERSION 0
#define AST_VERSION \
((AST_MAJOR_VERSION << 20) | (AST_MINOR_VERSION << 10) | AST_PATCH_VERSION)

View File

@@ -159,7 +159,13 @@ ASTSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
ASTRecPtr pAST = ASTPTR(pScrn);
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;
*((ULONG *) (pjSignature + HWC_SIGNATURE_X)) = x;
*((ULONG *) (pjSignature + HWC_SIGNATURE_Y)) = y;
x_offset = pAST->HWCInfo.offset_x;
y_offset = pAST->HWCInfo.offset_y;
@@ -174,7 +180,7 @@ 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));
@@ -249,7 +255,11 @@ ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src)
/* Write Checksum as signature */
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));
@@ -346,7 +356,11 @@ ASTLoadCursorARGB(ScrnInfoPtr pScrn, CursorPtr pCurs)
/* Write Checksum as signature */
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));

View File

@@ -28,3 +28,12 @@
#define HWC_MONO 0
#define HWC_COLOR 1
/* define for signature structure */
#define HWC_SIGNATURE_CHECKSUM 0x00
#define HWC_SIGNATURE_SizeX 0x04
#define HWC_SIGNATURE_SizeY 0x08
#define HWC_SIGNATURE_X 0x0C
#define HWC_SIGNATURE_Y 0x10
#define HWC_SIGNATURE_HOTSPOTX 0x14
#define HWC_SIGNATURE_HOTSPOTY 0x18