summaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2016-05-03 21:38:31 +1000
committerNathan Rossi <nathan@nathanrossi.com>2016-05-03 21:51:05 +1000
commitbc9a47a99cc6d10e102d4197760dbad004b0ebfd (patch)
tree04598e938f763488081cbaf2bfbd25f9db2596a4 /recipes-kernel
parent1b1ac14f22f2cfd03a38301a921758f29ac08a11 (diff)
downloadmeta-xilinx-bc9a47a99cc6d10e102d4197760dbad004b0ebfd.tar.gz
linux-xlnx_4.4: Add patch to resolve DPMS issues
This patch works around the issues with the Xilinx DRM drive to allow for the transition from DPMS off to DPMS on. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-xlnx/drm-xilinx-Fix-DPMS-transition-to-on.patch46
-rw-r--r--recipes-kernel/linux/linux-xlnx_4.4.bb3
2 files changed, 48 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-xlnx/drm-xilinx-Fix-DPMS-transition-to-on.patch b/recipes-kernel/linux/linux-xlnx/drm-xilinx-Fix-DPMS-transition-to-on.patch
new file mode 100644
index 00000000..d60a7514
--- /dev/null
+++ b/recipes-kernel/linux/linux-xlnx/drm-xilinx-Fix-DPMS-transition-to-on.patch
@@ -0,0 +1,46 @@
1From e4264e80116684297e353f6da4156c4ad6f8a03a Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan@nathanrossi.com>
3Date: Mon, 2 May 2016 23:46:42 +1000
4Subject: [PATCH] drm: xilinx: Fix DPMS transition to on
5
6Fix the issues where the VTC is reset (losing its timing config) as well
7as fixing the issue where the plane destroys its DMA descriptor but
8never recreates it when turning back on.
9
10Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
11Upstream-Status: Pending [This is a workaround]
12---
13 drivers/gpu/drm/xilinx/xilinx_drm_crtc.c | 2 +-
14 drivers/gpu/drm/xilinx/xilinx_drm_plane.c | 3 ++-
15 2 files changed, 3 insertions(+), 2 deletions(-)
16
17diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
18index 5925d11..ddb75fc 100644
19--- a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
20+++ b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
21@@ -78,7 +78,7 @@ static void xilinx_drm_crtc_dpms(struct drm_crtc *base_crtc, int dpms)
22 default:
23 if (crtc->vtc) {
24 xilinx_vtc_disable(crtc->vtc);
25- xilinx_vtc_reset(crtc->vtc);
26+ /*xilinx_vtc_reset(crtc->vtc);*/
27 }
28 if (crtc->cresample) {
29 xilinx_cresample_disable(crtc->cresample);
30diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
31index 8a86735..6de8eb7 100644
32--- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
33+++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
34@@ -146,7 +146,8 @@ void xilinx_drm_plane_dpms(struct drm_plane *base_plane, int dpms)
35 }
36
37 /* start dma engine */
38- dma_async_issue_pending(plane->dma.chan);
39+ /*dma_async_issue_pending(plane->dma.chan);*/
40+ xilinx_drm_plane_commit(base_plane);
41
42 if (plane->rgb2yuv)
43 xilinx_rgb2yuv_enable(plane->rgb2yuv);
44--
452.8.1
46
diff --git a/recipes-kernel/linux/linux-xlnx_4.4.bb b/recipes-kernel/linux/linux-xlnx_4.4.bb
index 5d78d3ac..2fc1cc56 100644
--- a/recipes-kernel/linux/linux-xlnx_4.4.bb
+++ b/recipes-kernel/linux/linux-xlnx_4.4.bb
@@ -7,4 +7,5 @@ include linux-xlnx.inc
7SRC_URI_append_zybo-linux-bd-zynq7 = " \ 7SRC_URI_append_zybo-linux-bd-zynq7 = " \
8 file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \ 8 file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \
9 file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \ 9 file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \
10" \ No newline at end of file 10 file://drm-xilinx-Fix-DPMS-transition-to-on.patch \
11 "