Browse Source

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>
Jonathan Liu 9 years ago
parent
commit
4b30950252
1 changed files with 6 additions and 2 deletions
  1. 6 2
      drivers/gpu/drm/sun4i/sun4i_rgb.c

+ 6 - 2
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,