drm/tilcdc: panel: Set crtc panel info at init phase
authorJyri Sarha <jsarha@ti.com>
Wed, 13 Apr 2016 15:45:29 +0000 (18:45 +0300)
committerJyri Sarha <jsarha@ti.com>
Mon, 8 Aug 2016 20:05:10 +0000 (23:05 +0300)
Set crtc panel info at init phase. Setting it at prepare callback does
it multiple times for no good reason and it is also too late when atomic
modeset is used.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
drivers/gpu/drm/tilcdc/tilcdc_panel.c

index ff7774c17d7cd4ccfbf6af4a066ef1177d20f227..9874881f418a93fdc745a859b407847d8ae8a6ac 100644 (file)
@@ -64,9 +64,7 @@ static void panel_encoder_dpms(struct drm_encoder *encoder, int mode)
 
 static void panel_encoder_prepare(struct drm_encoder *encoder)
 {
-       struct panel_encoder *panel_encoder = to_panel_encoder(encoder);
        panel_encoder_dpms(encoder, DRM_MODE_DPMS_OFF);
-       tilcdc_crtc_set_panel_info(encoder->crtc, panel_encoder->mod->info);
 }
 
 static void panel_encoder_commit(struct drm_encoder *encoder)
@@ -268,6 +266,9 @@ static int panel_modeset_init(struct tilcdc_module *mod, struct drm_device *dev)
        priv->encoders[priv->num_encoders++] = encoder;
        priv->connectors[priv->num_connectors++] = connector;
 
+       tilcdc_crtc_set_panel_info(priv->crtc,
+                                  to_panel_encoder(encoder)->mod->info);
+
        return 0;
 }