diff options
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.patch | 88 |
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 + |