Re: [PATCH V2] arm64: tegra: add topology data for Tegra194 cpu

From: Thierry Reding
Date: Wed Feb 13 2019 - 03:12:59 EST


On Mon, Feb 11, 2019 at 03:47:07PM -0800, Bo Yan wrote:
> The xavier CPU architecture includes 8 CPU cores organized in
> 4 clusters. Add cpu-map data for topology initialization, this
> fixes the topology information in
> /sys/devices/system/cpu/cpu[n]/topology
>
> Signed-off-by: Bo Yan <byan@xxxxxxxxxx>
> ---
> V2: remove cache nodes, add topology data only
>
> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 58 +++++++++++++++++++++++++++-----
> 1 file changed, 50 insertions(+), 8 deletions(-)

This mostly looks good to me. One minor comment below.

>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> index 6dfa1ca..35e6e76 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> @@ -870,56 +870,98 @@
> #address-cells = <1>;
> #size-cells = <0>;
>
> - cpu@0 {
> + cpu-map {
> + cluster0 {
> + core0 {
> + cpu = <&cl0_0>;

I wonder if perhaps in this case it would be better to use the full path
to refer to the phandle here. That way we can avoid the labels, which
are somewhat cumbersome to write and the hierarchy, in my opinion, is a
much more natural way to reference these.

What I'm suggesting would look roughly like this:

cpu-map {
cluster0 {
core0 {
cpu = <&{/cpus/cpu@0}>;
};

core1 {
cpu = <&{/cpus/cpu@1}>;
};
};

cluster1 {
core0 {
cpu = <&{/cpus/cpu@2}>;
};

core1 {
cpu = <&{/cpus/cpu@3}>;
};
};

...
};

That's slightly more characters, but I think it's much easier to read
than the labels.

I don't feel very strongly about it, though, so feel free to keep this
as-is if you prefer.

Thierry

Attachment: signature.asc
Description: PGP signature