alarm/xf86-video-fbturbo-odroid-c2-git to 199.f9a6ed7-3

This commit is contained in:
Kevin Mihelich 2018-05-17 23:24:43 +00:00
parent 06cf1aee46
commit 34885a4f4e
3 changed files with 197 additions and 5 deletions

View file

@ -0,0 +1,157 @@
From 13c287cd2f5ba767057936c88fa79d8b558b0c8f Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 21 May 2014 09:49:56 -0400
Subject: [PATCH 1/2] Use own thunk functions instead of fbdevHW*Weak
I plan to remove the Weak functions from a future server.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
src/fbdev.c | 86 +++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 71 insertions(+), 15 deletions(-)
diff --git a/src/fbdev.c b/src/fbdev.c
index e9ac788..ee9bc46 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -271,6 +271,35 @@ FBDevIdentify(int flags)
xf86PrintChipsets(FBDEV_NAME, "driver for framebuffer", FBDevChipsets);
}
+static Bool
+fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
+{
+ return fbdevHWSwitchMode(pScrn, mode);
+}
+
+static void
+fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
+{
+ fbdevHWAdjustFrame(pScrn, x, y);
+}
+
+static Bool
+fbdevEnterVT(ScrnInfoPtr pScrn)
+{
+ return fbdevHWEnterVT(pScrn);
+}
+
+static void
+fbdevLeaveVT(ScrnInfoPtr pScrn)
+{
+ fbdevHWLeaveVT(pScrn);
+}
+
+static ModeStatus
+fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
+{
+ return fbdevHWValidMode(pScrn, mode, verbose, flags);
+}
#ifdef XSERVER_LIBPCIACCESS
static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
@@ -296,11 +325,11 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
pScrn->Probe = FBDevProbe;
pScrn->PreInit = FBDevPreInit;
pScrn->ScreenInit = FBDevScreenInit;
- pScrn->SwitchMode = fbdevHWSwitchModeWeak();
- pScrn->AdjustFrame = fbdevHWAdjustFrameWeak();
- pScrn->EnterVT = fbdevHWEnterVTWeak();
- pScrn->LeaveVT = fbdevHWLeaveVTWeak();
- pScrn->ValidMode = fbdevHWValidModeWeak();
+ pScrn->SwitchMode = fbdevSwitchMode;
+ pScrn->AdjustFrame = fbdevAdjustFrame;
+ pScrn->EnterVT = fbdevEnterVT;
+ pScrn->LeaveVT = fbdevLeaveVT;
+ pScrn->ValidMode = fbdevValidMode;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"claimed PCI slot %d@%d:%d:%d\n",
@@ -413,11 +442,11 @@ FBDevProbe(DriverPtr drv, int flags)
pScrn->Probe = FBDevProbe;
pScrn->PreInit = FBDevPreInit;
pScrn->ScreenInit = FBDevScreenInit;
- pScrn->SwitchMode = fbdevHWSwitchModeWeak();
- pScrn->AdjustFrame = fbdevHWAdjustFrameWeak();
- pScrn->EnterVT = fbdevHWEnterVTWeak();
- pScrn->LeaveVT = fbdevHWLeaveVTWeak();
- pScrn->ValidMode = fbdevHWValidModeWeak();
+ pScrn->SwitchMode = fbdevSwitchMode;
+ pScrn->AdjustFrame = fbdevAdjustFrame;
+ pScrn->EnterVT = fbdevEnterVT;
+ pScrn->LeaveVT = fbdevLeaveVT;
+ pScrn->ValidMode = fbdevValidMode;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"using %s\n", dev ? dev : "default device");
@@ -678,6 +707,17 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
return TRUE;
}
+static void
+fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
+{
+ shadowUpdateRotatePacked(pScreen, pBuf);
+}
+
+static void
+fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
+{
+ shadowUpdatePacked(pScreen, pBuf);
+}
static Bool
FBDevCreateScreenResources(ScreenPtr pScreen)
@@ -697,7 +737,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen)
pPixmap = pScreen->GetScreenPixmap(pScreen);
if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ?
- shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(),
+ fbdevUpdateRotatePacked : fbdevUpdatePacked,
FBDevWindowLinear, fPtr->rotate, NULL)) {
return FALSE;
}
@@ -721,6 +761,23 @@ FBDevShadowInit(ScreenPtr pScreen)
return TRUE;
}
+static void
+fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis)
+{
+ fbdevHWLoadPalette(pScrn, num, i, col, pVis);
+}
+
+static void
+fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
+{
+ fbdevHWDPMSSet(pScrn, mode, flags);
+}
+
+static Bool
+fbdevSaveScreen(ScreenPtr pScreen, int mode)
+{
+ return fbdevHWSaveScreen(pScreen, mode);
+}
static Bool
FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
@@ -1017,13 +1074,12 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
return FALSE;
}
flags = CMAP_PALETTED_TRUECOLOR;
- if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(),
- NULL, flags))
+ if(!xf86HandleColormaps(pScreen, 256, 8, fbdevLoadPalette, NULL, flags))
return FALSE;
- xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0);
+ xf86DPMSInit(pScreen, fbdevDPMSSet, 0);
- pScreen->SaveScreen = fbdevHWSaveScreenWeak();
+ pScreen->SaveScreen = fbdevSaveScreen;
/* Wrap the current CloseScreen function */
fPtr->CloseScreen = pScreen->CloseScreen;
--
2.17.0

View file

@ -0,0 +1,25 @@
From 37b325852f4d8256de9031170a3bef44bf86c7d6 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 17 May 2018 12:53:53 -0600
Subject: [PATCH 2/2] GCC 8 fix
---
src/fbdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fbdev.c b/src/fbdev.c
index ee9bc46..ac5325f 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -1085,7 +1085,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
fPtr->CloseScreen = pScreen->CloseScreen;
pScreen->CloseScreen = FBDevCloseScreen;
-#if XV
+#ifdef XV
XF86VideoAdaptorPtr *ptr;
int n = xf86XVListGenericAdaptors(pScrn,&ptr);
if (n) {
--
2.17.0

View file

@ -6,23 +6,33 @@ buildarch=8
pkgname=xf86-video-fbturbo-odroid-c2-git
_gitname=xf86-video-fbturbo
pkgver=199.f9a6ed7
pkgrel=2
pkgrel=3
pkgdesc="X.org fbturbo video driver for odroid-c2"
arch=('aarch64')
url="https://github.com/tnmeyer/xf86-video-fbturbo"
license=('MIT')
makedepends=('git' 'xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=23')
conflicts=('xf86-video-fbturbo' 'xorg-server<1.19' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSION>=24')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=24.0' 'git')
conflicts=('xorg-server<1.20' 'X-ABI-VIDEODRV_VERSION<24' 'X-ABI-VIDEODRV_VERSION>=25' 'xf86-video-fbturbo')
options=('!libtool')
provides=('xf86-video-fbturbo')
source=('git+https://github.com/tnmeyer/xf86-video-fbturbo')
md5sums=('SKIP')
source=('git+https://github.com/tnmeyer/xf86-video-fbturbo'
'0001-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch'
'0002-GCC-8-fix.patch')
md5sums=('SKIP'
'72a407d0ef8d8836974aed6ccfe88c6d'
'fd0c18383851ad756316aeb0a03a1310')
pkgver() {
cd "${SRCDEST}/${_gitname}"
echo $(git rev-list --count master).$(git rev-parse --short master)
}
prepare() {
cd "${srcdir}/${_gitname}"
patch -p1 -i ../0001-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch
patch -p1 -i ../0002-GCC-8-fix.patch
}
build() {
cd "${srcdir}/${_gitname}"
./autogen.sh