2023-05-12 18:02:36

by Kuogee Hsieh

[permalink] [raw]
Subject: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog

From: Abhinav Kumar <[email protected]>

There are some platforms has DSC blocks but it is not declared at catalog.
For completeness, this patch adds DSC blocks for platforms which missed
them.

Signed-off-by: Abhinav Kumar <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
---
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
2 files changed, 18 insertions(+)

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 c0dd477..521cfd5 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
@@ -126,6 +126,11 @@ static const struct dpu_pingpong_cfg msm8998_pp[] = {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 15)),
};

+static const struct dpu_dsc_cfg msm8998_dsc[] = {
+ DSC_BLK("dsc_0", DSC_0, 0x80000, 0),
+ DSC_BLK("dsc_1", DSC_1, 0x80400, 0),
+};
+
static const struct dpu_dspp_cfg msm8998_dspp[] = {
DSPP_BLK("dspp_0", DSPP_0, 0x54000, DSPP_MSM8998_MASK,
&msm8998_dspp_sblk),
@@ -199,6 +204,8 @@ const struct dpu_mdss_cfg dpu_msm8998_cfg = {
.dspp = msm8998_dspp,
.pingpong_count = ARRAY_SIZE(msm8998_pp),
.pingpong = msm8998_pp,
+ .dsc_count = ARRAY_SIZE(msm8998_dsc),
+ .dsc = msm8998_dsc,
.intf_count = ARRAY_SIZE(msm8998_intf),
.intf = msm8998_intf,
.vbif_count = ARRAY_SIZE(msm8998_vbif),
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
index e8057a1..fec1665 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
@@ -142,6 +142,15 @@ static const struct dpu_merge_3d_cfg sc8180x_merge_3d[] = {
MERGE_3D_BLK("merge_3d_2", MERGE_3D_2, 0x83200),
};

+static const struct dpu_dsc_cfg sc8180x_dsc[] = {
+ DSC_BLK("dsc_0", DSC_0, 0x80000, BIT(DPU_DSC_OUTPUT_CTRL)),
+ DSC_BLK("dsc_1", DSC_1, 0x80400, BIT(DPU_DSC_OUTPUT_CTRL)),
+ DSC_BLK("dsc_2", DSC_2, 0x80800, BIT(DPU_DSC_OUTPUT_CTRL)),
+ DSC_BLK("dsc_3", DSC_3, 0x80c00, BIT(DPU_DSC_OUTPUT_CTRL)),
+ DSC_BLK("dsc_4", DSC_4, 0x81000, BIT(DPU_DSC_OUTPUT_CTRL)),
+ DSC_BLK("dsc_5", DSC_5, 0x81400, BIT(DPU_DSC_OUTPUT_CTRL)),
+};
+
static const struct dpu_intf_cfg sc8180x_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
@@ -206,6 +215,8 @@ const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
.mixer = sc8180x_lm,
.pingpong_count = ARRAY_SIZE(sc8180x_pp),
.pingpong = sc8180x_pp,
+ .dsc_count = ARRAY_SIZE(sc8180x_dsc),
+ .dsc = sc8180x_dsc,
.merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
.merge_3d = sc8180x_merge_3d,
.intf_count = ARRAY_SIZE(sc8180x_intf),
--
2.7.4



2023-05-14 21:58:25

by Marijn Suijten

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog

DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
the series is clearly aimed at 1.1...). This was done for the DSC 1.2
HW block patch after all.

in catalog -> to catalog

But it's just two platforms, you can fit MSM8998 and SC8180X in the
title.

On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
>
> From: Abhinav Kumar <[email protected]>
>
> There are some platforms has DSC blocks but it is not declared at catalog.

Some platforms have DSC blocks which have not yet been declared in the
catalog.*

> For completeness, this patch adds DSC blocks for platforms which missed
> them.

Drop "this patch":

Complete DSC 1.1 support for all platforms by adding the missing
blocks to MSM8998 and SC8180X.

>
> Signed-off-by: Abhinav Kumar <[email protected]>
> Reviewed-by: Dmitry Baryshkov <[email protected]>
> ---
> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++

How about SC7180, and any other DPU 6.x revision?

Rest of the patch looks good and complete.

- Marijn

> 2 files changed, 18 insertions(+)
>
> 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 c0dd477..521cfd5 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
> @@ -126,6 +126,11 @@ static const struct dpu_pingpong_cfg msm8998_pp[] = {
> DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 15)),
> };
>
> +static const struct dpu_dsc_cfg msm8998_dsc[] = {
> + DSC_BLK("dsc_0", DSC_0, 0x80000, 0),
> + DSC_BLK("dsc_1", DSC_1, 0x80400, 0),
> +};
> +
> static const struct dpu_dspp_cfg msm8998_dspp[] = {
> DSPP_BLK("dspp_0", DSPP_0, 0x54000, DSPP_MSM8998_MASK,
> &msm8998_dspp_sblk),
> @@ -199,6 +204,8 @@ const struct dpu_mdss_cfg dpu_msm8998_cfg = {
> .dspp = msm8998_dspp,
> .pingpong_count = ARRAY_SIZE(msm8998_pp),
> .pingpong = msm8998_pp,
> + .dsc_count = ARRAY_SIZE(msm8998_dsc),
> + .dsc = msm8998_dsc,
> .intf_count = ARRAY_SIZE(msm8998_intf),
> .intf = msm8998_intf,
> .vbif_count = ARRAY_SIZE(msm8998_vbif),
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> index e8057a1..fec1665 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> @@ -142,6 +142,15 @@ static const struct dpu_merge_3d_cfg sc8180x_merge_3d[] = {
> MERGE_3D_BLK("merge_3d_2", MERGE_3D_2, 0x83200),
> };
>
> +static const struct dpu_dsc_cfg sc8180x_dsc[] = {
> + DSC_BLK("dsc_0", DSC_0, 0x80000, BIT(DPU_DSC_OUTPUT_CTRL)),
> + DSC_BLK("dsc_1", DSC_1, 0x80400, BIT(DPU_DSC_OUTPUT_CTRL)),
> + DSC_BLK("dsc_2", DSC_2, 0x80800, BIT(DPU_DSC_OUTPUT_CTRL)),
> + DSC_BLK("dsc_3", DSC_3, 0x80c00, BIT(DPU_DSC_OUTPUT_CTRL)),
> + DSC_BLK("dsc_4", DSC_4, 0x81000, BIT(DPU_DSC_OUTPUT_CTRL)),
> + DSC_BLK("dsc_5", DSC_5, 0x81400, BIT(DPU_DSC_OUTPUT_CTRL)),
> +};
> +
> static const struct dpu_intf_cfg sc8180x_intf[] = {
> INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK,
> DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
> @@ -206,6 +215,8 @@ const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
> .mixer = sc8180x_lm,
> .pingpong_count = ARRAY_SIZE(sc8180x_pp),
> .pingpong = sc8180x_pp,
> + .dsc_count = ARRAY_SIZE(sc8180x_dsc),
> + .dsc = sc8180x_dsc,
> .merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
> .merge_3d = sc8180x_merge_3d,
> .intf_count = ARRAY_SIZE(sc8180x_intf),
> --
> 2.7.4
>

2023-05-15 19:08:35

by Abhinav Kumar

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog



On 5/14/2023 2:39 PM, Marijn Suijten wrote:
> DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
> the series is clearly aimed at 1.1...). This was done for the DSC 1.2
> HW block patch after all.
>
> in catalog -> to catalog
>
> But it's just two platforms, you can fit MSM8998 and SC8180X in the
> title.
>
> On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
>>
>> From: Abhinav Kumar <[email protected]>
>>
>> There are some platforms has DSC blocks but it is not declared at catalog.
>
> Some platforms have DSC blocks which have not yet been declared in the
> catalog.*
>
>> For completeness, this patch adds DSC blocks for platforms which missed
>> them.
>
> Drop "this patch":
>
> Complete DSC 1.1 support for all platforms by adding the missing
> blocks to MSM8998 and SC8180X.
>
>>
>> Signed-off-by: Abhinav Kumar <[email protected]>
>> Reviewed-by: Dmitry Baryshkov <[email protected]>
>> ---
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
>
> How about SC7180, and any other DPU 6.x revision?
>

Will let kuogee respond to the other nits. There is no DSC in sc7180 /
sm6115 / qcm2290. So this patch is complete.

> Rest of the patch looks good and complete.
>
> - Marijn
>
>> 2 files changed, 18 insertions(+)
>>

2023-05-15 20:12:26

by Marijn Suijten

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog

On 2023-05-15 11:20:02, Abhinav Kumar wrote:
>
>
>
> On 5/14/2023 2:39 PM, Marijn Suijten wrote:
> > DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
> > the series is clearly aimed at 1.1...). This was done for the DSC 1.2
> > HW block patch after all.
> >
> > in catalog -> to catalog
> >
> > But it's just two platforms, you can fit MSM8998 and SC8180X in the
> > title.
> >
> > On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
> >>
> >> From: Abhinav Kumar <[email protected]>
> >>
> >> There are some platforms has DSC blocks but it is not declared at catalog.
> >
> > Some platforms have DSC blocks which have not yet been declared in the
> > catalog.*
> >
> >> For completeness, this patch adds DSC blocks for platforms which missed
> >> them.
> >
> > Drop "this patch":
> >
> > Complete DSC 1.1 support for all platforms by adding the missing
> > blocks to MSM8998 and SC8180X.
> >
> >>
> >> Signed-off-by: Abhinav Kumar <[email protected]>
> >> Reviewed-by: Dmitry Baryshkov <[email protected]>
> >> ---
> >> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
> >> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
> >
> > How about SC7180, and any other DPU 6.x revision?
> >
>
> Will let kuogee respond to the other nits. There is no DSC in sc7180 /
> sm6115 / qcm2290. So this patch is complete.

Thank you for checking as I didn't have the DTS close (and it seems
SC7180 would have supported this, but no). I did check other SoCs in
the DPU 6.x range that are currently floating in my tree and on the
list, which do need their DSC 1.1 block added (both a single block at
0x81000 downstream, 0x80000 upstream), if you can in a resend Konrad:

DPU 6.4 in SM6350: https://lore.kernel.org/linux-arm-msm/[email protected]/
DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/[email protected]/

Thanks!

- Marijn

2023-05-15 21:19:50

by Abhinav Kumar

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog



On 5/15/2023 1:07 PM, Marijn Suijten wrote:
> On 2023-05-15 11:20:02, Abhinav Kumar wrote:
>>
>>
>>
>> On 5/14/2023 2:39 PM, Marijn Suijten wrote:
>>> DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
>>> the series is clearly aimed at 1.1...). This was done for the DSC 1.2
>>> HW block patch after all.
>>>
>>> in catalog -> to catalog
>>>
>>> But it's just two platforms, you can fit MSM8998 and SC8180X in the
>>> title.
>>>
>>> On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
>>>>
>>>> From: Abhinav Kumar <[email protected]>
>>>>
>>>> There are some platforms has DSC blocks but it is not declared at catalog.
>>>
>>> Some platforms have DSC blocks which have not yet been declared in the
>>> catalog.*
>>>
>>>> For completeness, this patch adds DSC blocks for platforms which missed
>>>> them.
>>>
>>> Drop "this patch":
>>>
>>> Complete DSC 1.1 support for all platforms by adding the missing
>>> blocks to MSM8998 and SC8180X.
>>>
>>>>
>>>> Signed-off-by: Abhinav Kumar <[email protected]>
>>>> Reviewed-by: Dmitry Baryshkov <[email protected]>
>>>> ---
>>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
>>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
>>>
>>> How about SC7180, and any other DPU 6.x revision?
>>>
>>
>> Will let kuogee respond to the other nits. There is no DSC in sc7180 /
>> sm6115 / qcm2290. So this patch is complete.
>
> Thank you for checking as I didn't have the DTS close (and it seems
> SC7180 would have supported this, but no). I did check other SoCs in
> the DPU 6.x range that are currently floating in my tree and on the
> list, which do need their DSC 1.1 block added (both a single block at
> 0x81000 downstream, 0x80000 upstream), if you can in a resend Konrad:
>
> DPU 6.4 in SM6350: https://lore.kernel.org/linux-arm-msm/[email protected]/
> DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/[email protected]/
>

If these are still on the list, can Konrad add them to his change as
that way his catalog change will be complete? Otherwise I would prefer
to add them in a follow up change because marking this change as
dependent on a catalog change which adds a new chipset is not right.

> Thanks!
>
> - Marijn

2023-05-15 21:31:50

by Marijn Suijten

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog

On 2023-05-15 13:58:35, Abhinav Kumar wrote:
>
>
>
> On 5/15/2023 1:07 PM, Marijn Suijten wrote:
> > On 2023-05-15 11:20:02, Abhinav Kumar wrote:
> >>
> >>
> >>
> >> On 5/14/2023 2:39 PM, Marijn Suijten wrote:
> >>> DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
> >>> the series is clearly aimed at 1.1...). This was done for the DSC 1.2
> >>> HW block patch after all.
> >>>
> >>> in catalog -> to catalog
> >>>
> >>> But it's just two platforms, you can fit MSM8998 and SC8180X in the
> >>> title.
> >>>
> >>> On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
> >>>>
> >>>> From: Abhinav Kumar <[email protected]>
> >>>>
> >>>> There are some platforms has DSC blocks but it is not declared at catalog.
> >>>
> >>> Some platforms have DSC blocks which have not yet been declared in the
> >>> catalog.*
> >>>
> >>>> For completeness, this patch adds DSC blocks for platforms which missed
> >>>> them.
> >>>
> >>> Drop "this patch":
> >>>
> >>> Complete DSC 1.1 support for all platforms by adding the missing
> >>> blocks to MSM8998 and SC8180X.
> >>>
> >>>>
> >>>> Signed-off-by: Abhinav Kumar <[email protected]>
> >>>> Reviewed-by: Dmitry Baryshkov <[email protected]>
> >>>> ---
> >>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
> >>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
> >>>
> >>> How about SC7180, and any other DPU 6.x revision?
> >>>
> >>
> >> Will let kuogee respond to the other nits. There is no DSC in sc7180 /
> >> sm6115 / qcm2290. So this patch is complete.
> >
> > Thank you for checking as I didn't have the DTS close (and it seems
> > SC7180 would have supported this, but no). I did check other SoCs in
> > the DPU 6.x range that are currently floating in my tree and on the
> > list, which do need their DSC 1.1 block added (both a single block at
> > 0x81000 downstream, 0x80000 upstream), if you can in a resend Konrad:
> >
> > DPU 6.4 in SM6350: https://lore.kernel.org/linux-arm-msm/[email protected]/
> > DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/[email protected]/
> >
>
> If these are still on the list, can Konrad add them to his change as
> that way his catalog change will be complete? Otherwise I would prefer
> to add them in a follow up change because marking this change as
> dependent on a catalog change which adds a new chipset is not right.

The question was for Konrad (and I addressed him by name, not you) as
his series is not merged and the DSC blocks can be added to it directly
without depending on this series. DSC 1.1 is after all available for
some time now.

- Marijn

2023-05-15 21:32:10

by Abhinav Kumar

[permalink] [raw]
Subject: Re: [PATCH v8 1/8] drm/msm/dpu: add dsc blocks for remaining chipsets in catalog



On 5/15/2023 2:23 PM, Marijn Suijten wrote:
> On 2023-05-15 13:58:35, Abhinav Kumar wrote:
>>
>>
>>
>> On 5/15/2023 1:07 PM, Marijn Suijten wrote:
>>> On 2023-05-15 11:20:02, Abhinav Kumar wrote:
>>>>
>>>>
>>>>
>>>> On 5/14/2023 2:39 PM, Marijn Suijten wrote:
>>>>> DSC*, and mention 1.1 explicitly (since this skips the 1.2 blocks, while
>>>>> the series is clearly aimed at 1.1...). This was done for the DSC 1.2
>>>>> HW block patch after all.
>>>>>
>>>>> in catalog -> to catalog
>>>>>
>>>>> But it's just two platforms, you can fit MSM8998 and SC8180X in the
>>>>> title.
>>>>>
>>>>> On 2023-05-12 11:00:16, Kuogee Hsieh wrote:
>>>>>>
>>>>>> From: Abhinav Kumar <[email protected]>
>>>>>>
>>>>>> There are some platforms has DSC blocks but it is not declared at catalog.
>>>>>
>>>>> Some platforms have DSC blocks which have not yet been declared in the
>>>>> catalog.*
>>>>>
>>>>>> For completeness, this patch adds DSC blocks for platforms which missed
>>>>>> them.
>>>>>
>>>>> Drop "this patch":
>>>>>
>>>>> Complete DSC 1.1 support for all platforms by adding the missing
>>>>> blocks to MSM8998 and SC8180X.
>>>>>
>>>>>>
>>>>>> Signed-off-by: Abhinav Kumar <[email protected]>
>>>>>> Reviewed-by: Dmitry Baryshkov <[email protected]>
>>>>>> ---
>>>>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 7 +++++++
>>>>>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 11 +++++++++++
>>>>>
>>>>> How about SC7180, and any other DPU 6.x revision?
>>>>>
>>>>
>>>> Will let kuogee respond to the other nits. There is no DSC in sc7180 /
>>>> sm6115 / qcm2290. So this patch is complete.
>>>
>>> Thank you for checking as I didn't have the DTS close (and it seems
>>> SC7180 would have supported this, but no). I did check other SoCs in
>>> the DPU 6.x range that are currently floating in my tree and on the
>>> list, which do need their DSC 1.1 block added (both a single block at
>>> 0x81000 downstream, 0x80000 upstream), if you can in a resend Konrad:
>>>
>>> DPU 6.4 in SM6350: https://lore.kernel.org/linux-arm-msm/[email protected]/
>>> DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/[email protected]/
>>>
>>
>> If these are still on the list, can Konrad add them to his change as
>> that way his catalog change will be complete? Otherwise I would prefer
>> to add them in a follow up change because marking this change as
>> dependent on a catalog change which adds a new chipset is not right.
>
> The question was for Konrad (and I addressed him by name, not you) as
> his series is not merged and the DSC blocks can be added to it directly
> without depending on this series. DSC 1.1 is after all available for
> some time now.
>

Thanks for clarifying. Your reply was cut-off "if you can in a resend
Konrad" so not sure what you were trying to tell.

> - Marijn