summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/sun4i
diff options
context:
space:
mode:
authorJonathan Liu <net147@gmail.com>2016-08-30 09:55:00 +0300
committerMaxime Ripard <maxime.ripard@free-electrons.com>2016-08-30 15:52:21 +0300
commit4b30950252265140139ce441fd7d8743d1d6052e (patch)
tree75beed94e2695a060f1c68b937d420b79dfe186b /drivers/gpu/drm/sun4i
parentaf346f5570f208dcfb319f1214fcf8ca310c6fdd (diff)
downloadlinux-4b30950252265140139ce441fd7d8743d1d6052e.tar.xz
drm/sun4i: rgb: add missing calls to drm_panel_{prepare,unprepare}
If the enable-gpios property of a simple panel in device tree is set, the GPIO is not toggled on/off because of missing calls to drm_panel_prepare and drm_panel_unprepare. Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'drivers/gpu/drm/sun4i')
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_rgb.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index d4e52522ec53..c07697902ab1 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -151,8 +151,10 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
DRM_DEBUG_DRIVER("Enabling RGB output\n");
- if (!IS_ERR(tcon->panel))
+ if (!IS_ERR(tcon->panel)) {
+ drm_panel_prepare(tcon->panel);
drm_panel_enable(tcon->panel);
+ }
if (!IS_ERR(encoder->bridge))
drm_bridge_enable(encoder->bridge);
@@ -173,8 +175,10 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
if (!IS_ERR(encoder->bridge))
drm_bridge_disable(encoder->bridge);
- if (!IS_ERR(tcon->panel))
+ if (!IS_ERR(tcon->panel)) {
drm_panel_disable(tcon->panel);
+ drm_panel_unprepare(tcon->panel);
+ }
}
static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,