diff mbox series

[v16,09/22] soc: mediatek: add mtk-mutex support for mt8195 vdosys1

Message ID 20220318142009.2796-10-nancy.lin@mediatek.com (mailing list archive)
State New, archived
Headers show
Series Add MediaTek SoC DRM (vdosys1) support for mt8195 | expand

Commit Message

Nancy Lin (林欣螢) March 18, 2022, 2:19 p.m. UTC
Add mtk-mutex support for mt8195 vdosys1.
The vdosys1 path component contains ovl_adaptor, merge5,
and dp_intf1. Ovl_adaptor is composed of several sub-elements.

Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/soc/mediatek/mtk-mutex.c | 54 ++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

Comments

CK Hu (胡俊光) March 22, 2022, 2:27 a.m. UTC | #1
Hi, Nancy:

On Fri, 2022-03-18 at 22:19 +0800, Nancy.Lin wrote:
> Add mtk-mutex support for mt8195 vdosys1.
> The vdosys1 path component contains ovl_adaptor, merge5,
> and dp_intf1. Ovl_adaptor is composed of several sub-elements.
> 
> Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
>  drivers/soc/mediatek/mtk-mutex.c | 54
> ++++++++++++++++++++++++++++++++
>  1 file changed, 54 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-mutex.c
> b/drivers/soc/mediatek/mtk-mutex.c
> index cb791671d751..70e6043e99df 100644
> --- a/drivers/soc/mediatek/mtk-mutex.c
> +++ b/drivers/soc/mediatek/mtk-mutex.c
> @@ -129,6 +129,35 @@
>  #define MT8195_MUTEX_MOD_DISP_PWM0		BIT(27)
>  #define MT8195_MUTEX_MOD_DISP_PWM1		BIT(28)
>  
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA0	BIT(0)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA1	BIT(1)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA2	BIT(2)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA3	BIT(3)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA4	BIT(4)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA5	BIT(5)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA6	BIT(6)
> +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA7	BIT(7)
> +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE0	BIT(8)
> +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE1	BIT(9)
> +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE2	BIT(10)
> +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE3	BIT(11)
> +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE4	BIT(12)
> +#define MT8195_MUTEX_MOD_DISP1_VPP2_DL_RELAY	BIT(13)
> +#define MT8195_MUTEX_MOD_DISP1_VPP3_DL_RELAY	BIT(14)
> +#define MT8195_MUTEX_MOD_DISP1_VDO0_DSC_DL_ASYNC	BIT(15)
> +#define MT8195_MUTEX_MOD_DISP1_VDO0_MERGE_DL_ASYNC	BIT(16)
> +#define MT8195_MUTEX_MOD_DISP1_VDO1_OUT_DL_RELAY	BIT(17)
> +#define MT8195_MUTEX_MOD_DISP1_DISP_MIXER	BIT(18)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE0	BIT(19)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE1	BIT(20)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE0	BIT(21)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE1	BIT(22)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE0	BIT(23)
> +#define MT8195_MUTEX_MOD_DISP1_HDR_MLOAD	BIT(24)
> +#define MT8195_MUTEX_MOD_DISP1_DPI0		BIT(25)
> +#define MT8195_MUTEX_MOD_DISP1_DPI1		BIT(26)
> +#define MT8195_MUTEX_MOD_DISP1_DP_INTF0		BIT(27)
> +
>  #define MT2712_MUTEX_MOD_DISP_PWM2		BIT(10)
>  #define MT2712_MUTEX_MOD_DISP_OVL0		BIT(11)
>  #define MT2712_MUTEX_MOD_DISP_OVL1		BIT(12)
> @@ -332,6 +361,27 @@ static const u64
> mt8195_mutex_mod[DDP_COMPONENT_ID_MAX] = {
>  	[DDP_COMPONENT_DSI0] = MT8195_MUTEX_MOD_DISP_DSI0,
>  	[DDP_COMPONENT_PWM0] = MT8195_MUTEX_MOD_DISP_PWM0,
>  	[DDP_COMPONENT_DP_INTF0] = MT8195_MUTEX_MOD_DISP_DP_INTF0,
> +	[DDP_COMPONENT_OVL_ADAPTOR] = MT8195_MUTEX_MOD_DISP1_MDP_RDMA0
> |

I would like to expose each mod instead of ovl adaptor. ovl adaptor is
an application that combine these mod to achieve ovl function, maybe
another application would combine part of these mod to achieve another
function. Let application to decide the combination.

Regards,
CK

> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA1
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA2
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA3
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA4
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA5
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA6
> |
> +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA7
> |
> +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE0
> |
> +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE1
> |
> +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE2
> |
> +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE3
> |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE
> 0 |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE
> 1 |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE
> 0 |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE
> 1 |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE
> 0 |
> +				      MT8195_MUTEX_MOD_DISP1_HDR_MLOAD
> |
> +				      MT8195_MUTEX_MOD_DISP1_DISP_MIXER
> ,
> +	[DDP_COMPONENT_MERGE5] = MT8195_MUTEX_MOD_DISP1_VPP_MERGE4,
> +	[DDP_COMPONENT_DP_INTF1] = MT8195_MUTEX_MOD_DISP1_DP_INTF0,
>  };
>  
>  static const unsigned int mt2712_mutex_sof[DDP_MUTEX_SOF_MAX] = {
> @@ -517,6 +567,9 @@ void mtk_mutex_add_comp(struct mtk_mutex *mutex,
>  	case DDP_COMPONENT_DP_INTF0:
>  		sof_id = MUTEX_SOF_DP_INTF0;
>  		break;
> +	case DDP_COMPONENT_DP_INTF1:
> +		sof_id = MUTEX_SOF_DP_INTF1;
> +		break;
>  	default:
>  		if (mtx->data->mutex_mod[id] <= BIT(31)) {
>  			offset = DISP_REG_MUTEX_MOD(mtx->data-
> >mutex_mod_reg,
> @@ -557,6 +610,7 @@ void mtk_mutex_remove_comp(struct mtk_mutex
> *mutex,
>  	case DDP_COMPONENT_DPI0:
>  	case DDP_COMPONENT_DPI1:
>  	case DDP_COMPONENT_DP_INTF0:
> +	case DDP_COMPONENT_DP_INTF1:
>  		writel_relaxed(MUTEX_SOF_SINGLE_MODE,
>  			       mtx->regs +
>  			       DISP_REG_MUTEX_SOF(mtx->data-
> >mutex_sof_reg,
Nancy Lin (林欣螢) April 16, 2022, 1:03 a.m. UTC | #2
Hi CK,

Thanks for the review.

On Tue, 2022-03-22 at 10:27 +0800, CK Hu wrote:
> Hi, Nancy:
> 
> On Fri, 2022-03-18 at 22:19 +0800, Nancy.Lin wrote:
> > Add mtk-mutex support for mt8195 vdosys1.
> > The vdosys1 path component contains ovl_adaptor, merge5,
> > and dp_intf1. Ovl_adaptor is composed of several sub-elements.
> > 
> > Signed-off-by: Nancy.Lin <nancy.lin@mediatek.com>
> > Reviewed-by: AngeloGioacchino Del Regno <
> > angelogioacchino.delregno@collabora.com>
> > ---
> >  drivers/soc/mediatek/mtk-mutex.c | 54
> > ++++++++++++++++++++++++++++++++
> >  1 file changed, 54 insertions(+)
> > 
> > diff --git a/drivers/soc/mediatek/mtk-mutex.c
> > b/drivers/soc/mediatek/mtk-mutex.c
> > index cb791671d751..70e6043e99df 100644
> > --- a/drivers/soc/mediatek/mtk-mutex.c
> > +++ b/drivers/soc/mediatek/mtk-mutex.c
> > @@ -129,6 +129,35 @@
> >  #define MT8195_MUTEX_MOD_DISP_PWM0		BIT(27)
> >  #define MT8195_MUTEX_MOD_DISP_PWM1		BIT(28)
> >  
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA0	BIT(0)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA1	BIT(1)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA2	BIT(2)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA3	BIT(3)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA4	BIT(4)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA5	BIT(5)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA6	BIT(6)
> > +#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA7	BIT(7)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE0	BIT(8)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE1	BIT(9)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE2	BIT(10)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE3	BIT(11)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE4	BIT(12)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP2_DL_RELAY	BIT(13)
> > +#define MT8195_MUTEX_MOD_DISP1_VPP3_DL_RELAY	BIT(14)
> > +#define MT8195_MUTEX_MOD_DISP1_VDO0_DSC_DL_ASYNC	BIT(15)
> > +#define MT8195_MUTEX_MOD_DISP1_VDO0_MERGE_DL_ASYNC	BIT(16)
> > +#define MT8195_MUTEX_MOD_DISP1_VDO1_OUT_DL_RELAY	BIT(17)
> > +#define MT8195_MUTEX_MOD_DISP1_DISP_MIXER	BIT(18)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE0	BIT(19)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE1	BIT(20)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE0	BIT(21)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE1	BIT(22)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE0	BIT(23)
> > +#define MT8195_MUTEX_MOD_DISP1_HDR_MLOAD	BIT(24)
> > +#define MT8195_MUTEX_MOD_DISP1_DPI0		BIT(25)
> > +#define MT8195_MUTEX_MOD_DISP1_DPI1		BIT(26)
> > +#define MT8195_MUTEX_MOD_DISP1_DP_INTF0		BIT(27)
> > +
> >  #define MT2712_MUTEX_MOD_DISP_PWM2		BIT(10)
> >  #define MT2712_MUTEX_MOD_DISP_OVL0		BIT(11)
> >  #define MT2712_MUTEX_MOD_DISP_OVL1		BIT(12)
> > @@ -332,6 +361,27 @@ static const u64
> > mt8195_mutex_mod[DDP_COMPONENT_ID_MAX] = {
> >  	[DDP_COMPONENT_DSI0] = MT8195_MUTEX_MOD_DISP_DSI0,
> >  	[DDP_COMPONENT_PWM0] = MT8195_MUTEX_MOD_DISP_PWM0,
> >  	[DDP_COMPONENT_DP_INTF0] = MT8195_MUTEX_MOD_DISP_DP_INTF0,
> > +	[DDP_COMPONENT_OVL_ADAPTOR] = MT8195_MUTEX_MOD_DISP1_MDP_RDMA0
> > > 
> 
> I would like to expose each mod instead of ovl adaptor. ovl adaptor
> is
> an application that combine these mod to achieve ovl function, maybe
> another application would combine part of these mod to achieve
> another
> function. Let application to decide the combination.
> 
> Regards,
> CK
> 
OK, I will separate ovl_adaptor component in next revision.

Regards,
Nancy

> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA1
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA2
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA3
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA4
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA5
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA6
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA7
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE0
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE1
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE2
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE3
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE
> > 0 |
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE
> > 1 |
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE
> > 0 |
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE
> > 1 |
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE
> > 0 |
> > +				      MT8195_MUTEX_MOD_DISP1_HDR_MLOAD
> > > 
> > 
> > +				      MT8195_MUTEX_MOD_DISP1_DISP_MIXER
> > ,
> > +	[DDP_COMPONENT_MERGE5] = MT8195_MUTEX_MOD_DISP1_VPP_MERGE4,
> > +	[DDP_COMPONENT_DP_INTF1] = MT8195_MUTEX_MOD_DISP1_DP_INTF0,
> >  };
> >  
> >  static const unsigned int mt2712_mutex_sof[DDP_MUTEX_SOF_MAX] = {
> > @@ -517,6 +567,9 @@ void mtk_mutex_add_comp(struct mtk_mutex
> > *mutex,
> >  	case DDP_COMPONENT_DP_INTF0:
> >  		sof_id = MUTEX_SOF_DP_INTF0;
> >  		break;
> > +	case DDP_COMPONENT_DP_INTF1:
> > +		sof_id = MUTEX_SOF_DP_INTF1;
> > +		break;
> >  	default:
> >  		if (mtx->data->mutex_mod[id] <= BIT(31)) {
> >  			offset = DISP_REG_MUTEX_MOD(mtx->data-
> > > mutex_mod_reg,
> > 
> > @@ -557,6 +610,7 @@ void mtk_mutex_remove_comp(struct mtk_mutex
> > *mutex,
> >  	case DDP_COMPONENT_DPI0:
> >  	case DDP_COMPONENT_DPI1:
> >  	case DDP_COMPONENT_DP_INTF0:
> > +	case DDP_COMPONENT_DP_INTF1:
> >  		writel_relaxed(MUTEX_SOF_SINGLE_MODE,
> >  			       mtx->regs +
> >  			       DISP_REG_MUTEX_SOF(mtx->data-
> > > mutex_sof_reg,
> 
>
diff mbox series

Patch

diff --git a/drivers/soc/mediatek/mtk-mutex.c b/drivers/soc/mediatek/mtk-mutex.c
index cb791671d751..70e6043e99df 100644
--- a/drivers/soc/mediatek/mtk-mutex.c
+++ b/drivers/soc/mediatek/mtk-mutex.c
@@ -129,6 +129,35 @@ 
 #define MT8195_MUTEX_MOD_DISP_PWM0		BIT(27)
 #define MT8195_MUTEX_MOD_DISP_PWM1		BIT(28)
 
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA0	BIT(0)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA1	BIT(1)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA2	BIT(2)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA3	BIT(3)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA4	BIT(4)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA5	BIT(5)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA6	BIT(6)
+#define MT8195_MUTEX_MOD_DISP1_MDP_RDMA7	BIT(7)
+#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE0	BIT(8)
+#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE1	BIT(9)
+#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE2	BIT(10)
+#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE3	BIT(11)
+#define MT8195_MUTEX_MOD_DISP1_VPP_MERGE4	BIT(12)
+#define MT8195_MUTEX_MOD_DISP1_VPP2_DL_RELAY	BIT(13)
+#define MT8195_MUTEX_MOD_DISP1_VPP3_DL_RELAY	BIT(14)
+#define MT8195_MUTEX_MOD_DISP1_VDO0_DSC_DL_ASYNC	BIT(15)
+#define MT8195_MUTEX_MOD_DISP1_VDO0_MERGE_DL_ASYNC	BIT(16)
+#define MT8195_MUTEX_MOD_DISP1_VDO1_OUT_DL_RELAY	BIT(17)
+#define MT8195_MUTEX_MOD_DISP1_DISP_MIXER	BIT(18)
+#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE0	BIT(19)
+#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE1	BIT(20)
+#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE0	BIT(21)
+#define MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE1	BIT(22)
+#define MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE0	BIT(23)
+#define MT8195_MUTEX_MOD_DISP1_HDR_MLOAD	BIT(24)
+#define MT8195_MUTEX_MOD_DISP1_DPI0		BIT(25)
+#define MT8195_MUTEX_MOD_DISP1_DPI1		BIT(26)
+#define MT8195_MUTEX_MOD_DISP1_DP_INTF0		BIT(27)
+
 #define MT2712_MUTEX_MOD_DISP_PWM2		BIT(10)
 #define MT2712_MUTEX_MOD_DISP_OVL0		BIT(11)
 #define MT2712_MUTEX_MOD_DISP_OVL1		BIT(12)
@@ -332,6 +361,27 @@  static const u64 mt8195_mutex_mod[DDP_COMPONENT_ID_MAX] = {
 	[DDP_COMPONENT_DSI0] = MT8195_MUTEX_MOD_DISP_DSI0,
 	[DDP_COMPONENT_PWM0] = MT8195_MUTEX_MOD_DISP_PWM0,
 	[DDP_COMPONENT_DP_INTF0] = MT8195_MUTEX_MOD_DISP_DP_INTF0,
+	[DDP_COMPONENT_OVL_ADAPTOR] = MT8195_MUTEX_MOD_DISP1_MDP_RDMA0 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA1 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA2 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA3 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA4 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA5 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA6 |
+				      MT8195_MUTEX_MOD_DISP1_MDP_RDMA7 |
+				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE0 |
+				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE1 |
+				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE2 |
+				      MT8195_MUTEX_MOD_DISP1_VPP_MERGE3 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE0 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_FE1 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE0 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_GFX_FE1 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_VDO_BE0 |
+				      MT8195_MUTEX_MOD_DISP1_HDR_MLOAD |
+				      MT8195_MUTEX_MOD_DISP1_DISP_MIXER,
+	[DDP_COMPONENT_MERGE5] = MT8195_MUTEX_MOD_DISP1_VPP_MERGE4,
+	[DDP_COMPONENT_DP_INTF1] = MT8195_MUTEX_MOD_DISP1_DP_INTF0,
 };
 
 static const unsigned int mt2712_mutex_sof[DDP_MUTEX_SOF_MAX] = {
@@ -517,6 +567,9 @@  void mtk_mutex_add_comp(struct mtk_mutex *mutex,
 	case DDP_COMPONENT_DP_INTF0:
 		sof_id = MUTEX_SOF_DP_INTF0;
 		break;
+	case DDP_COMPONENT_DP_INTF1:
+		sof_id = MUTEX_SOF_DP_INTF1;
+		break;
 	default:
 		if (mtx->data->mutex_mod[id] <= BIT(31)) {
 			offset = DISP_REG_MUTEX_MOD(mtx->data->mutex_mod_reg,
@@ -557,6 +610,7 @@  void mtk_mutex_remove_comp(struct mtk_mutex *mutex,
 	case DDP_COMPONENT_DPI0:
 	case DDP_COMPONENT_DPI1:
 	case DDP_COMPONENT_DP_INTF0:
+	case DDP_COMPONENT_DP_INTF1:
 		writel_relaxed(MUTEX_SOF_SINGLE_MODE,
 			       mtx->regs +
 			       DISP_REG_MUTEX_SOF(mtx->data->mutex_sof_reg,