Re: [PATCH v2 2/3] soc: qcom: llcc: Add LLCC configuration for the QCS8300 platform

From: Jingyi Wang
Date: Sun Oct 27 2024 - 22:23:08 EST




On 10/20/2024 12:29 AM, Dmitry Baryshkov wrote:
> On Thu, Oct 10, 2024 at 06:08:47PM +0800, Jingyi Wang wrote:
>> Add LLCC configuration for the QCS8300 platform. There is an errata on
>> LB_CNT information on QCS8300 platform, override the value to get the
>> right number of banks.
>>
>> Signed-off-by: Jingyi Wang <quic_jingyw@xxxxxxxxxxx>
>> ---
>> drivers/soc/qcom/llcc-qcom.c | 72 ++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 72 insertions(+)
>>
>> @@ -3391,6 +3456,12 @@ static int qcom_llcc_probe(struct platform_device *pdev)
>> num_banks >>= LLCC_LB_CNT_SHIFT;
>> drv_data->num_banks = num_banks;
>>
>> + /* LB_CNT information is wrong on QCS8300, override the value */
>> + if (of_device_is_compatible(dev->of_node, "qcom,qcs8300-llcc")) {
>> + num_banks = 4;
>> + drv_data->num_banks = 4;
>> + }
>
> Nit: I think it might be better to skip reading LLCC_COMMON_STATUS0
> register completely and just set num_banks instead. See [1]
>
> [1] https://lore.kernel.org/linux-arm-msm/20241019-sar2130p-llcc-v1-2-4e09063d04f2@xxxxxxxxxx/
>

Just went through the series and the follow up sereies, I think it is a good idea to
add the property in the config. Thanks!


>> +
>> drv_data->regmaps = devm_kcalloc(dev, num_banks, sizeof(*drv_data->regmaps), GFP_KERNEL);
>> if (!drv_data->regmaps) {
>> ret = -ENOMEM;
>> @@ -3484,6 +3555,7 @@ static int qcom_llcc_probe(struct platform_device *pdev)
>> }
>>
>> static const struct of_device_id qcom_llcc_of_match[] = {
>> + { .compatible = "qcom,qcs8300-llcc", .data = &qcs8300_cfgs},
>> { .compatible = "qcom,qdu1000-llcc", .data = &qdu1000_cfgs},
>> { .compatible = "qcom,sa8775p-llcc", .data = &sa8775p_cfgs },
>> { .compatible = "qcom,sc7180-llcc", .data = &sc7180_cfgs },
>>
>> --
>> 2.25.1
>>
>
Thanks,
Jingyi