diff mbox series

drm/msm/dpu: Allocate the number of LMs based on max_mixer_width to support 4 streams MST case

Message ID 20250211-dp_lm-v1-1-deeca9ac9bd9@quicinc.com (mailing list archive)
State New, archived
Headers show
Series drm/msm/dpu: Allocate the number of LMs based on max_mixer_width to support 4 streams MST case | expand

Commit Message

Yongxing Mou Feb. 11, 2025, 10:37 a.m. UTC
In 2x2 mst case, each 2k monitor will use 2 lms, but dpu_8_4 only have
6 lms, so let 2k only use one lm to support such case.

Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


---
base-commit: df5d6180169ae06a2eac57e33b077ad6f6252440
change-id: 20250211-dp_lm-8f8ef15f5955

Best regards,

Comments

Dmitry Baryshkov Feb. 12, 2025, 12:07 a.m. UTC | #1
On Tue, Feb 11, 2025 at 06:37:43PM +0800, Yongxing Mou wrote:
> In 2x2 mst case, each 2k monitor will use 2 lms, but dpu_8_4 only have
> 6 lms, so let 2k only use one lm to support such case.

DisplayPort MST is not supported. Please work with Abhinav to get it
into his patch. Also it's LM and LMs.

> 
> Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>

This list of SoBs doesn't make sense.

> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 5172ab4dea995a154cd88d05c3842d7425fc34ce..e8846bf8edc5f9b2b3b7f093e4d5aad75de53da1 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -677,7 +677,8 @@ static struct msm_display_topology dpu_encoder_get_topology(
>  	else if (!dpu_kms->catalog->caps->has_3d_merge)
>  		topology.num_lm = 1;
>  	else
> -		topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
> +		topology.num_lm = (mode->hdisplay > dpu_kms->catalog->caps->max_mixer_width) ?
> +				   2 : 1;

Please extend commit message to describe how your change affects other
platforms.

>  
>  	if (crtc_state->ctm)
>  		topology.num_dspp = topology.num_lm;
> 
> ---
> base-commit: df5d6180169ae06a2eac57e33b077ad6f6252440
> change-id: 20250211-dp_lm-8f8ef15f5955
> 
> Best regards,
> -- 
> Yongxing Mou <quic_yongmou@quicinc.com>
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index 5172ab4dea995a154cd88d05c3842d7425fc34ce..e8846bf8edc5f9b2b3b7f093e4d5aad75de53da1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -677,7 +677,8 @@  static struct msm_display_topology dpu_encoder_get_topology(
 	else if (!dpu_kms->catalog->caps->has_3d_merge)
 		topology.num_lm = 1;
 	else
-		topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
+		topology.num_lm = (mode->hdisplay > dpu_kms->catalog->caps->max_mixer_width) ?
+				   2 : 1;
 
 	if (crtc_state->ctm)
 		topology.num_dspp = topology.num_lm;