Changeset View
Changeset View
Standalone View
Standalone View
x11-drivers/xf86-video-scfb/files/patch-src_scfb__driver.c
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | @@ -302,7 +303,7 @@ scfb_mmap(size_t len, off_t off, int fd) | ||||
mapaddr = NULL; | mapaddr = NULL; | ||||
} | } | ||||
#if DEBUG | #if DEBUG | ||||
- ErrorF("mmap returns: addr %p len 0x%x, fd %d, off %x\n", mapaddr, mapsize, fd, off); | - ErrorF("mmap returns: addr %p len 0x%x, fd %d, off %x\n", mapaddr, mapsize, fd, off); | ||||
+ ErrorF("mmap returns: addr %p len 0x%x, fd %d, off %lx\n", mapaddr, mapsize, fd, off); | + ErrorF("mmap returns: addr %p len 0x%x, fd %d, off %lx\n", mapaddr, mapsize, fd, off); | ||||
#endif | #endif | ||||
return mapaddr; | return mapaddr; | ||||
} | } | ||||
@@ -366,8 +367,8 @@ ScfbPreInit(ScrnInfoPtr pScrn, int flags | @@ -314,6 +315,7 @@ ScfbProbe(DriverPtr drv, int flags) | ||||
GDevPtr *devSections; | |||||
int numDevSections; | |||||
const char *dev; | |||||
+ struct fbtype fb; | |||||
Bool foundScreen = FALSE; | |||||
TRACE("probe start"); | |||||
@@ -330,7 +332,8 @@ ScfbProbe(DriverPtr drv, int flags) | |||||
for (i = 0; i < numDevSections; i++) { | |||||
ScrnInfoPtr pScrn = NULL; | |||||
dev = xf86FindOptionValue(devSections[i]->options, "device"); | |||||
- if ((fd = xf86Info.consoleFd) >= 0) { | |||||
+ if ((fd = xf86Info.consoleFd) >= 0 && | |||||
+ ioctl(fd, FBIOGTYPE, &fb) != -1) { | |||||
entity = xf86ClaimFbSlot(drv, 0, devSections[i], TRUE); | |||||
pScrn = xf86ConfigFbEntity(NULL,0,entity, | |||||
NULL,NULL,NULL,NULL); | |||||
@@ -366,8 +369,8 @@ ScfbPreInit(ScrnInfoPtr pScrn, int flags | |||||
struct fbtype fb; | struct fbtype fb; | ||||
int default_depth, wstype; | int default_depth, wstype; | ||||
const char *dev; | const char *dev; | ||||
- char *mod = NULL, *s; | - char *mod = NULL, *s; | ||||
- const char *reqSym = NULL; | - const char *reqSym = NULL; | ||||
+ char *mod = NULL; | + char *mod = NULL; | ||||
+ const char *reqSym = NULL, *s; | + const char *reqSym = NULL, *s; | ||||
Gamma zeros = {0.0, 0.0, 0.0}; | Gamma zeros = {0.0, 0.0, 0.0}; | ||||
DisplayModePtr mode; | DisplayModePtr mode; | ||||
@@ -633,9 +634,9 @@ ScfbShadowInit(ScreenPtr pScreen) | @@ -633,9 +636,9 @@ ScfbShadowInit(ScreenPtr pScreen) | ||||
} | } | ||||
static Bool | static Bool | ||||
-ScfbScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | -ScfbScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||||
+ScfbScreenInit(SCREEN_INIT_ARGS_DECL) | +ScfbScreenInit(SCREEN_INIT_ARGS_DECL) | ||||
{ | { | ||||
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; | - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; | ||||
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); | + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); | ||||
ScfbPtr fPtr = SCFBPTR(pScrn); | ScfbPtr fPtr = SCFBPTR(pScrn); | ||||
VisualPtr visual; | VisualPtr visual; | ||||
int ret, flags, ncolors; | int ret, flags, ncolors; | ||||
@@ -792,7 +793,7 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | @@ -792,7 +795,7 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | ||||
"RENDER extension initialisation failed."); | "RENDER extension initialisation failed."); | ||||
} | } | ||||
if (fPtr->shadowFB && !ScfbShadowInit(pScreen)) { | if (fPtr->shadowFB && !ScfbShadowInit(pScreen)) { | ||||
- xf86DrvMsg(scrnIndex, X_ERROR, | - xf86DrvMsg(scrnIndex, X_ERROR, | ||||
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, | + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, | ||||
"shadow framebuffer initialization failed\n"); | "shadow framebuffer initialization failed\n"); | ||||
return FALSE; | return FALSE; | ||||
} | } | ||||
@@ -801,20 +802,19 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | @@ -801,20 +804,19 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | ||||
if (!fPtr->rotate) | if (!fPtr->rotate) | ||||
ScfbDGAInit(pScrn, pScreen); | ScfbDGAInit(pScrn, pScreen); | ||||
else | else | ||||
- xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, " | - xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, " | ||||
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotated display, " | + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotated display, " | ||||
"disabling DGA\n"); | "disabling DGA\n"); | ||||
#endif | #endif | ||||
if (fPtr->rotate) { | if (fPtr->rotate) { | ||||
- xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver Rotation, " | - xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver Rotation, " | ||||
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enabling Driver Rotation, " | + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enabling Driver Rotation, " | ||||
"disabling RandR\n"); | "disabling RandR\n"); | ||||
xf86DisableRandR(); | xf86DisableRandR(); | ||||
if (pScrn->bitsPerPixel == 24) | if (pScrn->bitsPerPixel == 24) | ||||
- xf86DrvMsg(scrnIndex, X_WARNING, | - xf86DrvMsg(scrnIndex, X_WARNING, | ||||
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, | + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, | ||||
"Rotation might be broken in 24 bpp\n"); | "Rotation might be broken in 24 bpp\n"); | ||||
} | } | ||||
xf86SetBlackWhitePixels(pScreen); | xf86SetBlackWhitePixels(pScreen); | ||||
- miInitializeBackingStore(pScreen); | - miInitializeBackingStore(pScreen); | ||||
xf86SetBackingStore(pScreen); | xf86SetBackingStore(pScreen); | ||||
/* Software cursor. */ | /* Software cursor. */ | ||||
@@ -858,9 +858,9 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | @@ -858,9 +860,9 @@ ScfbScreenInit(int scrnIndex, ScreenPtr | ||||
} | } | ||||
static Bool | static Bool | ||||
-ScfbCloseScreen(int scrnIndex, ScreenPtr pScreen) | -ScfbCloseScreen(int scrnIndex, ScreenPtr pScreen) | ||||
+ScfbCloseScreen(CLOSE_SCREEN_ARGS_DECL) | +ScfbCloseScreen(CLOSE_SCREEN_ARGS_DECL) | ||||
{ | { | ||||
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||||
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); | + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); | ||||
PixmapPtr pPixmap; | PixmapPtr pPixmap; | ||||
ScfbPtr fPtr = SCFBPTR(pScrn); | ScfbPtr fPtr = SCFBPTR(pScrn); | ||||
@@ -892,7 +892,7 @@ ScfbCloseScreen(int scrnIndex, ScreenPtr | @@ -892,7 +894,7 @@ ScfbCloseScreen(int scrnIndex, ScreenPtr | ||||
/* Unwrap CloseScreen. */ | /* Unwrap CloseScreen. */ | ||||
pScreen->CloseScreen = fPtr->CloseScreen; | pScreen->CloseScreen = fPtr->CloseScreen; | ||||
TRACE_EXIT("ScfbCloseScreen"); | TRACE_EXIT("ScfbCloseScreen"); | ||||
- return (*pScreen->CloseScreen)(scrnIndex, pScreen); | - return (*pScreen->CloseScreen)(scrnIndex, pScreen); | ||||
+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); | + return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); | ||||
} | } | ||||
static void * | static void * | ||||
@@ -907,9 +907,9 @@ ScfbWindowLinear(ScreenPtr pScreen, CARD | @@ -907,9 +909,9 @@ ScfbWindowLinear(ScreenPtr pScreen, CARD | ||||
} | } | ||||
static void | static void | ||||
-ScfbPointerMoved(int index, int x, int y) | -ScfbPointerMoved(int index, int x, int y) | ||||
+ScfbPointerMoved(SCRN_ARG_TYPE arg, int x, int y) | +ScfbPointerMoved(SCRN_ARG_TYPE arg, int x, int y) | ||||
{ | { | ||||
- ScrnInfoPtr pScrn = xf86Screens[index]; | - ScrnInfoPtr pScrn = xf86Screens[index]; | ||||
+ SCRN_INFO_PTR(arg); | + SCRN_INFO_PTR(arg); | ||||
ScfbPtr fPtr = SCFBPTR(pScrn); | ScfbPtr fPtr = SCFBPTR(pScrn); | ||||
int newX, newY; | int newX, newY; | ||||
@@ -941,13 +941,13 @@ ScfbPointerMoved(int index, int x, int y | @@ -941,13 +943,13 @@ ScfbPointerMoved(int index, int x, int y | ||||
} | } | ||||
/* Pass adjusted pointer coordinates to wrapped PointerMoved function. */ | /* Pass adjusted pointer coordinates to wrapped PointerMoved function. */ | ||||
- (*fPtr->PointerMoved)(index, newX, newY); | - (*fPtr->PointerMoved)(index, newX, newY); | ||||
+ (*fPtr->PointerMoved)(arg, newX, newY); | + (*fPtr->PointerMoved)(arg, newX, newY); | ||||
} | } | ||||
static Bool | static Bool | ||||
-ScfbEnterVT(int scrnIndex, int flags) | -ScfbEnterVT(int scrnIndex, int flags) | ||||
+ScfbEnterVT(VT_FUNC_ARGS_DECL) | +ScfbEnterVT(VT_FUNC_ARGS_DECL) | ||||
{ | { | ||||
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||||
+ SCRN_INFO_PTR(arg); | + SCRN_INFO_PTR(arg); | ||||
TRACE_ENTER("EnterVT"); | TRACE_ENTER("EnterVT"); | ||||
pScrn->vtSema = TRUE; | pScrn->vtSema = TRUE; | ||||
@@ -956,20 +956,20 @@ ScfbEnterVT(int scrnIndex, int flags) | @@ -956,20 +958,20 @@ ScfbEnterVT(int scrnIndex, int flags) | ||||
} | } | ||||
static void | static void | ||||
-ScfbLeaveVT(int scrnIndex, int flags) | -ScfbLeaveVT(int scrnIndex, int flags) | ||||
+ScfbLeaveVT(VT_FUNC_ARGS_DECL) | +ScfbLeaveVT(VT_FUNC_ARGS_DECL) | ||||
{ | { | ||||
#if DEBUG | #if DEBUG | ||||
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||||
+ SCRN_INFO_PTR(arg); | + SCRN_INFO_PTR(arg); | ||||
#endif | #endif | ||||
TRACE_ENTER("LeaveVT"); | TRACE_ENTER("LeaveVT"); | ||||
} | } | ||||
static Bool | static Bool | ||||
-ScfbSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) | -ScfbSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) | ||||
+ScfbSwitchMode(SWITCH_MODE_ARGS_DECL) | +ScfbSwitchMode(SWITCH_MODE_ARGS_DECL) | ||||
{ | { | ||||
#if DEBUG | #if DEBUG | ||||
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||||
+ SCRN_INFO_PTR(arg); | + SCRN_INFO_PTR(arg); | ||||
#endif | #endif | ||||
TRACE_ENTER("SwitchMode"); | TRACE_ENTER("SwitchMode"); | ||||
@@ -978,10 +978,10 @@ ScfbSwitchMode(int scrnIndex, DisplayMod | @@ -978,10 +980,10 @@ ScfbSwitchMode(int scrnIndex, DisplayMod | ||||
} | } | ||||
static int | static int | ||||
-ScfbValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) | -ScfbValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) | ||||
+ScfbValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) | +ScfbValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) | ||||
{ | { | ||||
#if DEBUG | #if DEBUG | ||||
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||||
+ SCRN_INFO_PTR(arg); | + SCRN_INFO_PTR(arg); | ||||
#endif | #endif | ||||
TRACE_ENTER("ValidMode"); | TRACE_ENTER("ValidMode"); | ||||
@@ -1067,7 +1067,6 @@ static Bool | @@ -1067,7 +1069,6 @@ static Bool | ||||
ScfbDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode) | ScfbDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode) | ||||
{ | { | ||||
DisplayModePtr pMode; | DisplayModePtr pMode; | ||||
- int scrnIdx = pScrn->pScreen->myNum; | - int scrnIdx = pScrn->pScreen->myNum; | ||||
int frameX0, frameY0; | int frameX0, frameY0; | ||||
if (pDGAMode) { | if (pDGAMode) { | ||||
@@ -1081,9 +1080,9 @@ ScfbDGASetMode(ScrnInfoPtr pScrn, DGAMod | @@ -1081,9 +1082,9 @@ ScfbDGASetMode(ScrnInfoPtr pScrn, DGAMod | ||||
frameY0 = pScrn->frameY0; | frameY0 = pScrn->frameY0; | ||||
} | } | ||||
- if (!(*pScrn->SwitchMode)(scrnIdx, pMode, 0)) | - if (!(*pScrn->SwitchMode)(scrnIdx, pMode, 0)) | ||||
+ if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode))) | + if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode))) | ||||
return FALSE; | return FALSE; | ||||
- (*pScrn->AdjustFrame)(scrnIdx, frameX0, frameY0, 0); | - (*pScrn->AdjustFrame)(scrnIdx, frameX0, frameY0, 0); | ||||
+ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, frameX0, frameY0)); | + (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, frameX0, frameY0)); | ||||
return TRUE; | return TRUE; | ||||
} | } | ||||
@@ -1091,7 +1090,7 @@ ScfbDGASetMode(ScrnInfoPtr pScrn, DGAMod | @@ -1091,7 +1092,7 @@ ScfbDGASetMode(ScrnInfoPtr pScrn, DGAMod | ||||
static void | static void | ||||
ScfbDGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags) | ScfbDGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags) | ||||
{ | { | ||||
- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags); | - (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags); | ||||
+ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y)); | + (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y)); | ||||
} | } | ||||
static int | static int |