[PATCH 4/4] soc: mediatek: mmsys: Use an array for setting the routing registers

Matthias Brugger matthias.bgg at gmail.com
Thu Oct 8 06:53:31 EDT 2020



On 08/10/2020 09:49, Enric Balletbo i Serra wrote:
> Hi Chun-Kuang,
> 
> On 8/10/20 2:01, Chun-Kuang Hu wrote:
>> Hi, Enric:
>>
>> Enric Balletbo i Serra <enric.balletbo at collabora.com> 於 2020年10月7日 週三 上午3:33寫道:
>>>
>>> From: CK Hu <ck.hu at mediatek.com>
>>>
>>> Actually, setting the registers for routing, use multiple 'if-else' for different
>>> routes, but this code would be more and more complicated while we
>>> support more and more SoCs. Change that and use a table per SoC so the
>>> code will be more portable and clear.
>>>
>>> Signed-off-by: CK Hu <ck.hu at mediatek.com>
>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
>>> ---
>>>
>>>   drivers/soc/mediatek/mtk-mmsys.c | 393 +++++++++++++++++--------------
>>>   1 file changed, 210 insertions(+), 183 deletions(-)
>>>
>>
>> [snip]
>>
>>>
>>>   static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
>>> @@ -93,10 +115,6 @@ static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
>>>          .clk_driver = "clk-mt6797-mm",
>>>   };
>>>
>>> -static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
>>> -       .clk_driver = "clk-mt8173-mm",
>>> -};
>>> -
>>>   static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
>>>          .clk_driver = "clk-mt8183-mm",
>>>   };
>>> @@ -106,180 +124,192 @@ struct mtk_mmsys {
>>>          const struct mtk_mmsys_driver_data *data;
>>>   };
>>>
>>
>> [snip]
>>
>>> +static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
>>> +       .clk_driver = "clk-mt8173-mm",
>>> +       .routes = mt8173_mmsys_routing_table,
>>> +       .num_routes = ARRAY_SIZE(mt8173_mmsys_routing_table),
>>> +};
>>>
>>
>> I remove my Reviewed-by tag. You does not set routes for mt2701 and
>> mt2712, but these two SoC need that. Maybe now they use the same table
>> as mt8173.
>>
> 
> I did that on purpose as explained in the cover letter, and asked for someone
> with the hardware to provide me a working routing table. But, if you think the
> same routing should work on those devices I'm fine to use the same for all the
> current devices. I don't have that hardware, so anyway, will need to test.
> 

But you could deduce the routes needed by having a look into the components in 
mtk_drm_drv.c, correct?
Well see my other email, but defining them twice sounds like not a good approach 
to me.

Regards,
Matthias



More information about the linux-arm-kernel mailing list