Thread (20 messages) 20 messages, 4 authors, 2024-05-28

Re: [PATCH] arm64: dts: allwinner: Add cache information to the SoC dtsi for H6

From: Dragan Simic <hidden>
Date: 2024-05-03 09:13:29
Also in: linux-devicetree, linux-sunxi, lkml

Hello Andre,

On 2024-05-01 11:30, Andre Przywara wrote:
On Tue, 30 Apr 2024 13:10:41 +0200
Dragan Simic [off-list ref] wrote:
quoted
On 2024-04-30 12:46, Andre Przywara wrote:
quoted
On Tue, 30 Apr 2024 02:01:42 +0200
Dragan Simic [off-list ref] wrote:
quoted
Thank you very much for reviewing my patch in such a detailed way!
It's good to know that the values in the Allwinner datasheets match
with the observed reality, so to speak. :)
YW, and yes, I like to double check things when it comes to Allwinner
documentation ;-) And it was comparably easy for this problem.
Double checking is always good, IMHO. :)
quoted
Out of curiosity: what triggered that patch? Trying to get rid of false
warning/error messages?
Yes, one of the motivators was to get rid of the false kernel warning,
and the other was to have the cache information nicely available 
through
lscpu(1).  I already did the same for a few Rockchip SoCs, [1][2][3] 
so
a couple of Allwinner SoCs were the next on my mental TODO list. :)
Thanks for doing this!
I'm glad that you like all these patches. :)
quoted
quoted
And do you plan to address the H616 as well? It's a bit more tricky 
there,
since there are two die revisions out: one with 256(?)KB of L2, one 
with
1MB(!). We know how to tell them apart, so I could provide some TF-A 
code
to patch that up in the DT. The kernel DT copy could go with 256KB 
then.
I have no boards based on the Allwinner H616, so it wasn't on my 
radar.
Though, I'd be happy to prepare and submit a similar kernel patch for
the H616, if you'd then take it further and submit a TF-A patch that
fixes the DT according to the detected die revision?  Did I understand
the plan right?
Yes, that was the idea. I have a working version of that TF-A patch 
now,
just need to figure out some details about the best way to only build 
this
for the H616 port.
Nice, the kernel patch for the H616 SoC dtsi is now on the list, [4]
please have a look.  Please let me know when your follow-up TF-A patch
gets submitted upstream, so I can watch it.
Neither the data sheet nor the user manual mention the cache sizes for 
the
H616, but I checked the CSSIDR_EL1 register readouts on both an old 
H616
and a new H618, and they confirm that the former has 256 KB L2, and the
latter 1MB.
Oh wow, 1 MB of L2 cache is quite a lot for such an SoC, which is
actually very nice to see.  Thumbs up for Allwinner not skimping on
the L2 cache in that H616 die revision. :)
Also I ran tinymembench on two boards to confirm this,
community benchmarks results are available here:
https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md
The OrangePi Zero2 and OrangePi Zero3 are good examples, respectively.
Associativity and cache line size are dictated by the Arm Cortex cores,
and the L1I & L1D sizes are the same as in the other SoCs.
I've included the most important benchmark results in the H616 SoC
dtsi patch, [4] which actually now serves as an additional reference
for the cache sizes.

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=67a6a98575974416834c2294853b3814376a7ce7
[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=8612169a05c5e979af033868b7a9b177e0f9fcdf
[3] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=b72633ba5cfa932405832de25d0f0a11716903b4
[4] 
https://lore.kernel.org/linux-sunxi/9d52e6d338a059618d894abb0764015043330c2b.1714727227.git.dsimic@manjaro.org/ (local)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help