aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-graphics/xorg-driver/files/0001-xa-fix-leaked-xa-tracker.patch126
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-freedreno_1.4.0.bb (renamed from recipes-graphics/xorg-driver/xf86-video-freedreno_1.3.0.bb)7
2 files changed, 2 insertions, 131 deletions
diff --git a/recipes-graphics/xorg-driver/files/0001-xa-fix-leaked-xa-tracker.patch b/recipes-graphics/xorg-driver/files/0001-xa-fix-leaked-xa-tracker.patch
deleted file mode 100644
index 68982fb..0000000
--- a/recipes-graphics/xorg-driver/files/0001-xa-fix-leaked-xa-tracker.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 33724ce4711ef98e93a9b16c1b7e974aa11086ed Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Fri, 15 May 2015 19:28:48 -0400
-Subject: [PATCH] xa: fix leaked xa tracker
-
-At CloseScreen, we wouldn't cleanup the XA tracker (so underlying
-pipe_screen never got destroyed, so drm device fd never got closed).
-
-Pull all this into MSMAccelFini() to make things match how things are
-created at ScreenInit.
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
----
- src/msm-accel.c | 28 +++++++++++++++++++++++++++-
- src/msm-driver.c | 14 ++------------
- src/msm-exa-xa.c | 1 +
- src/msm.h | 3 ++-
- 4 files changed, 32 insertions(+), 14 deletions(-)
-
-diff --git a/src/msm-accel.c b/src/msm-accel.c
-index b8d9c0c..2634c27 100644
---- a/src/msm-accel.c
-+++ b/src/msm-accel.c
-@@ -39,7 +39,7 @@
- #endif
-
- Bool
--MSMSetupAccel(ScreenPtr pScreen)
-+MSMAccelInit(ScreenPtr pScreen)
- {
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- MSMPtr pMsm = MSMPTR(pScrn);
-@@ -104,6 +104,32 @@ out:
- }
-
- void
-+MSMAccelFini(ScreenPtr pScreen)
-+{
-+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-+ MSMPtr pMsm = MSMPTR(pScrn);
-+
-+ /* Close DRI2 */
-+ if (pMsm->dri) {
-+ MSMDRI2CloseScreen(pScreen);
-+ }
-+
-+ /* Close EXA */
-+ if (pMsm->pExa) {
-+ exaDriverFini(pScreen);
-+ free(pMsm->pExa);
-+ pMsm->pExa = NULL;
-+ }
-+
-+#ifdef HAVE_XA
-+ if (pMsm->xa) {
-+ xa_tracker_destroy(pMsm->xa);
-+ pMsm->xa = NULL;
-+ }
-+#endif
-+}
-+
-+void
- MSMFlushAccel(ScreenPtr pScreen)
- {
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-diff --git a/src/msm-driver.c b/src/msm-driver.c
-index 824eb17..9cb7da3 100644
---- a/src/msm-driver.c
-+++ b/src/msm-driver.c
-@@ -356,17 +356,7 @@ MSMCloseScreen(CLOSE_SCREEN_ARGS_DECL)
-
- DEBUG_MSG("close screen");
-
-- /* Close DRI2 */
-- if (pMsm->dri) {
-- MSMDRI2CloseScreen(pScreen);
-- }
--
-- /* Close EXA */
-- if (pMsm->pExa) {
-- exaDriverFini(pScreen);
-- free(pMsm->pExa);
-- pMsm->pExa = NULL;
-- }
-+ MSMAccelFini(pScreen);
-
- if (pScrn->vtSema) {
- MSMLeaveVT(VT_FUNC_ARGS(0));
-@@ -459,7 +449,7 @@ MSMScreenInit(SCREEN_INIT_ARGS_DECL)
- /* Set up EXA */
- xf86LoadSubModule(pScrn, "exa");
-
-- if (!MSMSetupAccel(pScreen))
-+ if (!MSMAccelInit(pScreen))
- ERROR_MSG("Unable to setup EXA");
-
- /* Set up the software cursor */
-diff --git a/src/msm-exa-xa.c b/src/msm-exa-xa.c
-index c296ce2..e2ec439 100644
---- a/src/msm-exa-xa.c
-+++ b/src/msm-exa-xa.c
-@@ -745,6 +745,7 @@ XACreatePixmap2(ScreenPtr pScreen, int width, int height,
- uint32_t handle, stride;
- xa_surface_handle(priv->surf, xa_handle_type_kms,
- &handle, &stride);
-+ priv->bo = fd_bo_from_handle(pMsm->dev, handle, 0);
- *new_fb_pitch = stride;
- return priv;
- }
-diff --git a/src/msm.h b/src/msm.h
-index 76bcce5..adc596c 100644
---- a/src/msm.h
-+++ b/src/msm.h
-@@ -129,7 +129,8 @@ struct msm_pixmap_priv {
- #define MSMPTR_FROM_PIXMAP(_x) \
- MSMPTR_FROM_SCREEN((_x)->drawable.pScreen)
-
--Bool MSMSetupAccel(ScreenPtr pScreen);
-+Bool MSMAccelInit(ScreenPtr pScreen);
-+void MSMAccelFini(ScreenPtr pScreen);
- void MSMFlushAccel(ScreenPtr pScreen);
- Bool MSMSetupExa(ScreenPtr, Bool softexa);
- Bool MSMSetupExaXA(ScreenPtr);
---
-2.4.6
-
diff --git a/recipes-graphics/xorg-driver/xf86-video-freedreno_1.3.0.bb b/recipes-graphics/xorg-driver/xf86-video-freedreno_1.4.0.bb
index cccfa85..d48c7e3 100644
--- a/recipes-graphics/xorg-driver/xf86-video-freedreno_1.3.0.bb
+++ b/recipes-graphics/xorg-driver/xf86-video-freedreno_1.4.0.bb
@@ -4,12 +4,9 @@ SUMMARY = "X.Org driver for Adreno mobile GPUs"
#FIXME:
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+SRC_URI[md5sum] = "e0f49b1a07ac2d390a1239701b5fcefc"
+SRC_URI[sha256sum] = "f5abdd0b09b7ba4bab13440667b00b9be72e734a343d35d8876f08e1b93dc6c1"
DEPENDS += "virtual/libx11 drm libpciaccess pixman"
-SRC_URI[md5sum] = "a6bff30ae01a7bb7a3128612d139dacc"
-SRC_URI[sha256sum] = "1c9d872d1e7389c7771c33e0070f6eb730c406511afcda63867b096aa3d9301d"
-
-SRC_URI += "file://0001-xa-fix-leaked-xa-tracker.patch"
-
FILES_${PN} += "${datadir}/X11/xorg.conf.d"