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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux