[Freedreno] [PATCH v4 04/19] drm/msm/dpu: drop dpu_mdss_cfg::mdp_count field

Abhinav Kumar quic_abhinavk at quicinc.com
Wed Jul 12 00:41:11 UTC 2023



On 7/4/2023 12:01 PM, Abhinav Kumar wrote:
> 
> 
> On 7/4/2023 10:28 AM, Dmitry Baryshkov wrote:
>> On Tue, 4 Jul 2023 at 19:10, Abhinav Kumar <quic_abhinavk at quicinc.com> 
>> wrote:
>>>
>>>
>>>
>>> On 7/4/2023 4:52 AM, Dmitry Baryshkov wrote:
>>>> On Tue, 4 Jul 2023 at 13:06, Dmitry Baryshkov
>>>> <dmitry.baryshkov at linaro.org> wrote:
>>>>>
>>>>> On Tue, 4 Jul 2023 at 07:04, Abhinav Kumar 
>>>>> <quic_abhinavk at quicinc.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 7/3/2023 7:20 PM, Dmitry Baryshkov wrote:
>>>>>>> On 03/07/2023 05:01, Abhinav Kumar wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 6/19/2023 2:25 PM, Dmitry Baryshkov wrote:
>>>>>>>>> There is always a single MDP TOP block. Drop the mdp_count 
>>>>>>>>> field and
>>>>>>>>> stop declaring dpu_mdp_cfg instances as arrays.
>>>>>>>>>
>>>>>>>>> Tested-by: Marijn Suijten <marijn.suijten at somainline.org>
>>>>>>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>>>>>>>>> ---
>>>>>>>>
>>>>>>>> The change drops mdp_count and stops using the array which is 
>>>>>>>> fine and
>>>>>>>> I will support that.
>>>>>>>>
>>>>>>>> But looking at the pattern I saw while using core_revision, both
>>>>>>>> DPU_MDP_VSYNC_SEL and DPU_MDP_AUDIO_SELECT can also be dropped from
>>>>>>>> the catalog in favor of using core_revision.
>>>>>>>>
>>>>>>>> Hence for that, I request you not to stop passing dpu_mdss_cfg to
>>>>>>>> dpu_hw_mdptop_init as that has the necessary information of
>>>>>>>> core_revision.
>>>>>>>
>>>>>>> Sure, I'll restore it. Please note, however, that it might be 
>>>>>>> better to
>>>>>>> pass struct dpu_caps instead of the full struct dpu_mdss_cfg.
>>>>>>>
>>>>>>
>>>>>> Thanks for restoring.
>>>>>>
>>>>>> Can you pls explain this better? dpu_core_rev is part of 
>>>>>> dpu_mdss_cfg,
>>>>>> so dpu_caps wont be enough for this one.
>>>>>
>>>>> Oh, true. For some reason I thought that version is a part of 
>>>>> dpu_caps.
>>>>
>>>> And after additional thought. Maybe it would be better to add a
>>>> separate struct dpu_mdss_version and pass it to the hw block init
>>>> functions?
>>>>
>>>
>>> I would like to see this evolve. Today, we are assuming that only the hw
>>> block init functions are the places we would use those.
>>>
>>>   From what I recall, the DSC over DP series needed the core_revision in
>>> the timing gen code somewhere.
>>
>> I hope you are talking about the DPU driver here, not about the DP
>> driver. For the DP driver please use struct msm_dp_desc.
>>
> 
> Yes DPU driver.
> 
>>>
>>> If we see that pattern is possible once that lands, why not.
>>>
>>> Right now, I would leave it at dpu_mdss_cfg.
>>>

Changed my mind on this due to two reasons:

1) the earlier agreement was to pass dpu_mdss_cfg but passing that will 
be against the design of dpu_hw_*** functions because they have stopped 
passing the index and as dpu_intf_cfg is encapsulated within 
dpu_mdss_cfg, passing both is duplicated information.

2) I have cross-checked that even for DSC over DP, we should be able to 
pass dpu_kms->catalog->mdss_rev with this approach like I have posted now


>>>>>
>>>>>>
>>>>>>>>
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_3_0_msm8998.h   |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_4_0_sdm845.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_5_0_sm8150.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h   |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_0_sm8250.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_2_sc7180.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_3_sm6115.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_4_sm6350.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h   |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_6_9_sm6375.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_7_0_sm8350.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_7_2_sc7280.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h  |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_8_1_sm8450.h    |  7 +---
>>>>>>>>>     .../msm/disp/dpu1/catalog/dpu_9_0_sm8550.h    |  7 +---
>>>>>>>>>     .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h    |  1 -
>>>>>>>>>     drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c    | 38 
>>>>>>>>> +++----------------
>>>>>>>>>     drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h    |  8 ++--
>>>>>>>>>     drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  4 +-
>>>>>>>>>     19 files changed, 41 insertions(+), 115 deletions(-)
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> With best wishes
>>>>> Dmitry
>>>>
>>>>
>>>>
>>
>>
>>


More information about the dri-devel mailing list