diff mbox series

[v2,47/50] drm/msm/dpu: rename CTL_foo_MASK to contain major DPU version

Message ID 20230211231259.1308718-48-dmitry.baryshkov@linaro.org
State Superseded
Headers show
Series drm/msm/dpu: rework HW catalog | expand

Commit Message

Dmitry Baryshkov Feb. 11, 2023, 11:12 p.m. UTC
To ease review and reuse rename CTL feature masks to contain base DPU
version since which this mask is used.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h  | 10 +++++-----
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h   | 10 +++++-----
 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h    | 12 ++++++------
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h   | 12 ++++++------
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h   |  6 +++---
 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h    |  2 +-
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h   | 12 ++++++------
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h   |  8 ++++----
 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h    | 12 ++++++------
 .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h   | 12 ++++++------
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c       | 12 ++++++++----
 11 files changed, 56 insertions(+), 52 deletions(-)

Comments

Konrad Dybcio March 30, 2023, 1:15 p.m. UTC | #1
On 12.02.2023 00:12, Dmitry Baryshkov wrote:
> To ease review and reuse rename CTL feature masks to contain base DPU
> version since which this mask is used.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h  | 10 +++++-----
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h   | 10 +++++-----
>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h    | 12 ++++++------
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h   | 12 ++++++------
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h   |  6 +++---
>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h    |  2 +-
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h   | 12 ++++++------
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h   |  8 ++++----
>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h    | 12 ++++++------
>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h   | 12 ++++++------
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c       | 12 ++++++++----
>  11 files changed, 56 insertions(+), 52 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> index 5e8200d929e4..d42c380275bd 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> @@ -49,31 +49,31 @@ static const struct dpu_ctl_cfg msm8998_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0x94,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
Again, I'd vote for DPU_3

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x1200, .len = 0x94,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x1400, .len = 0x94,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x1600, .len = 0x94,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x1800, .len = 0x94,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> index daef5e48e7ee..281556416322 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> @@ -47,31 +47,31 @@ static const struct dpu_ctl_cfg sdm845_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0xe4,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x1200, .len = 0xe4,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x1400, .len = 0xe4,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x1600, .len = 0xe4,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x1800, .len = 0xe4,
> -	.features = 0,
> +	.features = CTL_DPU_0_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> index 294702531ce2..7c051c142e06 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> @@ -42,37 +42,37 @@ static const struct dpu_ctl_cfg dpu_5_lm6_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x1200, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x1400, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x1600, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x1800, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  	{
>  	.name = "ctl_5", .id = CTL_5,
>  	.base = 0x1a00, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> index fd5df2bdec0e..cffbb6bcc535 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8250_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x1200, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x1400, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x1600, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x1800, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  	{
>  	.name = "ctl_5", .id = CTL_5,
>  	.base = 0x1a00, .len = 0x1e0,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> index 66762a0706de..78f8b2506675 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> @@ -40,19 +40,19 @@ static const struct dpu_ctl_cfg sc7180_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0x1dc,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x1200, .len = 0x1dc,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x1400, .len = 0x1dc,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> index 2849c017ddf2..4f42105d3755 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> @@ -21,7 +21,7 @@ static const struct dpu_ctl_cfg dpu_6_lm1_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x1000, .len = 0x1dc,
> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
> +	.features = CTL_DPU_5_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> index 60ad844cfa25..6826758fa202 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> @@ -46,37 +46,37 @@ static const struct dpu_ctl_cfg sm8350_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x15000, .len = 0x1e8,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x16000, .len = 0x1e8,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x17000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x18000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x19000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  	{
>  	.name = "ctl_5", .id = CTL_5,
>  	.base = 0x1a000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> index 387f2b6c5b56..c5981ea3ec7c 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> @@ -39,25 +39,25 @@ static const struct dpu_ctl_cfg sc7280_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x15000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x16000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x17000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x18000, .len = 0x1e8,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> index 80a7b0670467..5c87e919ea22 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> @@ -41,37 +41,37 @@ static const struct dpu_ctl_cfg dpu_8_lm6_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x15000, .len = 0x204,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x16000, .len = 0x204,
> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x17000, .len = 0x204,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x18000, .len = 0x204,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x19000, .len = 0x204,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  	{
>  	.name = "ctl_5", .id = CTL_5,
>  	.base = 0x1a000, .len = 0x204,
> -	.features = CTL_SC7280_MASK,
> +	.features = CTL_DPU_7_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> index 53db0049eecc..334946c8d4e8 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8550_ctl[] = {
>  	{
>  	.name = "ctl_0", .id = CTL_0,
>  	.base = 0x15000, .len = 0x290,
> -	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>  	},
>  	{
>  	.name = "ctl_1", .id = CTL_1,
>  	.base = 0x16000, .len = 0x290,
> -	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> +	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>  	},
>  	{
>  	.name = "ctl_2", .id = CTL_2,
>  	.base = 0x17000, .len = 0x290,
> -	.features = CTL_SM8550_MASK,
> +	.features = CTL_DPU_9_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>  	},
>  	{
>  	.name = "ctl_3", .id = CTL_3,
>  	.base = 0x18000, .len = 0x290,
> -	.features = CTL_SM8550_MASK,
> +	.features = CTL_DPU_9_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>  	},
>  	{
>  	.name = "ctl_4", .id = CTL_4,
>  	.base = 0x19000, .len = 0x290,
> -	.features = CTL_SM8550_MASK,
> +	.features = CTL_DPU_9_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>  	},
>  	{
>  	.name = "ctl_5", .id = CTL_5,
>  	.base = 0x1a000, .len = 0x290,
> -	.features = CTL_SM8550_MASK,
> +	.features = CTL_DPU_9_MASK,
>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>  	},
>  };
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> index 6b78554df30c..3c604f7b88aa 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> @@ -65,11 +65,15 @@
>  #define PINGPONG_SDM845_SPLIT_MASK \
>  	(PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
>  
> -#define CTL_SC7280_MASK \
> -	(BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
> +#define CTL_DPU_0_MASK  (0)
>  
> -#define CTL_SM8550_MASK \
> -	(CTL_SC7280_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
> +#define CTL_DPU_5_MASK (CTL_DPU_0_MASK | BIT(DPU_CTL_ACTIVE_CFG))
> +
> +#define CTL_DPU_7_MASK \
> +	(CTL_DPU_5_MASK | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
> +
> +#define CTL_DPU_9_MASK \
> +	(CTL_DPU_7_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
>  
>  #define MERGE_3D_SM8150_MASK (0)
>
Konrad Dybcio March 30, 2023, 1:16 p.m. UTC | #2
On 30.03.2023 15:15, Konrad Dybcio wrote:
> 
> 
> On 12.02.2023 00:12, Dmitry Baryshkov wrote:
>> To ease review and reuse rename CTL feature masks to contain base DPU
>> version since which this mask is used.
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h  | 10 +++++-----
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h   | 10 +++++-----
>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h    | 12 ++++++------
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h   | 12 ++++++------
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h   |  6 +++---
>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h    |  2 +-
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h   | 12 ++++++------
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h   |  8 ++++----
>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h    | 12 ++++++------
>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h   | 12 ++++++------
>>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c       | 12 ++++++++----
>>  11 files changed, 56 insertions(+), 52 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>> index 5e8200d929e4..d42c380275bd 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>> @@ -49,31 +49,31 @@ static const struct dpu_ctl_cfg msm8998_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0x94,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
> Again, I'd vote for DPU_3
Though thinking about it again, the 8996-and-earlier setup was
probably the same and that's what you had in mind. Please confirm

Konrad
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> 
> Konrad
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x1200, .len = 0x94,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x1400, .len = 0x94,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x1600, .len = 0x94,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x1800, .len = 0x94,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>> index daef5e48e7ee..281556416322 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>> @@ -47,31 +47,31 @@ static const struct dpu_ctl_cfg sdm845_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0xe4,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x1200, .len = 0xe4,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x1400, .len = 0xe4,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x1600, .len = 0xe4,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x1800, .len = 0xe4,
>> -	.features = 0,
>> +	.features = CTL_DPU_0_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>> index 294702531ce2..7c051c142e06 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>> @@ -42,37 +42,37 @@ static const struct dpu_ctl_cfg dpu_5_lm6_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x1200, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x1400, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x1600, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x1800, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  	{
>>  	.name = "ctl_5", .id = CTL_5,
>>  	.base = 0x1a00, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>> index fd5df2bdec0e..cffbb6bcc535 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8250_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x1200, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x1400, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x1600, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x1800, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  	{
>>  	.name = "ctl_5", .id = CTL_5,
>>  	.base = 0x1a00, .len = 0x1e0,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>> index 66762a0706de..78f8b2506675 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>> @@ -40,19 +40,19 @@ static const struct dpu_ctl_cfg sc7180_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0x1dc,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x1200, .len = 0x1dc,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x1400, .len = 0x1dc,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>> index 2849c017ddf2..4f42105d3755 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>> @@ -21,7 +21,7 @@ static const struct dpu_ctl_cfg dpu_6_lm1_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x1000, .len = 0x1dc,
>> -	.features = BIT(DPU_CTL_ACTIVE_CFG),
>> +	.features = CTL_DPU_5_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>> index 60ad844cfa25..6826758fa202 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>> @@ -46,37 +46,37 @@ static const struct dpu_ctl_cfg sm8350_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x15000, .len = 0x1e8,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x16000, .len = 0x1e8,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x17000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x18000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x19000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  	{
>>  	.name = "ctl_5", .id = CTL_5,
>>  	.base = 0x1a000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>> index 387f2b6c5b56..c5981ea3ec7c 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>> @@ -39,25 +39,25 @@ static const struct dpu_ctl_cfg sc7280_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x15000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x16000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x17000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x18000, .len = 0x1e8,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>> index 80a7b0670467..5c87e919ea22 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>> @@ -41,37 +41,37 @@ static const struct dpu_ctl_cfg dpu_8_lm6_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x15000, .len = 0x204,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x16000, .len = 0x204,
>> -	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>> +	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x17000, .len = 0x204,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x18000, .len = 0x204,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x19000, .len = 0x204,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  	{
>>  	.name = "ctl_5", .id = CTL_5,
>>  	.base = 0x1a000, .len = 0x204,
>> -	.features = CTL_SC7280_MASK,
>> +	.features = CTL_DPU_7_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>> index 53db0049eecc..334946c8d4e8 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8550_ctl[] = {
>>  	{
>>  	.name = "ctl_0", .id = CTL_0,
>>  	.base = 0x15000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>  	},
>>  	{
>>  	.name = "ctl_1", .id = CTL_1,
>>  	.base = 0x16000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>> +	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>  	},
>>  	{
>>  	.name = "ctl_2", .id = CTL_2,
>>  	.base = 0x17000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK,
>> +	.features = CTL_DPU_9_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>  	},
>>  	{
>>  	.name = "ctl_3", .id = CTL_3,
>>  	.base = 0x18000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK,
>> +	.features = CTL_DPU_9_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>  	},
>>  	{
>>  	.name = "ctl_4", .id = CTL_4,
>>  	.base = 0x19000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK,
>> +	.features = CTL_DPU_9_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>  	},
>>  	{
>>  	.name = "ctl_5", .id = CTL_5,
>>  	.base = 0x1a000, .len = 0x290,
>> -	.features = CTL_SM8550_MASK,
>> +	.features = CTL_DPU_9_MASK,
>>  	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>  	},
>>  };
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> index 6b78554df30c..3c604f7b88aa 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>> @@ -65,11 +65,15 @@
>>  #define PINGPONG_SDM845_SPLIT_MASK \
>>  	(PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
>>  
>> -#define CTL_SC7280_MASK \
>> -	(BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
>> +#define CTL_DPU_0_MASK  (0)
>>  
>> -#define CTL_SM8550_MASK \
>> -	(CTL_SC7280_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
>> +#define CTL_DPU_5_MASK (CTL_DPU_0_MASK | BIT(DPU_CTL_ACTIVE_CFG))
>> +
>> +#define CTL_DPU_7_MASK \
>> +	(CTL_DPU_5_MASK | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
>> +
>> +#define CTL_DPU_9_MASK \
>> +	(CTL_DPU_7_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
>>  
>>  #define MERGE_3D_SM8150_MASK (0)
>>
Dmitry Baryshkov March 30, 2023, 1:26 p.m. UTC | #3
On Thu, 30 Mar 2023 at 16:16, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
>
>
> On 30.03.2023 15:15, Konrad Dybcio wrote:
> >
> >
> > On 12.02.2023 00:12, Dmitry Baryshkov wrote:
> >> To ease review and reuse rename CTL feature masks to contain base DPU
> >> version since which this mask is used.
> >>
> >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> >> ---
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h  | 10 +++++-----
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h   | 10 +++++-----
> >>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h    | 12 ++++++------
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h   | 12 ++++++------
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h   |  6 +++---
> >>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h    |  2 +-
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h   | 12 ++++++------
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h   |  8 ++++----
> >>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h    | 12 ++++++------
> >>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h   | 12 ++++++------
> >>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c       | 12 ++++++++----
> >>  11 files changed, 56 insertions(+), 52 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> >> index 5e8200d929e4..d42c380275bd 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
> >> @@ -49,31 +49,31 @@ static const struct dpu_ctl_cfg msm8998_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0x94,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
> > Again, I'd vote for DPU_3
> Though thinking about it again, the 8996-and-earlier setup was
> probably the same and that's what you had in mind. Please confirm

Yes, the idea was to have DPU_0_MASK defined to (0) if that's
applicable to early generations.

>
> Konrad
> >
> > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> >
> > Konrad
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x1200, .len = 0x94,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x1400, .len = 0x94,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x1600, .len = 0x94,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x1800, .len = 0x94,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> >> index daef5e48e7ee..281556416322 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
> >> @@ -47,31 +47,31 @@ static const struct dpu_ctl_cfg sdm845_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0xe4,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x1200, .len = 0xe4,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x1400, .len = 0xe4,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x1600, .len = 0xe4,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x1800, .len = 0xe4,
> >> -    .features = 0,
> >> +    .features = CTL_DPU_0_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> >> index 294702531ce2..7c051c142e06 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
> >> @@ -42,37 +42,37 @@ static const struct dpu_ctl_cfg dpu_5_lm6_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x1200, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x1400, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x1600, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x1800, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>      {
> >>      .name = "ctl_5", .id = CTL_5,
> >>      .base = 0x1a00, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> >> index fd5df2bdec0e..cffbb6bcc535 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
> >> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8250_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x1200, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x1400, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x1600, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x1800, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>      {
> >>      .name = "ctl_5", .id = CTL_5,
> >>      .base = 0x1a00, .len = 0x1e0,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> >> index 66762a0706de..78f8b2506675 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
> >> @@ -40,19 +40,19 @@ static const struct dpu_ctl_cfg sc7180_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0x1dc,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x1200, .len = 0x1dc,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x1400, .len = 0x1dc,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> >> index 2849c017ddf2..4f42105d3755 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
> >> @@ -21,7 +21,7 @@ static const struct dpu_ctl_cfg dpu_6_lm1_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x1000, .len = 0x1dc,
> >> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
> >> +    .features = CTL_DPU_5_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> >> index 60ad844cfa25..6826758fa202 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
> >> @@ -46,37 +46,37 @@ static const struct dpu_ctl_cfg sm8350_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x15000, .len = 0x1e8,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x16000, .len = 0x1e8,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x17000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x18000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x19000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>      {
> >>      .name = "ctl_5", .id = CTL_5,
> >>      .base = 0x1a000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> >> index 387f2b6c5b56..c5981ea3ec7c 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> >> @@ -39,25 +39,25 @@ static const struct dpu_ctl_cfg sc7280_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x15000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x16000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x17000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x18000, .len = 0x1e8,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> >> index 80a7b0670467..5c87e919ea22 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
> >> @@ -41,37 +41,37 @@ static const struct dpu_ctl_cfg dpu_8_lm6_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x15000, .len = 0x204,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x16000, .len = 0x204,
> >> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
> >> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x17000, .len = 0x204,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x18000, .len = 0x204,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x19000, .len = 0x204,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>      {
> >>      .name = "ctl_5", .id = CTL_5,
> >>      .base = 0x1a000, .len = 0x204,
> >> -    .features = CTL_SC7280_MASK,
> >> +    .features = CTL_DPU_7_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> >> index 53db0049eecc..334946c8d4e8 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
> >> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8550_ctl[] = {
> >>      {
> >>      .name = "ctl_0", .id = CTL_0,
> >>      .base = 0x15000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
> >>      },
> >>      {
> >>      .name = "ctl_1", .id = CTL_1,
> >>      .base = 0x16000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >> +    .features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
> >>      },
> >>      {
> >>      .name = "ctl_2", .id = CTL_2,
> >>      .base = 0x17000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK,
> >> +    .features = CTL_DPU_9_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
> >>      },
> >>      {
> >>      .name = "ctl_3", .id = CTL_3,
> >>      .base = 0x18000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK,
> >> +    .features = CTL_DPU_9_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
> >>      },
> >>      {
> >>      .name = "ctl_4", .id = CTL_4,
> >>      .base = 0x19000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK,
> >> +    .features = CTL_DPU_9_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
> >>      },
> >>      {
> >>      .name = "ctl_5", .id = CTL_5,
> >>      .base = 0x1a000, .len = 0x290,
> >> -    .features = CTL_SM8550_MASK,
> >> +    .features = CTL_DPU_9_MASK,
> >>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
> >>      },
> >>  };
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> index 6b78554df30c..3c604f7b88aa 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> @@ -65,11 +65,15 @@
> >>  #define PINGPONG_SDM845_SPLIT_MASK \
> >>      (PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
> >>
> >> -#define CTL_SC7280_MASK \
> >> -    (BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
> >> +#define CTL_DPU_0_MASK  (0)
> >>
> >> -#define CTL_SM8550_MASK \
> >> -    (CTL_SC7280_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
> >> +#define CTL_DPU_5_MASK (CTL_DPU_0_MASK | BIT(DPU_CTL_ACTIVE_CFG))
> >> +
> >> +#define CTL_DPU_7_MASK \
> >> +    (CTL_DPU_5_MASK | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
> >> +
> >> +#define CTL_DPU_9_MASK \
> >> +    (CTL_DPU_7_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
> >>
> >>  #define MERGE_3D_SM8150_MASK (0)
> >>
Konrad Dybcio March 30, 2023, 1:27 p.m. UTC | #4
On 30.03.2023 15:26, Dmitry Baryshkov wrote:
> On Thu, 30 Mar 2023 at 16:16, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>>
>>
>> On 30.03.2023 15:15, Konrad Dybcio wrote:
>>>
>>>
>>> On 12.02.2023 00:12, Dmitry Baryshkov wrote:
>>>> To ease review and reuse rename CTL feature masks to contain base DPU
>>>> version since which this mask is used.
>>>>
>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>> ---
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h  | 10 +++++-----
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h   | 10 +++++-----
>>>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h    | 12 ++++++------
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h   | 12 ++++++------
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h   |  6 +++---
>>>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h    |  2 +-
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h   | 12 ++++++------
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h   |  8 ++++----
>>>>  drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h    | 12 ++++++------
>>>>  .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h   | 12 ++++++------
>>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c       | 12 ++++++++----
>>>>  11 files changed, 56 insertions(+), 52 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>>>> index 5e8200d929e4..d42c380275bd 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
>>>> @@ -49,31 +49,31 @@ static const struct dpu_ctl_cfg msm8998_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0x94,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>> Again, I'd vote for DPU_3
>> Though thinking about it again, the 8996-and-earlier setup was
>> probably the same and that's what you had in mind. Please confirm
> 
> Yes, the idea was to have DPU_0_MASK defined to (0) if that's
> applicable to early generations.
OK let's keep it zero then. I think I'm done with the review!

Konrad
> 
>>
>> Konrad
>>>
>>> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>>
>>> Konrad
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x1200, .len = 0x94,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x1400, .len = 0x94,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x1600, .len = 0x94,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x1800, .len = 0x94,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>>>> index daef5e48e7ee..281556416322 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
>>>> @@ -47,31 +47,31 @@ static const struct dpu_ctl_cfg sdm845_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0xe4,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x1200, .len = 0xe4,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x1400, .len = 0xe4,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x1600, .len = 0xe4,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x1800, .len = 0xe4,
>>>> -    .features = 0,
>>>> +    .features = CTL_DPU_0_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>>>> index 294702531ce2..7c051c142e06 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
>>>> @@ -42,37 +42,37 @@ static const struct dpu_ctl_cfg dpu_5_lm6_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x1200, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x1400, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x1600, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x1800, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>      {
>>>>      .name = "ctl_5", .id = CTL_5,
>>>>      .base = 0x1a00, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>>>> index fd5df2bdec0e..cffbb6bcc535 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
>>>> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8250_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x1200, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x1400, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x1600, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x1800, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>      {
>>>>      .name = "ctl_5", .id = CTL_5,
>>>>      .base = 0x1a00, .len = 0x1e0,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>>>> index 66762a0706de..78f8b2506675 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
>>>> @@ -40,19 +40,19 @@ static const struct dpu_ctl_cfg sc7180_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0x1dc,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x1200, .len = 0x1dc,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x1400, .len = 0x1dc,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>>>> index 2849c017ddf2..4f42105d3755 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
>>>> @@ -21,7 +21,7 @@ static const struct dpu_ctl_cfg dpu_6_lm1_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x1000, .len = 0x1dc,
>>>> -    .features = BIT(DPU_CTL_ACTIVE_CFG),
>>>> +    .features = CTL_DPU_5_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>>>> index 60ad844cfa25..6826758fa202 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
>>>> @@ -46,37 +46,37 @@ static const struct dpu_ctl_cfg sm8350_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x15000, .len = 0x1e8,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x16000, .len = 0x1e8,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x17000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x18000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x19000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>      {
>>>>      .name = "ctl_5", .id = CTL_5,
>>>>      .base = 0x1a000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>>>> index 387f2b6c5b56..c5981ea3ec7c 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
>>>> @@ -39,25 +39,25 @@ static const struct dpu_ctl_cfg sc7280_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x15000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x16000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x17000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x18000, .len = 0x1e8,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>>>> index 80a7b0670467..5c87e919ea22 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
>>>> @@ -41,37 +41,37 @@ static const struct dpu_ctl_cfg dpu_8_lm6_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x15000, .len = 0x204,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x16000, .len = 0x204,
>>>> -    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
>>>> +    .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x17000, .len = 0x204,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x18000, .len = 0x204,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x19000, .len = 0x204,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>      {
>>>>      .name = "ctl_5", .id = CTL_5,
>>>>      .base = 0x1a000, .len = 0x204,
>>>> -    .features = CTL_SC7280_MASK,
>>>> +    .features = CTL_DPU_7_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>>>> index 53db0049eecc..334946c8d4e8 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
>>>> @@ -48,37 +48,37 @@ static const struct dpu_ctl_cfg sm8550_ctl[] = {
>>>>      {
>>>>      .name = "ctl_0", .id = CTL_0,
>>>>      .base = 0x15000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
>>>>      },
>>>>      {
>>>>      .name = "ctl_1", .id = CTL_1,
>>>>      .base = 0x16000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>> +    .features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
>>>>      },
>>>>      {
>>>>      .name = "ctl_2", .id = CTL_2,
>>>>      .base = 0x17000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK,
>>>> +    .features = CTL_DPU_9_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
>>>>      },
>>>>      {
>>>>      .name = "ctl_3", .id = CTL_3,
>>>>      .base = 0x18000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK,
>>>> +    .features = CTL_DPU_9_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
>>>>      },
>>>>      {
>>>>      .name = "ctl_4", .id = CTL_4,
>>>>      .base = 0x19000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK,
>>>> +    .features = CTL_DPU_9_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
>>>>      },
>>>>      {
>>>>      .name = "ctl_5", .id = CTL_5,
>>>>      .base = 0x1a000, .len = 0x290,
>>>> -    .features = CTL_SM8550_MASK,
>>>> +    .features = CTL_DPU_9_MASK,
>>>>      .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
>>>>      },
>>>>  };
>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>>>> index 6b78554df30c..3c604f7b88aa 100644
>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
>>>> @@ -65,11 +65,15 @@
>>>>  #define PINGPONG_SDM845_SPLIT_MASK \
>>>>      (PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
>>>>
>>>> -#define CTL_SC7280_MASK \
>>>> -    (BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
>>>> +#define CTL_DPU_0_MASK  (0)
>>>>
>>>> -#define CTL_SM8550_MASK \
>>>> -    (CTL_SC7280_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
>>>> +#define CTL_DPU_5_MASK (CTL_DPU_0_MASK | BIT(DPU_CTL_ACTIVE_CFG))
>>>> +
>>>> +#define CTL_DPU_7_MASK \
>>>> +    (CTL_DPU_5_MASK | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
>>>> +
>>>> +#define CTL_DPU_9_MASK \
>>>> +    (CTL_DPU_7_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
>>>>
>>>>  #define MERGE_3D_SM8150_MASK (0)
>>>>
> 
> 
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
index 5e8200d929e4..d42c380275bd 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
@@ -49,31 +49,31 @@  static const struct dpu_ctl_cfg msm8998_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0x94,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x1200, .len = 0x94,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x1400, .len = 0x94,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x1600, .len = 0x94,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x1800, .len = 0x94,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
index daef5e48e7ee..281556416322 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
@@ -47,31 +47,31 @@  static const struct dpu_ctl_cfg sdm845_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0xe4,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x1200, .len = 0xe4,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x1400, .len = 0xe4,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x1600, .len = 0xe4,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x1800, .len = 0xe4,
-	.features = 0,
+	.features = CTL_DPU_0_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
index 294702531ce2..7c051c142e06 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_lm6.h
@@ -42,37 +42,37 @@  static const struct dpu_ctl_cfg dpu_5_lm6_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x1200, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x1400, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x1600, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x1800, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 	{
 	.name = "ctl_5", .id = CTL_5,
 	.base = 0x1a00, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
index fd5df2bdec0e..cffbb6bcc535 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
@@ -48,37 +48,37 @@  static const struct dpu_ctl_cfg sm8250_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x1200, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_5_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x1400, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x1600, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x1800, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 	{
 	.name = "ctl_5", .id = CTL_5,
 	.base = 0x1a00, .len = 0x1e0,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
index 66762a0706de..78f8b2506675 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
@@ -40,19 +40,19 @@  static const struct dpu_ctl_cfg sc7180_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0x1dc,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x1200, .len = 0x1dc,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x1400, .len = 0x1dc,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
index 2849c017ddf2..4f42105d3755 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_lm1.h
@@ -21,7 +21,7 @@  static const struct dpu_ctl_cfg dpu_6_lm1_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x1000, .len = 0x1dc,
-	.features = BIT(DPU_CTL_ACTIVE_CFG),
+	.features = CTL_DPU_5_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
index 60ad844cfa25..6826758fa202 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
@@ -46,37 +46,37 @@  static const struct dpu_ctl_cfg sm8350_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x15000, .len = 0x1e8,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x16000, .len = 0x1e8,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x17000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x18000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x19000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 	{
 	.name = "ctl_5", .id = CTL_5,
 	.base = 0x1a000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
index 387f2b6c5b56..c5981ea3ec7c 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
@@ -39,25 +39,25 @@  static const struct dpu_ctl_cfg sc7280_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x15000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x16000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x17000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x18000, .len = 0x1e8,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
index 80a7b0670467..5c87e919ea22 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_lm6.h
@@ -41,37 +41,37 @@  static const struct dpu_ctl_cfg dpu_8_lm6_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x15000, .len = 0x204,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x16000, .len = 0x204,
-	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK,
+	.features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x17000, .len = 0x204,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x18000, .len = 0x204,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x19000, .len = 0x204,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 	{
 	.name = "ctl_5", .id = CTL_5,
 	.base = 0x1a000, .len = 0x204,
-	.features = CTL_SC7280_MASK,
+	.features = CTL_DPU_7_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
index 53db0049eecc..334946c8d4e8 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
@@ -48,37 +48,37 @@  static const struct dpu_ctl_cfg sm8550_ctl[] = {
 	{
 	.name = "ctl_0", .id = CTL_0,
 	.base = 0x15000, .len = 0x290,
-	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9),
 	},
 	{
 	.name = "ctl_1", .id = CTL_1,
 	.base = 0x16000, .len = 0x290,
-	.features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
+	.features = CTL_DPU_9_MASK | BIT(DPU_CTL_SPLIT_DISPLAY),
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10),
 	},
 	{
 	.name = "ctl_2", .id = CTL_2,
 	.base = 0x17000, .len = 0x290,
-	.features = CTL_SM8550_MASK,
+	.features = CTL_DPU_9_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11),
 	},
 	{
 	.name = "ctl_3", .id = CTL_3,
 	.base = 0x18000, .len = 0x290,
-	.features = CTL_SM8550_MASK,
+	.features = CTL_DPU_9_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12),
 	},
 	{
 	.name = "ctl_4", .id = CTL_4,
 	.base = 0x19000, .len = 0x290,
-	.features = CTL_SM8550_MASK,
+	.features = CTL_DPU_9_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13),
 	},
 	{
 	.name = "ctl_5", .id = CTL_5,
 	.base = 0x1a000, .len = 0x290,
-	.features = CTL_SM8550_MASK,
+	.features = CTL_DPU_9_MASK,
 	.intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23),
 	},
 };
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
index 6b78554df30c..3c604f7b88aa 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
@@ -65,11 +65,15 @@ 
 #define PINGPONG_SDM845_SPLIT_MASK \
 	(PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
 
-#define CTL_SC7280_MASK \
-	(BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
+#define CTL_DPU_0_MASK  (0)
 
-#define CTL_SM8550_MASK \
-	(CTL_SC7280_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
+#define CTL_DPU_5_MASK (CTL_DPU_0_MASK | BIT(DPU_CTL_ACTIVE_CFG))
+
+#define CTL_DPU_7_MASK \
+	(CTL_DPU_5_MASK | BIT(DPU_CTL_FETCH_ACTIVE) | BIT(DPU_CTL_VM_CFG))
+
+#define CTL_DPU_9_MASK \
+	(CTL_DPU_7_MASK | BIT(DPU_CTL_HAS_LAYER_EXT4))
 
 #define MERGE_3D_SM8150_MASK (0)