drm/msm/dsi: set encoder mode for DRM bridge explicitly

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>
This commit is contained in:
Abhinav Kumar 2018-06-15 22:56:59 -07:00 committed by Sean Paul
parent 7a296796fd
commit 425a2d24d5

View 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)