OSDN Git Service

drm/msm/dsi: set encoder mode for DRM bridge explicitly
authorAbhinav Kumar <abhinavk@codeaurora.org>
Sat, 16 Jun 2018 05:56:59 +0000 (22:56 -0700)
committerSean Paul <seanpaul@chromium.org>
Thu, 26 Jul 2018 14:40:14 +0000 (10:40 -0400)
Currently, DRM bridge for DPU relies on the default video
mode setting to set the encoder mode.

Add an explicit call to set the encoder mode for bridges.

Changes in v3:
- None

Reviewed-by: Archit Taneja <architt@codeauorora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/dsi/dsi_manager.c

index 8422b87..5224010 100644 (file)
@@ -773,6 +773,7 @@ void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags)
        struct msm_drm_private *priv;
        struct msm_kms *kms;
        struct drm_encoder *encoder;
+       bool cmd_mode;
 
        /*
         * drm_device pointer is assigned to msm_dsi only in the modeset_init
@@ -787,10 +788,11 @@ void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags)
        priv = dev->dev_private;
        kms = priv->kms;
        encoder = msm_dsi_get_encoder(msm_dsi);
+       cmd_mode = !(device_flags &
+                                MIPI_DSI_MODE_VIDEO);
 
        if (encoder && kms->funcs->set_encoder_mode)
-               if (!(device_flags & MIPI_DSI_MODE_VIDEO))
-                       kms->funcs->set_encoder_mode(kms, encoder, true);
+               kms->funcs->set_encoder_mode(kms, encoder, cmd_mode);
 }
 
 int msm_dsi_manager_register(struct msm_dsi *msm_dsi)