浏览代码

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>
Abhinav Kumar 7 年之前
父节点
当前提交
425a2d24d5
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      drivers/gpu/drm/msm/dsi/dsi_manager.c

+ 4 - 2
drivers/gpu/drm/msm/dsi/dsi_manager.c

@@ -773,6 +773,7 @@ void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags)
 	struct msm_drm_private *priv;
 	struct msm_drm_private *priv;
 	struct msm_kms *kms;
 	struct msm_kms *kms;
 	struct drm_encoder *encoder;
 	struct drm_encoder *encoder;
+	bool cmd_mode;
 
 
 	/*
 	/*
 	 * drm_device pointer is assigned to msm_dsi only in the modeset_init
 	 * 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;
 	priv = dev->dev_private;
 	kms = priv->kms;
 	kms = priv->kms;
 	encoder = msm_dsi_get_encoder(msm_dsi);
 	encoder = msm_dsi_get_encoder(msm_dsi);
+	cmd_mode = !(device_flags &
+				 MIPI_DSI_MODE_VIDEO);
 
 
 	if (encoder && kms->funcs->set_encoder_mode)
 	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)
 int msm_dsi_manager_register(struct msm_dsi *msm_dsi)