mirror of
https://github.com/X11Libre/xf86-video-ast.git
synced 2026-03-24 01:24:41 +00:00
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:
14
ChangeLog
14
ChangeLog
@@ -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>
|
||||
@@ -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)
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user