mirror of
https://github.com/X11Libre/xf86-video-s3virge.git
synced 2026-03-24 01:24:29 +00:00
s3virge: port to new X server compat API.
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -29,6 +29,7 @@ s3virge_drv_la_LDFLAGS = -module -avoid-version
|
||||
s3virge_drv_ladir = @moduledir@/drivers
|
||||
|
||||
s3virge_drv_la_SOURCES = \
|
||||
compat-api.h \
|
||||
newmmio.h \
|
||||
regs3v.h \
|
||||
s3v_accel.c \
|
||||
|
||||
99
src/compat-api.h
Normal file
99
src/compat-api.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
* Copyright 2012 Red Hat, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the next
|
||||
* paragraph) shall be included in all copies or substantial portions of the
|
||||
* Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Author: Dave Airlie <airlied@redhat.com>
|
||||
*/
|
||||
|
||||
/* this file provides API compat between server post 1.13 and pre it,
|
||||
it should be reused inside as many drivers as possible */
|
||||
#ifndef COMPAT_API_H
|
||||
#define COMPAT_API_H
|
||||
|
||||
#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
|
||||
#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
|
||||
#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
|
||||
#endif
|
||||
|
||||
#ifndef XF86_HAS_SCRN_CONV
|
||||
#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
|
||||
#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
|
||||
#endif
|
||||
|
||||
#ifndef XF86_SCRN_INTERFACE
|
||||
|
||||
#define SCRN_ARG_TYPE int
|
||||
#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
|
||||
|
||||
#define SCREEN_ARG_TYPE int
|
||||
#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
|
||||
|
||||
#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
|
||||
|
||||
#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
|
||||
#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
|
||||
|
||||
#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
|
||||
#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
|
||||
|
||||
#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
|
||||
#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
|
||||
|
||||
#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
|
||||
#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
|
||||
|
||||
#define FREE_SCREEN_ARGS_DECL int arg, int flags
|
||||
|
||||
#define VT_FUNC_ARGS_DECL int arg, int flags
|
||||
#define VT_FUNC_ARGS pScrn->scrnIndex, 0
|
||||
|
||||
#define XF86_SCRN_ARG(x) ((x)->scrnIndex)
|
||||
#else
|
||||
#define SCRN_ARG_TYPE ScrnInfoPtr
|
||||
#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
|
||||
|
||||
#define SCREEN_ARG_TYPE ScreenPtr
|
||||
#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
|
||||
|
||||
#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
|
||||
|
||||
#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
|
||||
#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
|
||||
|
||||
#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
|
||||
#define CLOSE_SCREEN_ARGS pScreen
|
||||
|
||||
#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
|
||||
#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
|
||||
|
||||
#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
|
||||
#define SWITCH_MODE_ARGS(arg, m) arg, m
|
||||
|
||||
#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
|
||||
|
||||
#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
|
||||
#define VT_FUNC_ARGS pScrn
|
||||
|
||||
#define XF86_SCRN_ARG(x) (x)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -74,6 +74,7 @@ in this Software without prior written authorization from the XFree86 Project.
|
||||
#include <X11/extensions/Xv.h>
|
||||
#include "fourcc.h"
|
||||
|
||||
#include "compat-api.h"
|
||||
#ifndef _S3V_VGAHWMMIO_H
|
||||
#define _S3V_VGAHWMMIO_H
|
||||
|
||||
@@ -302,7 +303,7 @@ typedef struct tagS3VRec {
|
||||
int rotate;
|
||||
unsigned char * ShadowPtr;
|
||||
int ShadowPitch;
|
||||
void (*PointerMoved)(int index, int x, int y);
|
||||
void (*PointerMoved)(SCRN_ARG_TYPE arg, int x, int y);
|
||||
|
||||
/* Used by ViRGE driver, but generic -end- */
|
||||
|
||||
@@ -397,14 +398,14 @@ void S3VWaitDummy(S3VPtr ps3v);
|
||||
extern Bool S3VHWCursorInit(ScreenPtr pScreen);
|
||||
|
||||
/* s3v_driver.c */
|
||||
void S3VAdjustFrame(int scrnIndex, int x, int y, int flags);
|
||||
Bool S3VSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
|
||||
void S3VAdjustFrame(ADJUST_FRAME_ARGS_DECL);
|
||||
Bool S3VSwitchMode(SWITCH_MODE_ARGS_DECL);
|
||||
|
||||
/* s3v_dga.c */
|
||||
Bool S3VDGAInit(ScreenPtr pScreen);
|
||||
|
||||
/* in s3v_shadow.c */
|
||||
void s3vPointerMoved(int index, int x, int y);
|
||||
void s3vPointerMoved(SCRN_ARG_TYPE index, int x, int y);
|
||||
void s3vRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
|
||||
void s3vRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
|
||||
void s3vRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
|
||||
|
||||
@@ -82,7 +82,7 @@ S3VAccelInit(ScreenPtr pScreen)
|
||||
{
|
||||
#ifdef HAVE_XAA_H
|
||||
XAAInfoRecPtr infoPtr;
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
BoxRec AvailFBArea;
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ DGAFunctionRec S3V_DGAFuncs = {
|
||||
Bool
|
||||
S3VDGAInit(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
DGAModePtr modes = NULL, newmodes = NULL, currentMode;
|
||||
DisplayModePtr pMode, firstMode;
|
||||
@@ -245,7 +245,7 @@ S3V_SetMode(
|
||||
|
||||
pScrn->displayWidth = OldDisplayWidth[index];
|
||||
|
||||
S3VSwitchMode(index, pScrn->currentMode, 0);
|
||||
S3VSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode));
|
||||
ps3v->DGAactive = FALSE;
|
||||
} else {
|
||||
if(!ps3v->DGAactive) { /* save the old parameters */
|
||||
@@ -257,7 +257,7 @@ S3V_SetMode(
|
||||
pScrn->displayWidth = pMode->bytesPerScanline /
|
||||
(pMode->bitsPerPixel >> 3);
|
||||
|
||||
S3VSwitchMode(index, pMode->mode, 0);
|
||||
S3VSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@@ -282,7 +282,7 @@ S3V_SetViewport(
|
||||
){
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
|
||||
S3VAdjustFrame(pScrn->pScreen->myNum, x, y, flags);
|
||||
S3VAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
|
||||
ps3v->DGAViewportStatus = 0; /* MGAAdjustFrame loops until finished */
|
||||
}
|
||||
|
||||
|
||||
@@ -91,34 +91,32 @@ static void S3VIdentify(int flags);
|
||||
static Bool S3VProbe(DriverPtr drv, int flags);
|
||||
static Bool S3VPreInit(ScrnInfoPtr pScrn, int flags);
|
||||
|
||||
static Bool S3VEnterVT(int scrnIndex, int flags);
|
||||
static void S3VLeaveVT(int scrnIndex, int flags);
|
||||
static Bool S3VEnterVT(VT_FUNC_ARGS_DECL);
|
||||
static void S3VLeaveVT(VT_FUNC_ARGS_DECL);
|
||||
static void S3VSave (ScrnInfoPtr pScrn);
|
||||
static void S3VWriteMode (ScrnInfoPtr pScrn, vgaRegPtr, S3VRegPtr);
|
||||
|
||||
static void S3VSaveSTREAMS(ScrnInfoPtr pScrn, unsigned int *streams);
|
||||
static void S3VRestoreSTREAMS(ScrnInfoPtr pScrn, unsigned int *streams);
|
||||
static void S3VDisableSTREAMS(ScrnInfoPtr pScrn);
|
||||
static Bool S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv);
|
||||
static int S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen);
|
||||
static Bool S3VScreenInit(SCREEN_INIT_ARGS_DECL);
|
||||
static int S3VInternalScreenInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
|
||||
static void S3VPrintRegs(ScrnInfoPtr);
|
||||
static ModeStatus S3VValidMode(int index, DisplayModePtr mode, Bool verbose, int flags);
|
||||
static ModeStatus S3VValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags);
|
||||
|
||||
static Bool S3VMapMem(ScrnInfoPtr pScrn);
|
||||
static void S3VUnmapMem(ScrnInfoPtr pScrn);
|
||||
static Bool S3VModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
||||
static Bool S3VCloseScreen(int scrnIndex, ScreenPtr pScreen);
|
||||
static Bool S3VCloseScreen(CLOSE_SCREEN_ARGS_DECL);
|
||||
static Bool S3VSaveScreen(ScreenPtr pScreen, int mode);
|
||||
static void S3VInitSTREAMS(ScrnInfoPtr pScrn, unsigned int *streams, DisplayModePtr mode);
|
||||
/* s3v.h - static void S3VAdjustFrame(int scrnIndex, int x, int y, int flags); */
|
||||
/* s3v.h - static Bool S3VSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); */
|
||||
static void S3VLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indicies, LOCO *colors, VisualPtr pVisual);
|
||||
|
||||
static void S3VDisplayPowerManagementSet(ScrnInfoPtr pScrn,
|
||||
int PowerManagementMode,
|
||||
int flags);
|
||||
static Bool S3Vddc1(int scrnIndex);
|
||||
static Bool S3Vddc2(int scrnIndex);
|
||||
static Bool S3Vddc1(ScrnInfoPtr pScrn);
|
||||
static Bool S3Vddc2(ScrnInfoPtr pScrn);
|
||||
|
||||
static unsigned int S3Vddc1Read(ScrnInfoPtr pScrn);
|
||||
static void S3VProbeDDC(ScrnInfoPtr pScrn, int index);
|
||||
@@ -934,8 +932,8 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
if ((ps3v->pVbe)
|
||||
&& ((pMon = xf86PrintEDID(vbeDoEDID(ps3v->pVbe, NULL))) != NULL))
|
||||
xf86SetDDCproperties(pScrn,pMon);
|
||||
else if (!S3Vddc1(pScrn->scrnIndex)) {
|
||||
S3Vddc2(pScrn->scrnIndex);
|
||||
else if (!S3Vddc1(pScrn)) {
|
||||
S3Vddc2(pScrn);
|
||||
}
|
||||
}
|
||||
if (ps3v->pVbe) {
|
||||
@@ -1386,9 +1384,9 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
|
||||
/* Mandatory */
|
||||
static Bool
|
||||
S3VEnterVT(int scrnIndex, int flags)
|
||||
S3VEnterVT(VT_FUNC_ARGS_DECL)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
SCRN_INFO_PTR(arg);
|
||||
/* ScreenPtr pScreen = xf86Screens[scrnIndex]->pScreen; */
|
||||
/*vgaHWPtr hwp = VGAHWPTR(pScrn);*/
|
||||
|
||||
@@ -1415,9 +1413,9 @@ S3VEnterVT(int scrnIndex, int flags)
|
||||
|
||||
/* Mandatory */
|
||||
static void
|
||||
S3VLeaveVT(int scrnIndex, int flags)
|
||||
S3VLeaveVT(VT_FUNC_ARGS_DECL)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
SCRN_INFO_PTR(arg);
|
||||
vgaHWPtr hwp = VGAHWPTR(pScrn);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
vgaRegPtr vgaSavePtr = &hwp->SavedReg;
|
||||
@@ -2319,7 +2317,7 @@ S3VUnmapMem(ScrnInfoPtr pScrn)
|
||||
/* This gets called at the start of each server generation */
|
||||
|
||||
static Bool
|
||||
S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
S3VScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
{
|
||||
ScrnInfoPtr pScrn;
|
||||
S3VPtr ps3v;
|
||||
@@ -2327,7 +2325,7 @@ S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
|
||||
PVERB5(" S3VScreenInit\n");
|
||||
/* First get the ScrnInfoRec */
|
||||
pScrn = xf86Screens[pScreen->myNum];
|
||||
pScrn = xf86ScreenToScrn(pScreen);
|
||||
/* Get S3V rec */
|
||||
ps3v = S3VPTR(pScrn);
|
||||
/* Map MMIO regs and framebuffer */
|
||||
@@ -2383,7 +2381,7 @@ S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = S3VInternalScreenInit(scrnIndex, pScreen);
|
||||
ret = S3VInternalScreenInit(pScrn, pScreen);
|
||||
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
@@ -2503,17 +2501,13 @@ S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
/* Common init routines needed in EnterVT and ScreenInit */
|
||||
|
||||
static int
|
||||
S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
|
||||
S3VInternalScreenInit(ScrnInfoPtr pScrn, ScreenPtr pScreen)
|
||||
{
|
||||
int ret = TRUE;
|
||||
ScrnInfoPtr pScrn;
|
||||
S3VPtr ps3v;
|
||||
int width, height, displayWidth;
|
||||
unsigned char* FBStart;
|
||||
|
||||
/* First get the ScrnInfoRec */
|
||||
pScrn = xf86Screens[pScreen->myNum];
|
||||
|
||||
ps3v = S3VPTR(pScrn);
|
||||
|
||||
displayWidth = pScrn->displayWidth;
|
||||
@@ -2551,7 +2545,7 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
|
||||
displayWidth, pScrn->bitsPerPixel);
|
||||
break;
|
||||
default:
|
||||
xf86DrvMsg(scrnIndex, X_ERROR,
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"Internal error: invalid bpp (%d) in S3VScreenInit\n",
|
||||
pScrn->bitsPerPixel);
|
||||
ret = FALSE;
|
||||
@@ -2566,9 +2560,9 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
|
||||
/* Checks if a mode is suitable for the selected chipset. */
|
||||
|
||||
static ModeStatus
|
||||
S3VValidMode(int index, DisplayModePtr mode, Bool verbose, int flags)
|
||||
S3VValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[index];
|
||||
SCRN_INFO_PTR(arg);
|
||||
|
||||
if ((pScrn->bitsPerPixel + 7)/8 * mode->HDisplay > 4095)
|
||||
return MODE_VIRTUAL_X;
|
||||
@@ -3276,7 +3270,7 @@ S3VModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
/* needed, etc. */
|
||||
S3VWriteMode( pScrn, vganew, new );
|
||||
/* Adjust the viewport */
|
||||
S3VAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
|
||||
S3VAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -3291,9 +3285,9 @@ S3VModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
|
||||
/* Mandatory */
|
||||
static Bool
|
||||
S3VCloseScreen(int scrnIndex, ScreenPtr pScreen)
|
||||
S3VCloseScreen(CLOSE_SCREEN_ARGS_DECL)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
vgaHWPtr hwp = VGAHWPTR(pScrn);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
vgaRegPtr vgaSavePtr = &hwp->SavedReg;
|
||||
@@ -3319,7 +3313,7 @@ S3VCloseScreen(int scrnIndex, ScreenPtr pScreen)
|
||||
|
||||
pScreen->CloseScreen = ps3v->CloseScreen;
|
||||
|
||||
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
|
||||
return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
|
||||
}
|
||||
|
||||
|
||||
@@ -3433,9 +3427,9 @@ S3VInitSTREAMS(ScrnInfoPtr pScrn, unsigned int *streams, DisplayModePtr mode)
|
||||
*/
|
||||
|
||||
void
|
||||
S3VAdjustFrame(int scrnIndex, int x, int y, int flags)
|
||||
S3VAdjustFrame(ADJUST_FRAME_ARGS_DECL)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
SCRN_INFO_PTR(arg);
|
||||
vgaHWPtr hwp = VGAHWPTR(pScrn);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
int Base;
|
||||
@@ -3483,9 +3477,10 @@ S3VAdjustFrame(int scrnIndex, int x, int y, int flags)
|
||||
|
||||
/* Usually mandatory */
|
||||
Bool
|
||||
S3VSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
|
||||
S3VSwitchMode(SWITCH_MODE_ARGS_DECL)
|
||||
{
|
||||
return S3VModeInit(xf86Screens[scrnIndex], mode);
|
||||
SCRN_INFO_PTR(arg);
|
||||
return S3VModeInit(pScrn, mode);
|
||||
}
|
||||
|
||||
|
||||
@@ -3766,9 +3761,8 @@ S3Vddc1Read(ScrnInfoPtr pScrn)
|
||||
}
|
||||
|
||||
static Bool
|
||||
S3Vddc1(int scrnIndex)
|
||||
S3Vddc1(ScrnInfoPtr pScrn)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
CARD32 tmp;
|
||||
Bool success = FALSE;
|
||||
@@ -3779,7 +3773,7 @@ S3Vddc1(int scrnIndex)
|
||||
OUTREG(DDC_REG,(tmp | 0x12));
|
||||
|
||||
if ((pMon = xf86PrintEDID(
|
||||
xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeedWeak(),
|
||||
xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),
|
||||
S3Vddc1Read))) != NULL)
|
||||
success = TRUE;
|
||||
xf86SetDDCproperties(pScrn,pMon);
|
||||
@@ -3790,9 +3784,8 @@ S3Vddc1(int scrnIndex)
|
||||
}
|
||||
|
||||
static Bool
|
||||
S3Vddc2(int scrnIndex)
|
||||
S3Vddc2(ScrnInfoPtr pScrn)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
|
||||
if ( xf86LoadSubModule(pScrn, "i2c") ) {
|
||||
@@ -3800,7 +3793,7 @@ S3Vddc2(int scrnIndex)
|
||||
CARD32 tmp = (INREG(DDC_REG));
|
||||
OUTREG(DDC_REG,(tmp | 0x13));
|
||||
xf86SetDDCproperties(pScrn,xf86PrintEDID(
|
||||
xf86DoEDID_DDC2(pScrn->scrnIndex,ps3v->I2C)));
|
||||
xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),ps3v->I2C)));
|
||||
OUTREG(DDC_REG,tmp);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ S3VSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
|
||||
Bool
|
||||
S3VHWCursorInit(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
xf86CursorInfoPtr infoPtr;
|
||||
|
||||
|
||||
@@ -94,9 +94,9 @@ s3vRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
|
||||
}
|
||||
|
||||
void
|
||||
s3vPointerMoved(int index, int x, int y)
|
||||
s3vPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[index];
|
||||
SCRN_INFO_PTR(arg);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
int newX, newY;
|
||||
|
||||
@@ -108,7 +108,7 @@ s3vPointerMoved(int index, int x, int y)
|
||||
newY = pScrn->pScreen->width - x - 1;
|
||||
}
|
||||
|
||||
(*ps3v->PointerMoved)(index, newX, newY);
|
||||
(*ps3v->PointerMoved)(arg, newX, newY);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -105,7 +105,7 @@ int S3VQueryXvCapable(ScrnInfoPtr pScrn)
|
||||
|
||||
void S3VInitVideo(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL;
|
||||
XF86VideoAdaptorPtr newAdaptor = NULL;
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
@@ -346,7 +346,7 @@ S3VAllocAdaptor(ScrnInfoPtr pScrn)
|
||||
static XF86VideoAdaptorPtr
|
||||
S3VSetupImageVideoOverlay(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
S3VPtr ps3v = S3VPTR(pScrn);
|
||||
XF86VideoAdaptorPtr adapt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user