mirror of
https://github.com/X11Libre/xf86-video-chips.git
synced 2026-03-24 01:24:44 +00:00
Raise minimum supported Xserver version to 1.18 (ABI_VIDEODRV_VERSION 20.0)
Already effectively required by use of XNFcallocarray() introduced in xorg/xserver@b96dc999 - xserver-1.18.0, released in Nov. 2015. Allows dropping remnants of code for XAA, ISA, and pre-pciaccess X servers. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-chips/-/merge_requests/9>
This commit is contained in:
27
configure.ac
27
configure.ac
@@ -58,7 +58,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
|
|||||||
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
|
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
|
||||||
|
|
||||||
# Obtain compiler/linker options for the driver dependencies
|
# Obtain compiler/linker options for the driver dependencies
|
||||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
|
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.18 xproto fontsproto $REQUIRED_MODULES])
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
SAVE_CPPFLAGS="$CPPFLAGS"
|
SAVE_CPPFLAGS="$CPPFLAGS"
|
||||||
@@ -75,31 +75,6 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
|
|||||||
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
|
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
|
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
|
||||||
AC_ARG_ENABLE(xaa,
|
|
||||||
AS_HELP_STRING([--enable-xaa],
|
|
||||||
[Enable legacy X Acceleration Architecture (XAA) [default=auto]]),
|
|
||||||
[XAA="$enableval"],
|
|
||||||
[XAA=auto])
|
|
||||||
if test "x$XAA" != xno; then
|
|
||||||
save_CFLAGS=$CFLAGS
|
|
||||||
save_CPPFLAGS=$CPPFLAGS
|
|
||||||
CFLAGS=$XORG_CFLAGS
|
|
||||||
CPPFLAGS="$XORG_CFLAGS"
|
|
||||||
AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
|
|
||||||
CFLAGS=$save_CFLAGS
|
|
||||||
CPPFLAGS=$save_CPPFLAGS
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING([whether to include XAA support])
|
|
||||||
AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
|
|
||||||
AC_MSG_RESULT([$XAA])
|
|
||||||
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$XORG_CFLAGS"
|
|
||||||
AC_CHECK_DECL(xf86ConfigIsaEntity,
|
|
||||||
[AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
|
|
||||||
[],
|
|
||||||
[#include "xf86.h"])
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
|
|
||||||
|
|
||||||
# Checks for functions (often defined as inlines in compiler.h)
|
# Checks for functions (often defined as inlines in compiler.h)
|
||||||
|
|||||||
1666
src/ct_accel.c
1666
src/ct_accel.c
File diff suppressed because it is too large
Load Diff
@@ -45,20 +45,7 @@
|
|||||||
#include "ct_driver.h"
|
#include "ct_driver.h"
|
||||||
|
|
||||||
/* Sync function, maybe this should check infoRec->NeedToSync before syncing */
|
/* Sync function, maybe this should check infoRec->NeedToSync before syncing */
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
#define CURSOR_SYNC(pScrn) \
|
|
||||||
if (IS_HiQV(cPtr)) { \
|
|
||||||
CHIPSHiQVSync(pScrn); \
|
|
||||||
} else { \
|
|
||||||
if(!cPtr->UseMMIO) { \
|
|
||||||
CHIPSSync(pScrn); \
|
|
||||||
} else { \
|
|
||||||
CHIPSMMIOSync(pScrn); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#define CURSOR_SYNC(pScrn)
|
#define CURSOR_SYNC(pScrn)
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Swing your cursor bytes round and round... yeehaw! */
|
/* Swing your cursor bytes round and round... yeehaw! */
|
||||||
#if X_BYTE_ORDER == X_BIG_ENDIAN
|
#if X_BYTE_ORDER == X_BIG_ENDIAN
|
||||||
|
|||||||
97
src/ct_dga.c
97
src/ct_dga.c
@@ -15,14 +15,6 @@ static Bool CHIPS_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **,
|
|||||||
static Bool CHIPS_SetMode(ScrnInfoPtr, DGAModePtr);
|
static Bool CHIPS_SetMode(ScrnInfoPtr, DGAModePtr);
|
||||||
static int CHIPS_GetViewport(ScrnInfoPtr);
|
static int CHIPS_GetViewport(ScrnInfoPtr);
|
||||||
static void CHIPS_SetViewport(ScrnInfoPtr, int, int, int);
|
static void CHIPS_SetViewport(ScrnInfoPtr, int, int, int);
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
static void CHIPS_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long);
|
|
||||||
static void CHIPS_BlitRect(ScrnInfoPtr, int, int, int, int, int, int);
|
|
||||||
#if 0
|
|
||||||
static void CHIPS_BlitTransRect(ScrnInfoPtr, int, int, int, int, int, int,
|
|
||||||
unsigned long);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static
|
static
|
||||||
DGAFunctionRec CHIPS_DGAFuncs = {
|
DGAFunctionRec CHIPS_DGAFuncs = {
|
||||||
@@ -31,18 +23,7 @@ DGAFunctionRec CHIPS_DGAFuncs = {
|
|||||||
CHIPS_SetMode,
|
CHIPS_SetMode,
|
||||||
CHIPS_SetViewport,
|
CHIPS_SetViewport,
|
||||||
CHIPS_GetViewport,
|
CHIPS_GetViewport,
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
CHIPSSync,
|
|
||||||
CHIPS_FillRect,
|
|
||||||
CHIPS_BlitRect,
|
|
||||||
#if 0
|
|
||||||
CHIPS_BlitTransRect
|
|
||||||
#else
|
|
||||||
NULL
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
NULL, NULL, NULL, NULL
|
NULL, NULL, NULL, NULL
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static
|
static
|
||||||
@@ -52,18 +33,7 @@ DGAFunctionRec CHIPS_MMIODGAFuncs = {
|
|||||||
CHIPS_SetMode,
|
CHIPS_SetMode,
|
||||||
CHIPS_SetViewport,
|
CHIPS_SetViewport,
|
||||||
CHIPS_GetViewport,
|
CHIPS_GetViewport,
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
CHIPSMMIOSync,
|
|
||||||
CHIPS_FillRect,
|
|
||||||
CHIPS_BlitRect,
|
|
||||||
#if 0
|
|
||||||
CHIPS_BlitTransRect
|
|
||||||
#else
|
|
||||||
NULL
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
NULL, NULL, NULL, NULL
|
NULL, NULL, NULL, NULL
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static
|
static
|
||||||
@@ -73,18 +43,7 @@ DGAFunctionRec CHIPS_HiQVDGAFuncs = {
|
|||||||
CHIPS_SetMode,
|
CHIPS_SetMode,
|
||||||
CHIPS_SetViewport,
|
CHIPS_SetViewport,
|
||||||
CHIPS_GetViewport,
|
CHIPS_GetViewport,
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
CHIPSHiQVSync,
|
|
||||||
CHIPS_FillRect,
|
|
||||||
CHIPS_BlitRect,
|
|
||||||
#if 0
|
|
||||||
CHIPS_BlitTransRect
|
|
||||||
#else
|
|
||||||
NULL
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
NULL, NULL, NULL, NULL
|
NULL, NULL, NULL, NULL
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -126,11 +85,6 @@ SECOND_PASS:
|
|||||||
|
|
||||||
currentMode->mode = pMode;
|
currentMode->mode = pMode;
|
||||||
currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
|
currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if(cPtr->Flags & ChipsAccelSupport)
|
|
||||||
currentMode->flags |= (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
? (DGA_FILL_RECT | DGA_BLIT_RECT) : 0;
|
|
||||||
#endif
|
|
||||||
if(pMode->Flags & V_DBLSCAN)
|
if(pMode->Flags & V_DBLSCAN)
|
||||||
currentMode->flags |= DGA_DOUBLESCAN;
|
currentMode->flags |= DGA_DOUBLESCAN;
|
||||||
if(pMode->Flags & V_INTERLACE)
|
if(pMode->Flags & V_INTERLACE)
|
||||||
@@ -260,57 +214,6 @@ CHIPS_SetViewport(
|
|||||||
cPtr->DGAViewportStatus = 0; /* CHIPSAdjustFrame loops until finished */
|
cPtr->DGAViewportStatus = 0; /* CHIPSAdjustFrame loops until finished */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
static void
|
|
||||||
CHIPS_FillRect (
|
|
||||||
ScrnInfoPtr pScrn,
|
|
||||||
int x, int y, int w, int h,
|
|
||||||
unsigned long color
|
|
||||||
){
|
|
||||||
CHIPSPtr cPtr = CHIPSPTR(pScrn);
|
|
||||||
|
|
||||||
if(cPtr->AccelInfoRec) {
|
|
||||||
(*cPtr->AccelInfoRec->SetupForSolidFill)(pScrn, color, GXcopy, ~0);
|
|
||||||
(*cPtr->AccelInfoRec->SubsequentSolidFillRect)(pScrn, x, y, w, h);
|
|
||||||
SET_SYNC_FLAG(cPtr->AccelInfoRec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
CHIPS_BlitRect(
|
|
||||||
ScrnInfoPtr pScrn,
|
|
||||||
int srcx, int srcy,
|
|
||||||
int w, int h,
|
|
||||||
int dstx, int dsty
|
|
||||||
){
|
|
||||||
CHIPSPtr cPtr = CHIPSPTR(pScrn);
|
|
||||||
|
|
||||||
if(cPtr->AccelInfoRec) {
|
|
||||||
int xdir = ((srcx < dstx) && (srcy == dsty)) ? -1 : 1;
|
|
||||||
int ydir = (srcy < dsty) ? -1 : 1;
|
|
||||||
|
|
||||||
(*cPtr->AccelInfoRec->SetupForScreenToScreenCopy)(
|
|
||||||
pScrn, xdir, ydir, GXcopy, ~0, -1);
|
|
||||||
(*cPtr->AccelInfoRec->SubsequentScreenToScreenCopy)(
|
|
||||||
pScrn, srcx, srcy, dstx, dsty, w, h);
|
|
||||||
SET_SYNC_FLAG(cPtr->AccelInfoRec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static void
|
|
||||||
CHIPS_BlitTransRect(
|
|
||||||
ScrnInfoPtr pScrn,
|
|
||||||
int srcx, int srcy,
|
|
||||||
int w, int h,
|
|
||||||
int dstx, int dsty,
|
|
||||||
unsigned long color
|
|
||||||
){
|
|
||||||
/* this one should be separate since the XAA function would
|
|
||||||
prohibit usage of ~0 as the key */
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
static Bool
|
static Bool
|
||||||
CHIPS_OpenFramebuffer(
|
CHIPS_OpenFramebuffer(
|
||||||
ScrnInfoPtr pScrn,
|
ScrnInfoPtr pScrn,
|
||||||
|
|||||||
179
src/ct_driver.c
179
src/ct_driver.c
@@ -168,9 +168,6 @@ static ModeStatus CHIPSValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode,
|
|||||||
static Bool CHIPSSaveScreen(ScreenPtr pScreen, int mode);
|
static Bool CHIPSSaveScreen(ScreenPtr pScreen, int mode);
|
||||||
|
|
||||||
/* Internally used functions */
|
/* Internally used functions */
|
||||||
#ifdef HAVE_ISA
|
|
||||||
static int chipsFindIsaDevice(GDevPtr dev);
|
|
||||||
#endif
|
|
||||||
static Bool chipsClockSelect(ScrnInfoPtr pScrn, int no);
|
static Bool chipsClockSelect(ScrnInfoPtr pScrn, int no);
|
||||||
Bool chipsModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
Bool chipsModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
||||||
static void chipsSave(ScrnInfoPtr pScrn, vgaRegPtr VgaSave,
|
static void chipsSave(ScrnInfoPtr pScrn, vgaRegPtr VgaSave,
|
||||||
@@ -583,27 +580,6 @@ static PciChipsets CHIPSPCIchipsets[] = {
|
|||||||
{ -1, -1, RES_UNDEFINED}
|
{ -1, -1, RES_UNDEFINED}
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef HAVE_ISA
|
|
||||||
static IsaChipsets CHIPSISAchipsets[] = {
|
|
||||||
{ CHIPS_CT65520, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65525, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65530, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65535, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65540, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65545, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65546, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65548, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65550, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65554, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT65555, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT68554, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT69000, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT69030, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT64200, RES_EXCLUSIVE_VGA },
|
|
||||||
{ CHIPS_CT64300, RES_EXCLUSIVE_VGA },
|
|
||||||
{ -1, RES_UNDEFINED }
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The options supported by the Chips and Technologies Driver */
|
/* The options supported by the Chips and Technologies Driver */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@@ -812,12 +788,6 @@ CHIPSAvailableOptions(int chipid, int busid)
|
|||||||
{
|
{
|
||||||
int chip = chipid & 0x0000ffff;
|
int chip = chipid & 0x0000ffff;
|
||||||
|
|
||||||
#ifdef HAVE_ISA
|
|
||||||
if (busid == BUS_ISA) {
|
|
||||||
if ((chip == CHIPS_CT64200) || (chip == CHIPS_CT64300))
|
|
||||||
return ChipsWingineOptions;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (busid == BUS_PCI) {
|
if (busid == BUS_PCI) {
|
||||||
if ((chip >= CHIPS_CT65550) && (chip <= CHIPS_CT69030))
|
if ((chip >= CHIPS_CT65550) && (chip <= CHIPS_CT69030))
|
||||||
return ChipsHiQVOptions;
|
return ChipsHiQVOptions;
|
||||||
@@ -977,129 +947,12 @@ CHIPSProbe(DriverPtr drv, int flags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_ISA
|
|
||||||
/* Isa Bus */
|
|
||||||
numUsed = xf86MatchIsaInstances(CHIPS_NAME,CHIPSChipsets,CHIPSISAchipsets,
|
|
||||||
drv,chipsFindIsaDevice,devSections,
|
|
||||||
numDevSections,&usedChips);
|
|
||||||
if (numUsed > 0) {
|
|
||||||
if (flags & PROBE_DETECT)
|
|
||||||
foundScreen = TRUE;
|
|
||||||
else for (i = 0; i < numUsed; i++) {
|
|
||||||
ScrnInfoPtr pScrn = NULL;
|
|
||||||
if ((pScrn = xf86ConfigIsaEntity(pScrn,0,
|
|
||||||
usedChips[i],
|
|
||||||
CHIPSISAchipsets,NULL,
|
|
||||||
NULL,NULL,NULL,NULL))) {
|
|
||||||
pScrn->driverVersion = CHIPS_VERSION;
|
|
||||||
pScrn->driverName = CHIPS_DRIVER_NAME;
|
|
||||||
pScrn->name = CHIPS_NAME;
|
|
||||||
pScrn->Probe = CHIPSProbe;
|
|
||||||
pScrn->PreInit = CHIPSPreInit;
|
|
||||||
pScrn->ScreenInit = CHIPSScreenInit;
|
|
||||||
pScrn->SwitchMode = CHIPSSwitchMode;
|
|
||||||
pScrn->AdjustFrame = CHIPSAdjustFrame;
|
|
||||||
pScrn->EnterVT = CHIPSEnterVT;
|
|
||||||
pScrn->LeaveVT = CHIPSLeaveVT;
|
|
||||||
pScrn->FreeScreen = CHIPSFreeScreen;
|
|
||||||
pScrn->ValidMode = CHIPSValidMode;
|
|
||||||
foundScreen = TRUE;
|
|
||||||
}
|
|
||||||
free(usedChips);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
free(devSections);
|
free(devSections);
|
||||||
return foundScreen;
|
return foundScreen;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ISA
|
|
||||||
static int
|
|
||||||
chipsFindIsaDevice(GDevPtr dev)
|
|
||||||
{
|
|
||||||
int found = -1;
|
|
||||||
unsigned char tmp;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function has the only direct register access in the C&T driver.
|
|
||||||
* All other register access through functions to allow for full MMIO.
|
|
||||||
*/
|
|
||||||
outb(0x3D6, 0x00);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
|
|
||||||
switch (tmp & 0xF0) {
|
|
||||||
case 0x70: /* CT65520 */
|
|
||||||
found = CHIPS_CT65520; break;
|
|
||||||
case 0x80: /* CT65525 or CT65530 */
|
|
||||||
found = CHIPS_CT65530; break;
|
|
||||||
case 0xA0: /* CT64200 */
|
|
||||||
found = CHIPS_CT64200; break;
|
|
||||||
case 0xB0: /* CT64300 */
|
|
||||||
found = CHIPS_CT64300; break;
|
|
||||||
case 0xC0: /* CT65535 */
|
|
||||||
found = CHIPS_CT65535; break;
|
|
||||||
default:
|
|
||||||
switch (tmp & 0xF8) {
|
|
||||||
case 0xD0: /* CT65540 */
|
|
||||||
found = CHIPS_CT65540; break;
|
|
||||||
case 0xD8: /* CT65545 or CT65546 or CT65548 */
|
|
||||||
switch (tmp & 7) {
|
|
||||||
case 3:
|
|
||||||
found = CHIPS_CT65546; break;
|
|
||||||
case 4:
|
|
||||||
found = CHIPS_CT65548; break;
|
|
||||||
default:
|
|
||||||
found = CHIPS_CT65545; break;
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if (tmp == 0x2C) {
|
|
||||||
outb(0x3D6, 0x01);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
if (tmp != 0x10) break;
|
|
||||||
outb(0x3D6, 0x02);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
switch (tmp) {
|
|
||||||
case 0xE0: /* CT65550 */
|
|
||||||
found = CHIPS_CT65550; break;
|
|
||||||
case 0xE4: /* CT65554 */
|
|
||||||
found = CHIPS_CT65554; break;
|
|
||||||
case 0xE5: /* CT65555 */
|
|
||||||
found = CHIPS_CT65555; break;
|
|
||||||
case 0xF4: /* CT68554 */
|
|
||||||
found = CHIPS_CT68554; break;
|
|
||||||
case 0xC0: /* CT69000 */
|
|
||||||
found = CHIPS_CT69000; break;
|
|
||||||
case 0x30: /* CT69030 */
|
|
||||||
outb(0x3D6, 0x03);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
if (tmp == 0xC)
|
|
||||||
found = CHIPS_CT69030;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* We only want ISA/VL Bus - so check for PCI Bus */
|
|
||||||
if(found > CHIPS_CT65548) {
|
|
||||||
outb(0x3D6, 0x08);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
if(tmp & 0x01) found = -1;
|
|
||||||
} else if(found > CHIPS_CT65535) {
|
|
||||||
outb(0x3D6, 0x01);
|
|
||||||
tmp = inb(0x3D7);
|
|
||||||
if ((tmp & 0x07) == 0x06) found = -1;
|
|
||||||
}
|
|
||||||
return found;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Mandatory */
|
/* Mandatory */
|
||||||
Bool
|
Bool
|
||||||
@@ -1367,21 +1220,11 @@ CHIPSPreInit(ScrnInfoPtr pScrn, int flags)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport) {
|
|
||||||
if (!xf86LoadSubModule(pScrn, "xaa")) {
|
|
||||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
|
|
||||||
cPtr->Flags &= ~(ChipsAccelSupport);
|
|
||||||
cPtr->Flags |= ChipsShadowFB;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
if (!xf86LoadSubModule(pScrn, "exa")) {
|
if (!xf86LoadSubModule(pScrn, "exa")) {
|
||||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
|
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
|
||||||
cPtr->Flags &= ~(ChipsAccelSupport);
|
cPtr->Flags &= ~(ChipsAccelSupport);
|
||||||
cPtr->Flags |= ChipsShadowFB;
|
cPtr->Flags |= ChipsShadowFB;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (cPtr->Flags & ChipsShadowFB) {
|
if (cPtr->Flags & ChipsShadowFB) {
|
||||||
if (!xf86LoadSubModule(pScrn, "shadowfb")) {
|
if (!xf86LoadSubModule(pScrn, "shadowfb")) {
|
||||||
@@ -1584,12 +1427,10 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
|
|||||||
from = X_CONFIG;
|
from = X_CONFIG;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_ISA
|
|
||||||
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
||||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* linear base */
|
/* linear base */
|
||||||
if (cPtr->Flags & ChipsLinearSupport) {
|
if (cPtr->Flags & ChipsLinearSupport) {
|
||||||
@@ -2639,12 +2480,10 @@ chipsPreInitWingine(ScrnInfoPtr pScrn, int flags)
|
|||||||
from = X_CONFIG;
|
from = X_CONFIG;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_ISA
|
|
||||||
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
||||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* linear base */
|
/* linear base */
|
||||||
if (useLinear) {
|
if (useLinear) {
|
||||||
@@ -3104,12 +2943,10 @@ chipsPreInit655xx(ScrnInfoPtr pScrn, int flags)
|
|||||||
from = X_CONFIG;
|
from = X_CONFIG;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_ISA
|
|
||||||
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
if (!(cPtr->Flags & ChipsLinearSupport)) {
|
||||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Linear framebuffer required\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* linear base */
|
/* linear base */
|
||||||
if (useLinear) {
|
if (useLinear) {
|
||||||
@@ -4305,23 +4142,11 @@ CHIPSScreenInit(SCREEN_INIT_ARGS_DECL)
|
|||||||
xf86InitFBManager(pScreen, &AvailFBArea);
|
xf86InitFBManager(pScreen, &AvailFBArea);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport) {
|
|
||||||
if (IS_HiQV(cPtr)) {
|
|
||||||
CHIPSHiQVAccelInit(pScreen);
|
|
||||||
} else if (cPtr->UseMMIO) {
|
|
||||||
CHIPSMMIOAccelInit(pScreen);
|
|
||||||
} else {
|
|
||||||
CHIPSAccelInit(pScreen);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport) {
|
if (cPtr->Flags & ChipsAccelSupport) {
|
||||||
if (IS_HiQV(cPtr)) {
|
if (IS_HiQV(cPtr)) {
|
||||||
CHIPSInitEXA(pScreen);
|
CHIPSInitEXA(pScreen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
xf86SetBackingStore(pScreen);
|
xf86SetBackingStore(pScreen);
|
||||||
#ifdef ENABLE_SILKEN_MOUSE
|
#ifdef ENABLE_SILKEN_MOUSE
|
||||||
@@ -4542,10 +4367,6 @@ CHIPSCloseScreen(CLOSE_SCREEN_ARGS_DECL)
|
|||||||
cPtrEnt = pPriv->ptr;
|
cPtrEnt = pPriv->ptr;
|
||||||
cPtrEnt->refCount--;
|
cPtrEnt->refCount--;
|
||||||
}
|
}
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->AccelInfoRec)
|
|
||||||
XAADestroyInfoRec(cPtr->AccelInfoRec);
|
|
||||||
#endif
|
|
||||||
if (cPtr->CursorInfoRec)
|
if (cPtr->CursorInfoRec)
|
||||||
xf86DestroyCursorInfoRec(cPtr->CursorInfoRec);
|
xf86DestroyCursorInfoRec(cPtr->CursorInfoRec);
|
||||||
free(cPtr->ShadowPtr);
|
free(cPtr->ShadowPtr);
|
||||||
|
|||||||
@@ -28,10 +28,6 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "ct_pcirename.h"
|
#include "ct_pcirename.h"
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
#include "xaa.h"
|
|
||||||
#include "xaalocal.h" /* XAA internals as we replace some of XAA */
|
|
||||||
#endif
|
|
||||||
#include "exa.h"
|
#include "exa.h"
|
||||||
#include "vbe.h"
|
#include "vbe.h"
|
||||||
#include "xf86Cursor.h"
|
#include "xf86Cursor.h"
|
||||||
@@ -329,9 +325,6 @@ typedef struct _CHIPSRec {
|
|||||||
unsigned int * Regs32;
|
unsigned int * Regs32;
|
||||||
unsigned int Flags;
|
unsigned int Flags;
|
||||||
CARD32 Bus;
|
CARD32 Bus;
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
XAAInfoRecPtr AccelInfoRec;
|
|
||||||
#endif
|
|
||||||
ExaDriverPtr pExa;
|
ExaDriverPtr pExa;
|
||||||
xf86CursorInfoPtr CursorInfoRec;
|
xf86CursorInfoPtr CursorInfoRec;
|
||||||
CHIPSACLRec Accel;
|
CHIPSACLRec Accel;
|
||||||
|
|||||||
@@ -175,10 +175,6 @@ CHIPSResetVideo(ScrnInfoPtr pScrn)
|
|||||||
unsigned char mr3c;
|
unsigned char mr3c;
|
||||||
int red, green, blue;
|
int red, green, blue;
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mr3c = cPtr->readMR(cPtr, 0x3C);
|
mr3c = cPtr->readMR(cPtr, 0x3C);
|
||||||
cPtr->writeMR(cPtr, 0x3C, (mr3c | 0x6));
|
cPtr->writeMR(cPtr, 0x3C, (mr3c | 0x6));
|
||||||
@@ -290,10 +286,6 @@ CHIPSStopVideo(ScrnInfoPtr pScrn, pointer data, Bool shadow)
|
|||||||
unsigned char mr3c, tmp;
|
unsigned char mr3c, tmp;
|
||||||
|
|
||||||
REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
|
REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
if(shadow) {
|
if(shadow) {
|
||||||
if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
|
if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
|
||||||
mr3c = cPtr->readMR(cPtr, 0x3C);
|
mr3c = cPtr->readMR(cPtr, 0x3C);
|
||||||
@@ -325,10 +317,6 @@ CHIPSSetPortAttribute(
|
|||||||
CHIPSPortPrivPtr pPriv = (CHIPSPortPrivPtr)data;
|
CHIPSPortPrivPtr pPriv = (CHIPSPortPrivPtr)data;
|
||||||
CHIPSPtr cPtr = CHIPSPTR(pScrn);
|
CHIPSPtr cPtr = CHIPSPTR(pScrn);
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
if(attribute == xvColorKey) {
|
if(attribute == xvColorKey) {
|
||||||
int red, green, blue;
|
int red, green, blue;
|
||||||
pPriv->colorKey = value;
|
pPriv->colorKey = value;
|
||||||
@@ -538,10 +526,6 @@ CHIPSDisplayVideo(
|
|||||||
Bool dblscan = (pScrn->currentMode->Flags & V_DBLSCAN) == V_DBLSCAN;
|
Bool dblscan = (pScrn->currentMode->Flags & V_DBLSCAN) == V_DBLSCAN;
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tmp = cPtr->readXR(cPtr, 0xD0);
|
tmp = cPtr->readXR(cPtr, 0xD0);
|
||||||
cPtr->writeXR(cPtr, 0xD0, (tmp | 0x10));
|
cPtr->writeXR(cPtr, 0xD0, (tmp | 0x10));
|
||||||
@@ -647,10 +631,6 @@ CHIPSDisplayVideo(
|
|||||||
|
|
||||||
tmp = cPtr->readMR(cPtr, 0x3C);
|
tmp = cPtr->readMR(cPtr, 0x3C);
|
||||||
cPtr->writeMR(cPtr, 0x3C, (tmp | 0x7));
|
cPtr->writeMR(cPtr, 0x3C, (tmp | 0x7));
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -830,10 +810,6 @@ CHIPSVideoTimerCallback(ScrnInfoPtr pScrn, Time time)
|
|||||||
if(pPriv->videoStatus & TIMER_MASK) {
|
if(pPriv->videoStatus & TIMER_MASK) {
|
||||||
if(pPriv->videoStatus & OFF_TIMER) {
|
if(pPriv->videoStatus & OFF_TIMER) {
|
||||||
if(pPriv->offTime < time) {
|
if(pPriv->offTime < time) {
|
||||||
#ifdef HAVE_XAA_H
|
|
||||||
if (cPtr->Flags & ChipsAccelSupport)
|
|
||||||
CHIPSHiQVSync(pScrn);
|
|
||||||
#endif
|
|
||||||
mr3c = cPtr->readMR(cPtr, 0x3C);
|
mr3c = cPtr->readMR(cPtr, 0x3C);
|
||||||
cPtr->writeMR(cPtr, 0x3C, (mr3c & 0xFE));
|
cPtr->writeMR(cPtr, 0x3C, (mr3c & 0xFE));
|
||||||
pPriv->videoStatus = FREE_TIMER;
|
pPriv->videoStatus = FREE_TIMER;
|
||||||
|
|||||||
Reference in New Issue
Block a user