summaryrefslogtreecommitdiffstats
path: root/abs/core/xf86-video-vga/pciaccess.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/xf86-video-vga/pciaccess.patch')
-rw-r--r--abs/core/xf86-video-vga/pciaccess.patch371
1 files changed, 0 insertions, 371 deletions
diff --git a/abs/core/xf86-video-vga/pciaccess.patch b/abs/core/xf86-video-vga/pciaccess.patch
deleted file mode 100644
index 141701f..0000000
--- a/abs/core/xf86-video-vga/pciaccess.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-From: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
-Date: Fri, 18 Jul 2008 21:27:26 +0000 (-0300)
-Subject: Add libpciaccess and remove xf1bpp and xf4bpp support.
-X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-vga.git;a=commitdiff;h=97e2d12548921d92b6dc2dcce8abee48f25981d2
-
-Add libpciaccess and remove xf1bpp and xf4bpp support.
-
- The driver is not fully functional, starts at 320x200, but may require
-running something like vbetool post before starting the X Server, and does
-not restore console as usually linux consoles use vesafb, but should work
-correctly if console is in a "standard vga mode".
----
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -57,6 +57,22 @@ PKG_CHECK_MODULES(XORG, [xorg-server >=
- sdkdir=$(pkg-config --variable=sdkdir xorg-server)
-
- # Checks for libraries.
-+SAVE_CPPFLAGS="$CPPFLAGS"
-+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
-+AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
-+ [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
-+ [#include "xorg-server.h"])
-+AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[])
-+AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[])
-+CPPFLAGS="$SAVE_CPPFLAGS"
-+
-+if test "x$XSERVER_LIBPCIACCESS" = xyes; then
-+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
-+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
-+fi
-+AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-+
-+# Checks for libraries.
-
- # Checks for header files.
- AC_HEADER_STDC
---- a/src/generic.c
-+++ b/src/generic.c
-@@ -50,8 +50,13 @@
-
- #include "fb.h"
-
-+#if HAVE_XF4BPP
- #include "xf4bpp.h"
-+#endif
-+
-+#if HAVE_XF1BPP
- #include "xf1bpp.h"
-+#endif
-
- #include "shadowfb.h"
-
-@@ -62,6 +67,10 @@
- #include "xf86Resources.h"
- #include "xf86int10.h"
-
-+#ifdef XSERVER_LIBPCIACCESS
-+#include <pciaccess.h>
-+#endif
-+
- /* Some systems #define VGA for their own purposes */
- #undef VGA
-
-@@ -79,10 +88,31 @@
- #define CLOCK_TOLERANCE 2000 /* Clock matching tolerance (2MHz) */
- #endif
-
-+/*
-+ * This structure is used to wrap the screen's CloseScreen vector.
-+ */
-+typedef struct _GenericRec
-+{
-+ Bool ShadowFB;
-+ Bool KGAUniversal;
-+ CARD8 * ShadowPtr;
-+ CARD32 ShadowPitch;
-+ CloseScreenProcPtr CloseScreen;
-+ OptionInfoPtr Options;
-+#ifdef XSERVER_LIBPCIACCESS
-+ struct pci_device *pciInfo;
-+#endif
-+} GenericRec, *GenericPtr;
-+
-+
- /* Forward definitions */
- static const OptionInfoRec *GenericAvailableOptions(int chipid, int busid);
- static void GenericIdentify(int);
- static Bool GenericProbe(DriverPtr, int);
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool GenericPciProbe(DriverPtr drv, int entity_num,
-+ struct pci_device *dev, intptr_t match_data);
-+#endif
- static Bool GenericPreInit(ScrnInfoPtr, int);
- static Bool GenericScreenInit(int, ScreenPtr, int, char **);
- static Bool GenericSwitchMode(int, DisplayModePtr, int);
-@@ -97,6 +127,24 @@ static Bool GenericMapMe
-
- static ModeStatus GenericValidMode(int, DisplayModePtr, Bool, int);
-
-+static GenericPtr GenericGetRec(ScrnInfoPtr pScreenInfo);
-+
-+enum GenericTypes
-+{
-+ CHIP_VGA_GENERIC
-+};
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+static const struct pci_id_match generic_device_match[] = {
-+ {
-+ PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
-+ 0x00030000, 0x00ffffff, CHIP_VGA_GENERIC
-+ },
-+
-+ { 0, 0, 0 },
-+};
-+#endif
-+
- /* The root of all evil... */
- _X_EXPORT DriverRec VGA =
- {
-@@ -106,7 +154,13 @@ _X_EXPORT DriverRec VGA =
- GenericProbe,
- GenericAvailableOptions,
- NULL,
-- 0
-+ 0,
-+ NULL,
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+ generic_device_match,
-+ GenericPciProbe
-+#endif
- };
-
- typedef enum
-@@ -146,8 +200,12 @@ static const char *vgahwSymbols[] =
- #ifdef XFree86LOADER
- static const char *miscfbSymbols[] =
- {
-+#if HAVE_XF1BPP
- "xf1bppScreenInit",
-+#endif
-+#if HAVE_XF4BPP
- "xf4bppScreenInit",
-+#endif
- NULL
- };
- #endif
-@@ -210,7 +268,13 @@ GenericSetup(pointer Module, pointer Opt
- if (!Initialised)
- {
- Initialised = TRUE;
-- xf86AddDriver(&VGA, Module, 0);
-+ xf86AddDriver(&VGA, Module,
-+#ifdef XSERVER_LIBPCIACCESS
-+ HaveDriverFuncs
-+#else
-+ 0
-+#endif
-+ );
- LoaderRefSymLists(vgahwSymbols, miscfbSymbols, fbSymbols,
- shadowfbSymbols, int10Symbols, NULL);
- return (pointer)TRUE;
-@@ -224,11 +288,6 @@ GenericSetup(pointer Module, pointer Opt
- #endif
-
-
--enum GenericTypes
--{
-- CHIP_VGA_GENERIC
--};
--
- /* Supported chipsets */
- static SymTabRec GenericChipsets[] =
- {
-@@ -236,11 +295,13 @@ static SymTabRec GenericChipsets[] =
- {-1, NULL}
- };
-
-+#ifndef XSERVER_LIBPCIACCESS
- static PciChipsets GenericPCIchipsets[] =
- {
- {CHIP_VGA_GENERIC, PCI_CHIP_VGA, RES_SHARED_VGA},
- {-1, -1, RES_UNDEFINED},
- };
-+#endif
-
- static IsaChipsets GenericISAchipsets[] =
- {
-@@ -267,6 +328,37 @@ GenericAvailableOptions(int chipid, int
- * do a minimal probe for supported hardware.
- */
-
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool
-+GenericPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
-+ intptr_t match_data)
-+{
-+ ScrnInfoPtr pScrn;
-+
-+ pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
-+ NULL, NULL, NULL, NULL, NULL);
-+ if (pScrn != NULL) {
-+ GenericPtr pGeneric = GenericGetRec(pScrn);
-+
-+ pScrn->driverVersion = VGA_VERSION_CURRENT;
-+ pScrn->driverName = VGA_DRIVER_NAME;
-+ pScrn->name = VGA_NAME;
-+ pScrn->Probe = GenericProbe;
-+ pScrn->PreInit = GenericPreInit;
-+ pScrn->ScreenInit = GenericScreenInit;
-+ pScrn->SwitchMode = GenericSwitchMode;
-+ pScrn->AdjustFrame = GenericAdjustFrame;
-+ pScrn->EnterVT = GenericEnterVT;
-+ pScrn->LeaveVT = GenericLeaveVT;
-+ pScrn->FreeScreen = GenericFreeScreen;
-+
-+ pGeneric->pciInfo = dev;
-+ }
-+
-+ return (pScrn != NULL);
-+}
-+#endif
-+
- static Bool
- GenericProbe(DriverPtr drv, int flags)
- {
-@@ -283,6 +375,7 @@ GenericProbe(DriverPtr drv, int flags)
- if ((numDevSections = xf86MatchDevice(VGA_NAME, &devSections)) <= 0)
- return FALSE;
-
-+#ifndef XSERVER_LIBPCIACCESS
- /* PCI BUS */
- if (xf86GetPciVideoInfo())
- {
-@@ -324,6 +417,7 @@ GenericProbe(DriverPtr drv, int flags)
- xfree(usedChips);
- }
- }
-+#endif
-
- /* Isa Bus */
- numUsed = xf86MatchIsaInstances(VGA_NAME, GenericChipsets,
-@@ -391,20 +485,6 @@ VGAFindIsaDevice(GDevPtr dev)
- return (int)CHIP_VGA_GENERIC;
- }
-
--/*
-- * This structure is used to wrap the screen's CloseScreen vector.
-- */
--typedef struct _GenericRec
--{
-- Bool ShadowFB;
-- Bool KGAUniversal;
-- CARD8 * ShadowPtr;
-- CARD32 ShadowPitch;
-- CloseScreenProcPtr CloseScreen;
-- OptionInfoPtr Options;
--} GenericRec, *GenericPtr;
--
--
- static GenericPtr
- GenericGetRec(ScrnInfoPtr pScreenInfo)
- {
-@@ -509,8 +589,14 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
-
- switch (pScreenInfo->depth)
- {
-- case 1: Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-- case 4: Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+ case 1:
-+#if HAVE_XF1BPP
-+ Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-+#endif
-+ case 4:
-+#if HAVE_XF4BPP
-+ Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+#endif
- case 8: Module = "fb"; break;
-
- default:
-@@ -673,6 +759,8 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- /* Set display resolution */
- xf86SetDpi(pScreenInfo, 0, 0);
-
-+
-+#if HAVE_XF1BPP && HAVE_XF4BPP
- if (xf86ReturnOptValBool(pGenericPriv->Options, OPTION_SHADOW_FB, FALSE))
- {
- pGenericPriv->ShadowFB = TRUE;
-@@ -688,7 +776,7 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- "Enabling universal \"KGA\" treatment.\n");
- }
-
--#ifdef SPECIAL_FB_BYTE_ACCESS
-+# ifdef SPECIAL_FB_BYTE_ACCESS
- if (!pGenericPriv->ShadowFB && (pScreenInfo->depth == 4))
- {
- xf86DrvMsg(pScreenInfo->scrnIndex, X_INFO,
-@@ -696,8 +784,13 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- " ShadowFB enabled.\n");
- pGenericPriv->ShadowFB = TRUE;
- }
-+# endif
-+
-+#else
-+ pGenericPriv->ShadowFB = TRUE;
- #endif
-
-+
- if (pGenericPriv->ShadowFB)
- {
- pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
-@@ -1378,6 +1471,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea1bpp);
- }
-+#if HAVE_XF1BPP
- else
- {
- Inited = xf1bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1386,6 +1480,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 4:
- if (pGenericPriv->ShadowFB)
-@@ -1410,6 +1505,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea4bpp);
- }
-+#if HAVE_XF4BPP
- else
- {
- Inited = xf4bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1418,6 +1514,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 8:
- Inited = fbScreenInit(pScreen, pvgaHW->Base,
-@@ -1579,6 +1676,9 @@ GenericMapMem(ScrnInfoPtr scrp)
- {
- vgaHWPtr hwp = VGAHWPTR(scrp);
- int scr_index = scrp->scrnIndex;
-+#ifdef XSERVER_LIBPCIACCESS
-+ GenericPtr pPriv = GenericGetRec(scrp);
-+#endif
-
- if (hwp->Base)
- return TRUE;
-@@ -1589,7 +1689,12 @@ GenericMapMem(ScrnInfoPtr scrp)
- if (hwp->MapPhys == 0)
- hwp->MapPhys = VGA_DEFAULT_PHYS_ADDR;
-
-- hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO, hwp->Tag,
-+ hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO,
-+#ifdef XSERVER_LIBPCIACCESS
-+ pPriv->pciInfo,
-+#else
-+ hwp->Tag,
-+#endif
- hwp->MapPhys, hwp->MapSize);
- return hwp->Base != NULL;
- }