diff options
author | Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | 2020-04-14 21:59:28 -0700 |
---|---|---|
committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-04-15 10:48:09 -0700 |
commit | abd923dfb2fc3d0e4cdc772112d08802562950c8 (patch) | |
tree | 47436f906e80cda8a27797819ce9994b7e6e73a0 | |
parent | 2a990b3c628e547b42b10d6c67806b52cdd1b3ab (diff) | |
download | meta-xilinx-abd923dfb2fc3d0e4cdc772112d08802562950c8.tar.gz |
xf86-video-armsoc: Bypass the exa layer to free the root pixmap
Since the root pixmap was allocated through miCreateScreenResources,
the exa layer is not aware of the pixmap resulting in the assertion
to fail. This patch fixes this.
Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
2 files changed, 36 insertions, 1 deletions
diff --git a/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch b/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch new file mode 100644 index 00000000..2e024794 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 497de8b16265468cacad880f4a371756924ae0c1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | ||
3 | Date: Tue, 14 Apr 2020 15:25:13 -0700 | ||
4 | Subject: [xf86-video-armsoc][PATCH v2] armsoc_driver.c: Bypass the exa layer | ||
5 | to free the root pixmap | ||
6 | |||
7 | Since the root pixmap was allocated through miCreateScreenResources, | ||
8 | the exa layer is not aware of the pixmap resulting in the assertion | ||
9 | to fail. Instead, we can directly invoke fbDestroyPixmap, thereby | ||
10 | freeing the pixmap and avoiding a memory leak. | ||
11 | |||
12 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | ||
13 | --- | ||
14 | src/armsoc_driver.c | 3 ++- | ||
15 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/src/armsoc_driver.c b/src/armsoc_driver.c | ||
18 | index 3ace3c7..a4a1ba3 100644 | ||
19 | --- a/src/armsoc_driver.c | ||
20 | +++ b/src/armsoc_driver.c | ||
21 | @@ -1259,7 +1259,8 @@ ARMSOCCloseScreen(CLOSE_SCREEN_ARGS_DECL) | ||
22 | * we do it here, before calling the CloseScreen chain which would just free pScreen->devPrivate in fbCloseScreen() | ||
23 | */ | ||
24 | if (pScreen->devPrivate) { | ||
25 | - (void) (*pScreen->DestroyPixmap)(pScreen->devPrivate); | ||
26 | + fbDestroyPixmap (pScreen->devPrivate); | ||
27 | + armsoc_bo_unreference(pARMSOC->scanout); | ||
28 | pScreen->devPrivate = NULL; | ||
29 | } | ||
30 | |||
31 | -- | ||
32 | 2.7.4 | ||
33 | |||
diff --git a/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend b/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend index 3ddcf0b8..955398a3 100644 --- a/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend +++ b/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend | |||
@@ -1,3 +1,5 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/xf86-video-armsoc:" | 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/xf86-video-armsoc:" |
2 | 2 | ||
3 | SRC_URI_append = " file://0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch" | 3 | SRC_URI_append = " file://0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch \ |
4 | file://0001-armsoc_driver.c-Bypass-the-exa-layer-to-free-the-roo.patch \ | ||
5 | " | ||