diff for duplicates of <520B5584.7030608@arm.com> diff --git a/a/1.txt b/N1/1.txt index 4258788..c55e7ab 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,35 +7,40 @@ On 13/08/13 22:07, Benjamin Herrenschmidt wrote: >> instances to use generic definition. >> >> Let me know if the idea is correct. -> -> No. The device-tree historically only represents cores, not HW threads, so -> it makes sense to retrieve also the thread number corresponding to the CPU. -> +>=20 +> No. The device-tree historically only represents cores, not HW threads, s= +o +> it makes sense to retrieve also the thread number corresponding to the CP= +U. +>=20 Ok -> However, the mechanism to represent HW threads in the device-tree is currently +> However, the mechanism to represent HW threads in the device-tree is curr= +ently > somewhat platform specific (the ibm,ppc-interrupt-server#s). I see most of the callers pass NULL to thread id argument except 2 instances in entire tree. If that's the case why can't we move to use generic of_get_cpu_node in most of those cases and have PPC specific implementation for the ones using thread id. -> +>=20 > So what you could do for now is: -> -> - Have a generic version that always returns 0 as the thread, which is weak +>=20 +> - Have a generic version that always returns 0 as the thread, which is w= +eak I would prefer to move to generic of_get_cpu_node where ever possible and rename the function that takes thread id rather than making generic one weak. -> +>=20 > - powerpc keeps its own implementation How about only in cases where it needs thread_id. -> -> - Start a discussion on the bindings (if not already there) to define threads +>=20 +> - Start a discussion on the bindings (if not already there) to define th= +reads > in a better way at which point the generic function can be updated. -> +>=20 I am not sure if we need to define any new bindings. Excerpts from ePAPR (v1.1): "3.7.1 General Properties of CPU nodes @@ -53,15 +58,15 @@ of_get_cpu_node: for_each_child_of_node(cpus, cpun) { if (of_node_cmp(cpun->type, "cpu")) continue; - cell = of_get_property(cpun, "reg", &prop_len); + cell =3D of_get_property(cpun, "reg", &prop_len); if (!cell) { pr_warn("%s: missing reg property\n", cpun->full_name); continue; } - prop_len /= sizeof(*cell); + prop_len /=3D sizeof(*cell); while (prop_len) { - hwid = of_read_number(cell, ac); - prop_len -= ac; + hwid =3D of_read_number(cell, ac); + prop_len -=3D ac; if (arch_match_cpu_phys_id(cpu, hwid)) return cpun; } diff --git a/a/content_digest b/N1/content_digest index 77b85e2..6a45536 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -7,16 +7,16 @@ "Subject\0Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12\0" "Date\0Wed, 14 Aug 2013 11:01:40 +0100\0" "To\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0" - "Cc\0Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>" - linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> - Rafael J. Wysocki <rjw@sisk.pl> - rob.herring@calxeda.com <rob.herring@calxeda.com> - Viresh Kumar <viresh.kumar@linaro.org> - Olof Johansson <olof@lixom.net> + "Cc\0devicetree@vger.kernel.org <devicetree@vger.kernel.org>" linux-pm@vger.kernel.org <linux-pm@vger.kernel.org> - linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com> + Viresh Kumar <viresh.kumar@linaro.org> linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> - " devicetree@vger.kernel.org <devicetree@vger.kernel.org>\0" + rob.herring@calxeda.com <rob.herring@calxeda.com> + Rafael J. Wysocki <rjw@sisk.pl> + Olof Johansson <olof@lixom.net> + linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> + " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0" "\00:1\0" "b\0" "On 13/08/13 22:07, Benjamin Herrenschmidt wrote:\n" @@ -28,35 +28,40 @@ ">> instances to use generic definition.\n" ">>\n" ">> Let me know if the idea is correct.\n" - "> \n" - "> No. The device-tree historically only represents cores, not HW threads, so\n" - "> it makes sense to retrieve also the thread number corresponding to the CPU.\n" - "> \n" + ">=20\n" + "> No. The device-tree historically only represents cores, not HW threads, s=\n" + "o\n" + "> it makes sense to retrieve also the thread number corresponding to the CP=\n" + "U.\n" + ">=20\n" "Ok\n" "\n" - "> However, the mechanism to represent HW threads in the device-tree is currently\n" + "> However, the mechanism to represent HW threads in the device-tree is curr=\n" + "ently\n" "> somewhat platform specific (the ibm,ppc-interrupt-server#s).\n" "I see most of the callers pass NULL to thread id argument except 2\n" "instances in entire tree. If that's the case why can't we move to use\n" "generic of_get_cpu_node in most of those cases and have PPC specific\n" "implementation for the ones using thread id.\n" "\n" - "> \n" + ">=20\n" "> So what you could do for now is:\n" - "> \n" - "> - Have a generic version that always returns 0 as the thread, which is weak\n" + ">=20\n" + "> - Have a generic version that always returns 0 as the thread, which is w=\n" + "eak\n" "I would prefer to move to generic of_get_cpu_node where ever possible\n" "and rename the function that takes thread id rather than making generic\n" "one weak.\n" "\n" - "> \n" + ">=20\n" "> - powerpc keeps its own implementation\n" "How about only in cases where it needs thread_id.\n" "\n" - "> \n" - "> - Start a discussion on the bindings (if not already there) to define threads\n" + ">=20\n" + "> - Start a discussion on the bindings (if not already there) to define th=\n" + "reads\n" "> in a better way at which point the generic function can be updated.\n" - "> \n" + ">=20\n" "I am not sure if we need to define any new bindings. Excerpts from ePAPR\n" "(v1.1):\n" "\"3.7.1 General Properties of CPU nodes\n" @@ -74,15 +79,15 @@ "for_each_child_of_node(cpus, cpun) {\n" " if (of_node_cmp(cpun->type, \"cpu\"))\n" " continue;\n" - " cell = of_get_property(cpun, \"reg\", &prop_len);\n" + " cell =3D of_get_property(cpun, \"reg\", &prop_len);\n" " if (!cell) {\n" " pr_warn(\"%s: missing reg property\\n\", cpun->full_name);\n" " continue;\n" " }\n" - " prop_len /= sizeof(*cell);\n" + " prop_len /=3D sizeof(*cell);\n" " while (prop_len) {\n" - " hwid = of_read_number(cell, ac);\n" - " prop_len -= ac;\n" + " hwid =3D of_read_number(cell, ac);\n" + " prop_len -=3D ac;\n" " if (arch_match_cpu_phys_id(cpu, hwid))\n" " return cpun;\n" " }\n" @@ -97,4 +102,4 @@ "Regards,\n" Sudeep -e4989b8a6b9dc0d8ec2336505eac7de49bcbfef00ca71bfe0ee200e974edff9f +992bfc2a90487fd106fe7138521e53d3348af74c5610b1029506a736c37103db
diff --git a/a/content_digest b/N2/content_digest index 77b85e2..fce4604 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -3,20 +3,10 @@ "ref\0520A536C.3030600@arm.com\0" "ref\0520A7B00.8060405@arm.com\0" "ref\01376428024.4255.14.camel@pasglop\0" - "From\0Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>\0" - "Subject\0Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12\0" + "From\0Sudeep.KarkadaNagesha@arm.com (Sudeep KarkadaNagesha)\0" + "Subject\0[GIT PULL] DT/core: cpu_ofnode updates for v3.12\0" "Date\0Wed, 14 Aug 2013 11:01:40 +0100\0" - "To\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0" - "Cc\0Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>" - linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> - Rafael J. Wysocki <rjw@sisk.pl> - rob.herring@calxeda.com <rob.herring@calxeda.com> - Viresh Kumar <viresh.kumar@linaro.org> - Olof Johansson <olof@lixom.net> - linux-pm@vger.kernel.org <linux-pm@vger.kernel.org> - linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> - linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> - " devicetree@vger.kernel.org <devicetree@vger.kernel.org>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On 13/08/13 22:07, Benjamin Herrenschmidt wrote:\n" @@ -97,4 +87,4 @@ "Regards,\n" Sudeep -e4989b8a6b9dc0d8ec2336505eac7de49bcbfef00ca71bfe0ee200e974edff9f +a97c9f38b68bc95d85cdb91e20b3f8b7f405e3b1c0263012aa48b174adab7337
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.