diff mbox series

[v4,15/16] drm/msm/dpu: Disable SSPP multi-rect mode for every pair

Message ID 20250116-sm8650-v6-13-hmd-deckard-mdss-quad-upstream-33-v4-15-74749c6eba33@linaro.org (mailing list archive)
State New
Headers show
Series drm/msm/dpu: Support quad pipe with dual-DSI | expand

Commit Message

Jun Nie Jan. 16, 2025, 7:26 a.m. UTC
Currently, 2 pipes are supported at most. It is enough to check id to
know which pipe is in multi-rect mode and disable it. Multiple pairs
are used and need to check multirect_index to decide what pipes are in
multi-rect mode to disable them.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dmitry Baryshkov Jan. 16, 2025, 8:19 a.m. UTC | #1
On Thu, Jan 16, 2025 at 03:26:04PM +0800, Jun Nie wrote:
> Currently, 2 pipes are supported at most. It is enough to check id to
> know which pipe is in multi-rect mode and disable it. Multiple pairs
> are used and need to check multirect_index to decide what pipes are in
> multi-rect mode to disable them.
> 
> Signed-off-by: Jun Nie <jun.nie@linaro.org>
> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> index d96f4405a4c26..d2e0fcfbc30cd 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> @@ -1480,7 +1480,7 @@ static void _dpu_plane_atomic_disable(struct drm_plane *plane)
>  		 * clear multirect for the right pipe so that the SSPP
>  		 * can be further reused in the solo mode
>  		 */
> -		if (pipe->sspp && i == 1) {
> +		if (pipe->sspp && pipe->multirect_index == DPU_SSPP_RECT_1) {

I don't fully appreciate this change. I'd really rather keep it as
i % PIPES_PER_STAGE != 0

>  			pipe->multirect_index = DPU_SSPP_RECT_SOLO;
>  			pipe->multirect_mode = DPU_SSPP_MULTIRECT_NONE;
>  
> 
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index d96f4405a4c26..d2e0fcfbc30cd 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -1480,7 +1480,7 @@  static void _dpu_plane_atomic_disable(struct drm_plane *plane)
 		 * clear multirect for the right pipe so that the SSPP
 		 * can be further reused in the solo mode
 		 */
-		if (pipe->sspp && i == 1) {
+		if (pipe->sspp && pipe->multirect_index == DPU_SSPP_RECT_1) {
 			pipe->multirect_index = DPU_SSPP_RECT_SOLO;
 			pipe->multirect_mode = DPU_SSPP_MULTIRECT_NONE;