Message ID | 1683914423-17612-2-git-send-email-quic_khsieh@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | add DSC 1.2 dpu supports | expand |
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 <quic_abhinavk@quicinc.com> > > 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 <quic_abhinavk@quicinc.com> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > 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 >
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 <quic_abhinavk@quicinc.com> >> >> 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 <quic_abhinavk@quicinc.com> >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> --- >> 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(+) >>
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 <quic_abhinavk@quicinc.com> > >> > >> 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 <quic_abhinavk@quicinc.com> > >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >> --- > >> 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/20230411-topic-straitlagoon_mdss-v3-6-9837d6b3516d@linaro.org/ DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/20230411-topic-straitlagoon_mdss-v3-8-9837d6b3516d@linaro.org/ Thanks! - Marijn
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 <quic_abhinavk@quicinc.com> >>>> >>>> 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 <quic_abhinavk@quicinc.com> >>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >>>> --- >>>> 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/20230411-topic-straitlagoon_mdss-v3-6-9837d6b3516d@linaro.org/ > DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/20230411-topic-straitlagoon_mdss-v3-8-9837d6b3516d@linaro.org/ > 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
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 <quic_abhinavk@quicinc.com> > >>>> > >>>> 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 <quic_abhinavk@quicinc.com> > >>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >>>> --- > >>>> 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/20230411-topic-straitlagoon_mdss-v3-6-9837d6b3516d@linaro.org/ > > DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/20230411-topic-straitlagoon_mdss-v3-8-9837d6b3516d@linaro.org/ > > > > 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
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 <quic_abhinavk@quicinc.com> >>>>>> >>>>>> 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 <quic_abhinavk@quicinc.com> >>>>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >>>>>> --- >>>>>> 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/20230411-topic-straitlagoon_mdss-v3-6-9837d6b3516d@linaro.org/ >>> DPU 6.9 in SM6375: https://lore.kernel.org/linux-arm-msm/20230411-topic-straitlagoon_mdss-v3-8-9837d6b3516d@linaro.org/ >>> >> >> 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
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),