linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add enable method support for Exynos SoCs
@ 2016-12-10 10:45 Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 1/3] Documentation: bindings: Add binding doc for exynos enable method Pankaj Dubey
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Pankaj Dubey @ 2016-12-10 10:45 UTC (permalink / raw)
  To: linux-arm-kernel

Lets use CPU_METHOD_OF_DECLARE() for smp_ops instead of using it
via machine descriptor. To keep compatibility of older DTBs lets not 
remove smp_ops hooks from machnine_descriptor.

Changes since v1:
 - Dropped code removing smp_ops hooks from exynos.c
 - Separated patch into three patches separating change in .c, .dtsi
   and updated binding Documentation.

Pankaj Dubey (3):
  Documentation: bindings: Add binding doc for exynos enable method
  ARM: EXYNOS: dts: add enable-method property for cpus node
  ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs

 Documentation/devicetree/bindings/arm/cpus.txt | 1 +
 arch/arm/boot/dts/exynos3250.dtsi              | 1 +
 arch/arm/boot/dts/exynos4210.dtsi              | 1 +
 arch/arm/boot/dts/exynos4212.dtsi              | 1 +
 arch/arm/boot/dts/exynos4412.dtsi              | 1 +
 arch/arm/boot/dts/exynos5250.dtsi              | 1 +
 arch/arm/boot/dts/exynos5260.dtsi              | 1 +
 arch/arm/boot/dts/exynos5410.dtsi              | 1 +
 arch/arm/boot/dts/exynos5420-cpus.dtsi         | 1 +
 arch/arm/boot/dts/exynos5422-cpus.dtsi         | 1 +
 arch/arm/boot/dts/exynos5440.dtsi              | 1 +
 arch/arm/mach-exynos/platsmp.c                 | 2 ++
 12 files changed, 13 insertions(+)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/3] Documentation: bindings: Add binding doc for exynos enable method
  2016-12-10 10:45 [PATCH v2 0/3] Add enable method support for Exynos SoCs Pankaj Dubey
@ 2016-12-10 10:46 ` Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 2/3] ARM: EXYNOS: dts: add enable-method property for cpus node Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs Pankaj Dubey
  2 siblings, 0 replies; 5+ messages in thread
From: Pankaj Dubey @ 2016-12-10 10:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add "samsung,exynos-smp" as enable-method for Samsung's Exynos SoC.

CC: Rob Herring <robh+dt@kernel.org> 
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
 Documentation/devicetree/bindings/arm/cpus.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index e6782d5..12730c8 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -209,6 +209,7 @@ nodes to be present and contain the properties described below.
 			    "renesas,apmu"
 			    "rockchip,rk3036-smp"
 			    "rockchip,rk3066-smp"
+			    "samsung,exynos-smp"
 			    "ste,dbx500-smp"
 
 	- cpu-release-addr
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/3] ARM: EXYNOS: dts: add enable-method property for cpus node
  2016-12-10 10:45 [PATCH v2 0/3] Add enable method support for Exynos SoCs Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 1/3] Documentation: bindings: Add binding doc for exynos enable method Pankaj Dubey
@ 2016-12-10 10:46 ` Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs Pankaj Dubey
  2 siblings, 0 replies; 5+ messages in thread
From: Pankaj Dubey @ 2016-12-10 10:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add the enable-method property for the cpu node on various exynosMMMM.dtsi.
This is used for CPU_METHOD_OF_DECLARE to use to enable the secondary core.

CC: Rob Herring <robh+dt@kernel.org>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
 arch/arm/boot/dts/exynos3250.dtsi      | 1 +
 arch/arm/boot/dts/exynos4210.dtsi      | 1 +
 arch/arm/boot/dts/exynos4212.dtsi      | 1 +
 arch/arm/boot/dts/exynos4412.dtsi      | 1 +
 arch/arm/boot/dts/exynos5250.dtsi      | 1 +
 arch/arm/boot/dts/exynos5260.dtsi      | 1 +
 arch/arm/boot/dts/exynos5410.dtsi      | 1 +
 arch/arm/boot/dts/exynos5420-cpus.dtsi | 1 +
 arch/arm/boot/dts/exynos5422-cpus.dtsi | 1 +
 arch/arm/boot/dts/exynos5440.dtsi      | 1 +
 10 files changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index ba17ee1..f28f669 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -53,6 +53,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 0 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index 7f3a18c..6dfd98d 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -35,6 +35,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 900 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi
index 5389011..3e8982e 100644
--- a/arch/arm/boot/dts/exynos4212.dtsi
+++ b/arch/arm/boot/dts/exynos4212.dtsi
@@ -25,6 +25,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at A00 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index 40beede..faf2fb8 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -25,6 +25,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at A00 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index b6d7444..580897c 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -52,6 +52,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 0 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5260.dtsi b/arch/arm/boot/dts/exynos5260.dtsi
index 5818718..1af6e76 100644
--- a/arch/arm/boot/dts/exynos5260.dtsi
+++ b/arch/arm/boot/dts/exynos5260.dtsi
@@ -32,6 +32,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu at 0 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 2b6adaf..b092cdc 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -33,6 +33,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 0 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5420-cpus.dtsi b/arch/arm/boot/dts/exynos5420-cpus.dtsi
index 5c052d7..a587704 100644
--- a/arch/arm/boot/dts/exynos5420-cpus.dtsi
+++ b/arch/arm/boot/dts/exynos5420-cpus.dtsi
@@ -24,6 +24,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 0 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
index bf3c6f1..7fcdfd0 100644
--- a/arch/arm/boot/dts/exynos5422-cpus.dtsi
+++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
@@ -23,6 +23,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu0: cpu at 100 {
 			device_type = "cpu";
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi
index 2a2e570..0a958e8 100644
--- a/arch/arm/boot/dts/exynos5440.dtsi
+++ b/arch/arm/boot/dts/exynos5440.dtsi
@@ -50,6 +50,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		enable-method = "samsung,exynos-smp";
 
 		cpu at 0 {
 			device_type = "cpu";
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs
  2016-12-10 10:45 [PATCH v2 0/3] Add enable method support for Exynos SoCs Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 1/3] Documentation: bindings: Add binding doc for exynos enable method Pankaj Dubey
  2016-12-10 10:46 ` [PATCH v2 2/3] ARM: EXYNOS: dts: add enable-method property for cpus node Pankaj Dubey
@ 2016-12-10 10:46 ` Pankaj Dubey
  2016-12-10 11:13   ` Krzysztof Kozlowski
  2 siblings, 1 reply; 5+ messages in thread
From: Pankaj Dubey @ 2016-12-10 10:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add CPU_METHOD_OF_DECLARE to use enable_method property of
cpus node. To keep compatibility with older DTBs lets keep
older method of registering smp_ops via machine_descriptor.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
 arch/arm/mach-exynos/platsmp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
index 94405c7..43eec10 100644
--- a/arch/arm/mach-exynos/platsmp.c
+++ b/arch/arm/mach-exynos/platsmp.c
@@ -474,3 +474,5 @@ const struct smp_operations exynos_smp_ops __initconst = {
 	.cpu_die		= exynos_cpu_die,
 #endif
 };
+
+CPU_METHOD_OF_DECLARE(exynos_smp, "samsung,exynos-smp", &exynos_smp_ops);
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs
  2016-12-10 10:46 ` [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs Pankaj Dubey
@ 2016-12-10 11:13   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2016-12-10 11:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Dec 10, 2016 at 04:16:02PM +0530, Pankaj Dubey wrote:
> Add CPU_METHOD_OF_DECLARE to use enable_method property of
> cpus node. To keep compatibility with older DTBs lets keep
> older method of registering smp_ops via machine_descriptor.
> 
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> ---
>  arch/arm/mach-exynos/platsmp.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
> index 94405c7..43eec10 100644
> --- a/arch/arm/mach-exynos/platsmp.c
> +++ b/arch/arm/mach-exynos/platsmp.c
> @@ -474,3 +474,5 @@ const struct smp_operations exynos_smp_ops __initconst = {
>  	.cpu_die		= exynos_cpu_die,
>  #endif
>  };
> +
> +CPU_METHOD_OF_DECLARE(exynos_smp, "samsung,exynos-smp", &exynos_smp_ops);

Are you sure that smp_ops from DT will be set after mdesc->smp? The
arm_dt_init_cpu_maps() is called before smp_set_ops(mdesc->smp)... Have
you actually tried this?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-12-10 11:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-10 10:45 [PATCH v2 0/3] Add enable method support for Exynos SoCs Pankaj Dubey
2016-12-10 10:46 ` [PATCH v2 1/3] Documentation: bindings: Add binding doc for exynos enable method Pankaj Dubey
2016-12-10 10:46 ` [PATCH v2 2/3] ARM: EXYNOS: dts: add enable-method property for cpus node Pankaj Dubey
2016-12-10 10:46 ` [PATCH v2 3/3] ARM: EXYNOS: add CPU_METHOD_OF_DECLARE for exynos SoCs Pankaj Dubey
2016-12-10 11:13   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).