diff mbox series

arm64: dts: qcom: add missing cache node for cpu1

Message ID 20250109-topic-sm8650-cpu1-missing-cache-v1-1-0e85148a48a8@linaro.org
State New
Headers show
Series arm64: dts: qcom: add missing cache node for cpu1 | expand

Commit Message

Neil Armstrong Jan. 9, 2025, 3:24 p.m. UTC
Add the missing l2-cache node for the cpu1

Fixes: 20eb2057b3e4 ("arm64: dts: qcom: sm8650: change labels to lower-case")
Fixes: d2350377997f ("arm64: dts: qcom: add initial SM8650 dtsi")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8650.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)


---
base-commit: 6ecd20965bdc21b265a0671ccf36d9ad8043f5ab
change-id: 20250109-topic-sm8650-cpu1-missing-cache-8566b98abf39

Best regards,

Comments

Neil Armstrong Jan. 10, 2025, 9:44 a.m. UTC | #1
On 09/01/2025 19:30, Konrad Dybcio wrote:
> On 9.01.2025 4:24 PM, Neil Armstrong wrote:
>> Add the missing l2-cache node for the cpu1
>>
>> Fixes: 20eb2057b3e4 ("arm64: dts: qcom: sm8650: change labels to lower-case")
>> Fixes: d2350377997f ("arm64: dts: qcom: add initial SM8650 dtsi")
>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>> ---
> 
> subject: missing `sm8650:`

Damn

> 
>>   arch/arm64/boot/dts/qcom/sm8650.dtsi | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> index 86684cb9a9325618ddb74458621cf4bbdc1cc0d1..832f3a2c400e8348847bc24b27397e2a0dc08db8 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> @@ -119,6 +119,13 @@ cpu1: cpu@100 {
>>   			qcom,freq-domain = <&cpufreq_hw 0>;
>>   
>>   			#cooling-cells = <2>;
>> +
>> +			l2_100: l2-cache {
>> +				compatible = "cache";
>> +				cache-level = <2>;
>> +				cache-unified;
>> +				next-level-cache = <&l3_0>;
>> +			};
>>   		};
> 
> You likely wanted to hook up this new node to CPU1 as well.
> 
> Reading some Arm docs [1], it seems like with A520 specifically, both shared
> and unique cache slices are permitted, depending on whether they're
> implemented as single- or dual-core complexes (not to be confused with
> multi-threading)
> 
> [2] suggests CA720s always have their own cache pools
> 
> In 8650's case, the slowest cluster has a shared L2 cache, whereas cores 2-7
> have their own pools, so this patch is incorrect.

Damn you're right, so the cpu1 cache should be linked to the cpu0 cache somehow

Thanks,
Neil

> 
> Konrad
> 
> [1] https://developer.arm.com/documentation/102517/0004/The-Cortex-A520--core/Cortex-A520--core-configuration-options
> [2] https://developer.arm.com/documentation/102530/0001/L2-memory-system
Neil Armstrong Jan. 10, 2025, 9:49 a.m. UTC | #2
On 10/01/2025 10:44, Neil Armstrong wrote:
> On 09/01/2025 19:30, Konrad Dybcio wrote:
>> On 9.01.2025 4:24 PM, Neil Armstrong wrote:
>>> Add the missing l2-cache node for the cpu1
>>>
>>> Fixes: 20eb2057b3e4 ("arm64: dts: qcom: sm8650: change labels to lower-case")
>>> Fixes: d2350377997f ("arm64: dts: qcom: add initial SM8650 dtsi")
>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>>> ---
>>
>> subject: missing `sm8650:`
> 
> Damn
> 
>>
>>>   arch/arm64/boot/dts/qcom/sm8650.dtsi | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>> index 86684cb9a9325618ddb74458621cf4bbdc1cc0d1..832f3a2c400e8348847bc24b27397e2a0dc08db8 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>> @@ -119,6 +119,13 @@ cpu1: cpu@100 {
>>>               qcom,freq-domain = <&cpufreq_hw 0>;
>>>               #cooling-cells = <2>;
>>> +
>>> +            l2_100: l2-cache {
>>> +                compatible = "cache";
>>> +                cache-level = <2>;
>>> +                cache-unified;
>>> +                next-level-cache = <&l3_0>;
>>> +            };
>>>           };
>>
>> You likely wanted to hook up this new node to CPU1 as well.
>>
>> Reading some Arm docs [1], it seems like with A520 specifically, both shared
>> and unique cache slices are permitted, depending on whether they're
>> implemented as single- or dual-core complexes (not to be confused with
>> multi-threading)
>>
>> [2] suggests CA720s always have their own cache pools
>>
>> In 8650's case, the slowest cluster has a shared L2 cache, whereas cores 2-7
>> have their own pools, so this patch is incorrect.
> 
> Damn you're right, so the cpu1 cache should be linked to the cpu0 cache somehow

Well, stupid me, it's already done... sorry for the noise and thx for your review

Neil

> 
> Thanks,
> Neil
> 
>>
>> Konrad
>>
>> [1] https://developer.arm.com/documentation/102517/0004/The-Cortex-A520--core/Cortex-A520--core-configuration-options
>> [2] https://developer.arm.com/documentation/102530/0001/L2-memory-system
>
Konrad Dybcio Jan. 10, 2025, 12:06 p.m. UTC | #3
On 10.01.2025 10:49 AM, Neil Armstrong wrote:
> On 10/01/2025 10:44, Neil Armstrong wrote:
>> On 09/01/2025 19:30, Konrad Dybcio wrote:
>>> On 9.01.2025 4:24 PM, Neil Armstrong wrote:
>>>> Add the missing l2-cache node for the cpu1
>>>>
>>>> Fixes: 20eb2057b3e4 ("arm64: dts: qcom: sm8650: change labels to lower-case")
>>>> Fixes: d2350377997f ("arm64: dts: qcom: add initial SM8650 dtsi")
>>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>>>> ---
>>>
>>> subject: missing `sm8650:`
>>
>> Damn
>>
>>>
>>>>   arch/arm64/boot/dts/qcom/sm8650.dtsi | 7 +++++++
>>>>   1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>>> index 86684cb9a9325618ddb74458621cf4bbdc1cc0d1..832f3a2c400e8348847bc24b27397e2a0dc08db8 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>>>> @@ -119,6 +119,13 @@ cpu1: cpu@100 {
>>>>               qcom,freq-domain = <&cpufreq_hw 0>;
>>>>               #cooling-cells = <2>;
>>>> +
>>>> +            l2_100: l2-cache {
>>>> +                compatible = "cache";
>>>> +                cache-level = <2>;
>>>> +                cache-unified;
>>>> +                next-level-cache = <&l3_0>;
>>>> +            };
>>>>           };
>>>
>>> You likely wanted to hook up this new node to CPU1 as well.
>>>
>>> Reading some Arm docs [1], it seems like with A520 specifically, both shared
>>> and unique cache slices are permitted, depending on whether they're
>>> implemented as single- or dual-core complexes (not to be confused with
>>> multi-threading)
>>>
>>> [2] suggests CA720s always have their own cache pools
>>>
>>> In 8650's case, the slowest cluster has a shared L2 cache, whereas cores 2-7
>>> have their own pools, so this patch is incorrect.
>>
>> Damn you're right, so the cpu1 cache should be linked to the cpu0 cache somehow
> 
> Well, stupid me, it's already done... sorry for the noise and thx for your review

cpu3 should still get its own one

Konrad
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index 86684cb9a9325618ddb74458621cf4bbdc1cc0d1..832f3a2c400e8348847bc24b27397e2a0dc08db8 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -119,6 +119,13 @@  cpu1: cpu@100 {
 			qcom,freq-domain = <&cpufreq_hw 0>;
 
 			#cooling-cells = <2>;
+
+			l2_100: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+				cache-unified;
+				next-level-cache = <&l3_0>;
+			};
 		};
 
 		cpu2: cpu@200 {