Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull Devicetree fixes from Rob Herring:

- fix cpu node iterator for powerpc systems

- clarify ARM CPU binding 'capacities-dmips-mhz' property calculations

* tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
of: Fix cpu node iterator to not ignore disabled cpu nodes
dt-bindings: arm: Explain capacities-dmips-mhz calculations in example

+5 -5
+5 -3
Documentation/devicetree/bindings/arm/cpu-capacity.txt
··· 59 59 =========================================== 60 60 61 61 Example 1 (ARM 64-bit, 6-cpu system, two clusters): 62 - capacities-dmips-mhz are scaled w.r.t. 1024 (cpu@0 and cpu@1) 63 - supposing cluster0@max-freq=1100 and custer1@max-freq=850, 64 - final capacities are 1024 for cluster0 and 446 for cluster1 62 + The capacities-dmips-mhz or DMIPS/MHz values (scaled to 1024) 63 + are 1024 and 578 for cluster0 and cluster1. Further normalization 64 + is done by the operating system based on cluster0@max-freq=1100 and 65 + custer1@max-freq=850, final capacities are 1024 for cluster0 and 66 + 446 for cluster1 (576*850/1100). 65 67 66 68 cpus { 67 69 #address-cells = <2>;
-2
drivers/of/base.c
··· 777 777 if (!(of_node_name_eq(next, "cpu") || 778 778 (next->type && !of_node_cmp(next->type, "cpu")))) 779 779 continue; 780 - if (!__of_device_is_available(next)) 781 - continue; 782 780 if (of_node_get(next)) 783 781 break; 784 782 }