Browse Source

imx-drm: parallel-display: Fix drm_panel support

Call drm_panel_enable/disable in reaction to encoder_commit
and encoder_disable callbacks.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Philipp Zabel 10 năm trước cách đây
mục cha
commit
ad92c8bfff

+ 8 - 0
drivers/staging/imx-drm/parallel-display.c

@@ -128,6 +128,10 @@ static void imx_pd_encoder_prepare(struct drm_encoder *encoder)
 
 
 static void imx_pd_encoder_commit(struct drm_encoder *encoder)
 static void imx_pd_encoder_commit(struct drm_encoder *encoder)
 {
 {
+	struct imx_parallel_display *imxpd = enc_to_imxpd(encoder);
+
+	drm_panel_prepare(imxpd->panel);
+	drm_panel_enable(imxpd->panel);
 }
 }
 
 
 static void imx_pd_encoder_mode_set(struct drm_encoder *encoder,
 static void imx_pd_encoder_mode_set(struct drm_encoder *encoder,
@@ -138,6 +142,10 @@ static void imx_pd_encoder_mode_set(struct drm_encoder *encoder,
 
 
 static void imx_pd_encoder_disable(struct drm_encoder *encoder)
 static void imx_pd_encoder_disable(struct drm_encoder *encoder)
 {
 {
+	struct imx_parallel_display *imxpd = enc_to_imxpd(encoder);
+
+	drm_panel_disable(imxpd->panel);
+	drm_panel_unprepare(imxpd->panel);
 }
 }
 
 
 static struct drm_connector_funcs imx_pd_connector_funcs = {
 static struct drm_connector_funcs imx_pd_connector_funcs = {