diff mbox series

drm/msm/dpu: Adjust CDM_MUX to support CWB PINGPONG

Message ID 20250305-cdm-cwb-mux-fix-v1-1-16148ca6e4d2@quicinc.com (mailing list archive)
State New
Headers show
Series drm/msm/dpu: Adjust CDM_MUX to support CWB PINGPONG | expand

Commit Message

Jessica Zhang March 6, 2025, 3:16 a.m. UTC
Similar to WB_MUX, CDM_MUX also needs to be adjusted to support
dedicated CWB PINGPONGs

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


---
base-commit: 6d3175a72cc07e90f81fb35841048a8a9b5134cb
change-id: 20250305-cdm-cwb-mux-fix-69ed5297d4f7

Best regards,

Comments

Abhinav Kumar March 6, 2025, 5:15 a.m. UTC | #1
On 3/5/2025 7:16 PM, Jessica Zhang wrote:
> Similar to WB_MUX, CDM_MUX also needs to be adjusted to support
> dedicated CWB PINGPONGs
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 

Not exactly sure which fixes tag to use here, but
since this should have ideally been addressed together while adding the 
WB mux programming to handle CWB, I am going with

Fixes: a31a610fd44b ("drm/msm/dpu: add CWB support to dpu_hw_wb")

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> index ae1534c49ae0..3f88c3641d4a 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> @@ -214,7 +214,9 @@ static void dpu_hw_cdm_bind_pingpong_blk(struct dpu_hw_cdm *ctx, const enum dpu_
>   	mux_cfg = DPU_REG_READ(c, CDM_MUX);
>   	mux_cfg &= ~0xf;
>   
> -	if (pp)
> +	if (pp >= PINGPONG_CWB_0)
> +		mux_cfg |= 0xd;
> +	else if (pp)
>   		mux_cfg |= (pp - PINGPONG_0) & 0x7;
>   	else
>   		mux_cfg |= 0xf;
> 
> ---
> base-commit: 6d3175a72cc07e90f81fb35841048a8a9b5134cb
> change-id: 20250305-cdm-cwb-mux-fix-69ed5297d4f7
> 
> Best regards,
Dmitry Baryshkov March 6, 2025, 6:44 a.m. UTC | #2
On Wed, Mar 05, 2025 at 07:16:51PM -0800, Jessica Zhang wrote:
> Similar to WB_MUX, CDM_MUX also needs to be adjusted to support
> dedicated CWB PINGPONGs
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> index ae1534c49ae0..3f88c3641d4a 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> @@ -214,7 +214,9 @@ static void dpu_hw_cdm_bind_pingpong_blk(struct dpu_hw_cdm *ctx, const enum dpu_
>  	mux_cfg = DPU_REG_READ(c, CDM_MUX);
>  	mux_cfg &= ~0xf;
>  
> -	if (pp)
> +	if (pp >= PINGPONG_CWB_0)
> +		mux_cfg |= 0xd;

Shouldn't it be 0xb for PINGPONG_CWB_2 and 3?

> +	else if (pp)
>  		mux_cfg |= (pp - PINGPONG_0) & 0x7;
>  	else
>  		mux_cfg |= 0xf;
> 
> ---
> base-commit: 6d3175a72cc07e90f81fb35841048a8a9b5134cb
> change-id: 20250305-cdm-cwb-mux-fix-69ed5297d4f7
> 
> Best regards,
> -- 
> Jessica Zhang <quic_jesszhan@quicinc.com>
>
Dmitry Baryshkov March 6, 2025, 6:46 a.m. UTC | #3
On Wed, Mar 05, 2025 at 09:15:10PM -0800, Abhinav Kumar wrote:
> 
> 
> On 3/5/2025 7:16 PM, Jessica Zhang wrote:
> > Similar to WB_MUX, CDM_MUX also needs to be adjusted to support
> > dedicated CWB PINGPONGs
> > 
> > Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> > ---
> >   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c | 4 +++-
> >   1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> 
> Not exactly sure which fixes tag to use here, but
> since this should have ideally been addressed together while adding the WB
> mux programming to handle CWB, I am going with
> 
> Fixes: a31a610fd44b ("drm/msm/dpu: add CWB support to dpu_hw_wb")

I don't think it needs Fixes tag. The patch is good to go on its own.

> 
> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> 
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> > index ae1534c49ae0..3f88c3641d4a 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
> > @@ -214,7 +214,9 @@ static void dpu_hw_cdm_bind_pingpong_blk(struct dpu_hw_cdm *ctx, const enum dpu_
> >   	mux_cfg = DPU_REG_READ(c, CDM_MUX);
> >   	mux_cfg &= ~0xf;
> > -	if (pp)
> > +	if (pp >= PINGPONG_CWB_0)
> > +		mux_cfg |= 0xd;
> > +	else if (pp)
> >   		mux_cfg |= (pp - PINGPONG_0) & 0x7;
> >   	else
> >   		mux_cfg |= 0xf;
> > 
> > ---
> > base-commit: 6d3175a72cc07e90f81fb35841048a8a9b5134cb
> > change-id: 20250305-cdm-cwb-mux-fix-69ed5297d4f7
> > 
> > Best regards,
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
index ae1534c49ae0..3f88c3641d4a 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
@@ -214,7 +214,9 @@  static void dpu_hw_cdm_bind_pingpong_blk(struct dpu_hw_cdm *ctx, const enum dpu_
 	mux_cfg = DPU_REG_READ(c, CDM_MUX);
 	mux_cfg &= ~0xf;
 
-	if (pp)
+	if (pp >= PINGPONG_CWB_0)
+		mux_cfg |= 0xd;
+	else if (pp)
 		mux_cfg |= (pp - PINGPONG_0) & 0x7;
 	else
 		mux_cfg |= 0xf;