summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch')
-rw-r--r--meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch b/meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch
new file mode 100644
index 000000000..2ef1129ce
--- /dev/null
+++ b/meta-agl-bsp/meta-renesas/recipes-kernel/linux/linux/hibernation/0002-Fix-Black-blink-correction-of-display.patch
@@ -0,0 +1,88 @@
+From 175a91f2068c5cb4a9be5aa1ea5f1e24e2919bbb Mon Sep 17 00:00:00 2001
+From: Yuichi Kusakabe <yuichi.kusakabe@jp.fujitsu.com>
+Date: Fri, 9 Jun 2017 20:13:59 +0900
+Subject: [PATCH 2/3] Fix Black blink correction of display
+
+Signed-off-by: Yuichi Kusakabe <yuichi.kusakabe@jp.fujitsu.com>
+---
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 1 +
+ drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 1 +
+ drivers/gpu/drm/rcar-du/rcar_du_drv.c | 13 ++++---------
+ drivers/gpu/drm/rcar-du/rcar_du_group.c | 4 ++--
+ 4 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+index 262d8a8d..ab3bb09 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
++++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+@@ -1027,4 +1027,5 @@ void rcar_du_crtc_enable_vblank(struct rcar_du_crtc *rcrtc, bool enable)
+ } else {
+ rcar_du_crtc_clr(rcrtc, DIER, DIER_VBE);
+ }
++ rcrtc->vblank_enable = enable;
+ }
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
+index 6cdd02e6..19c0d69 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
++++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
+@@ -49,6 +49,7 @@ struct rcar_du_crtc {
+ int lif_enable;
+ void *vpsd_handle;
+ #endif
++ bool vblank_enable;
+ };
+
+ #define to_rcar_crtc(c) container_of(c, struct rcar_du_crtc, crtc)
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+index fbb212c..f83501d 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
++++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+@@ -517,7 +517,7 @@ static int rcar_du_pm_resume(struct device *dev)
+
+ return 0;
+ }
+-#ifdef CONFIG_MACH_FTEN
++
+ static int rcar_du_pm_freeze(struct device *dev)
+ {
+ int ret;
+@@ -546,18 +546,13 @@ static int rcar_du_pm_restore(struct device *dev)
+ return ret;
+ }
+ #endif
+-#endif
++
+ static const struct dev_pm_ops rcar_du_pm_ops = {
+-#if defined(CONFIG_MACH_FTEN) && defined(CONFIG_HIBERNATION) && \
+- defined(CONFIG_PM_SLEEP)
+- .suspend = rcar_du_pm_suspend,
+- .resume = rcar_du_pm_resume,
++ SET_SYSTEM_SLEEP_PM_OPS(rcar_du_pm_suspend, rcar_du_pm_resume)
++#ifdef CONFIG_HIBERNATION
+ .freeze = rcar_du_pm_freeze,
+ .thaw = rcar_du_pm_thaw,
+- .poweroff = rcar_du_pm_suspend,
+ .restore = rcar_du_pm_restore,
+-#else
+- SET_SYSTEM_SLEEP_PM_OPS(rcar_du_pm_suspend, rcar_du_pm_resume)
+ #endif
+ };
+
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_group.c b/drivers/gpu/drm/rcar-du/rcar_du_group.c
+index 3620040..0e571d4 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_group.c
++++ b/drivers/gpu/drm/rcar-du/rcar_du_group.c
+@@ -151,8 +151,8 @@ void rcar_du_group_start_stop(struct rcar_du_group *rgrp, bool start)
+ * when the display controller will have to be restarted.
+ */
+ if (start) {
+- if (rgrp->used_crtcs++ != 0)
+- __rcar_du_group_start_stop(rgrp, false);
++ rgrp->used_crtcs++;
++ __rcar_du_group_start_stop(rgrp, false);
+ __rcar_du_group_start_stop(rgrp, true);
+ } else {
+ if (--rgrp->used_crtcs == 0)
+--
+1.8.3.1
+