All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] add cpuidle support for Exynos5420
       [not found] <ANuQgHGSPJ45tbrVppAVpOqF0OfHacPWfX=S5mOVxTPr66f7vg@mail.gmail.com>
@ 2014-05-14  8:03   ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim, Chander Kashyap

Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.

This patchset adds cpuidle support for Exynos5420 SoC based on
generic big.little cpuidle driver.

Tested on SMDK5420.

This patch set depends on:
	1. [PATCH 0/5] MCPM backend for Exynos5420
	   http://www.spinics.net/lists/arm-kernel/msg331100.html
Changelog is in respective patches.
Chander Kashyap (5):
  driver: cpuidle-big-little: add of_device_id structure
  arm: exynos: add generic function to calculate cpu number
  cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
    driver
  driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  mcpm: exynos: populate suspend and powered_up callbacks

 arch/arm/mach-exynos/cpuidle.c       |    3 +++
 arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
 arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
 drivers/cpuidle/Kconfig.arm          |    2 +-
 drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
 5 files changed, 60 insertions(+), 2 deletions(-)

-- 
1.7.9.5


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

* [PATCH v5 0/6] add cpuidle support for Exynos5420
@ 2014-05-14  8:03   ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.

This patchset adds cpuidle support for Exynos5420 SoC based on
generic big.little cpuidle driver.

Tested on SMDK5420.

This patch set depends on:
	1. [PATCH 0/5] MCPM backend for Exynos5420
	   http://www.spinics.net/lists/arm-kernel/msg331100.html
Changelog is in respective patches.
Chander Kashyap (5):
  driver: cpuidle-big-little: add of_device_id structure
  arm: exynos: add generic function to calculate cpu number
  cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
    driver
  driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  mcpm: exynos: populate suspend and powered_up callbacks

 arch/arm/mach-exynos/cpuidle.c       |    3 +++
 arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
 arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
 drivers/cpuidle/Kconfig.arm          |    2 +-
 drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
 5 files changed, 60 insertions(+), 2 deletions(-)

-- 
1.7.9.5

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

* [PATCH v5 1/6] driver: cpuidle-big-little: add of_device_id structure
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

This driver will be used by many big.Little Soc's. As of now it does
string matching of hardcoded compatible string to init the driver. This
comparison list will keep on growing with addition of new SoC's.
Hence add of_device_id structure to collect the compatible strings of
SoC's using this driver.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index b45fc62..4cd02bd 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 	return 0;
 }
 
+static const struct of_device_id compatible_machine_match[] = {
+	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{},
+};
+
 static int __init bl_idle_init(void)
 {
 	int ret;
+	struct device_node *root = of_find_node_by_path("/");
+
+	if (!root)
+		return -ENODEV;
 
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
+	if (!of_match_node(compatible_machine_match, root))
 		return -ENODEV;
 	/*
 	 * For now the differentiation between little and big cores
-- 
1.7.9.5


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

* [PATCH v5 1/6] driver: cpuidle-big-little: add of_device_id structure
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

This driver will be used by many big.Little Soc's. As of now it does
string matching of hardcoded compatible string to init the driver. This
comparison list will keep on growing with addition of new SoC's.
Hence add of_device_id structure to collect the compatible strings of
SoC's using this driver.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index b45fc62..4cd02bd 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 	return 0;
 }
 
+static const struct of_device_id compatible_machine_match[] = {
+	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{},
+};
+
 static int __init bl_idle_init(void)
 {
 	int ret;
+	struct device_node *root = of_find_node_by_path("/");
+
+	if (!root)
+		return -ENODEV;
 
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
+	if (!of_match_node(compatible_machine_match, root))
 		return -ENODEV;
 	/*
 	 * For now the differentiation between little and big cores
-- 
1.7.9.5

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

* [PATCH v5 2/6] arm: exynos: add generic function to calculate cpu number
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

The address of cpu power registers in pmu is based on cpu number
offsets. This function calculate the same. This is essentially
required in case of multi-cluster SoC's e.g Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 arch/arm/mach-exynos/regs-pmu.h |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
index 4179f6a..485aefd 100644
--- a/arch/arm/mach-exynos/regs-pmu.h
+++ b/arch/arm/mach-exynos/regs-pmu.h
@@ -325,4 +325,13 @@
 
 #define EXYNOS5420_SWRESET_KFC_SEL				0x3
 
+#include <asm/cputype.h>
+#define MAX_CPUS_IN_CLUSTER	4
+
+static inline unsigned int exynos_pmu_cpunr(unsigned int mpidr)
+{
+	return ((MPIDR_AFFINITY_LEVEL(mpidr, 1) * MAX_CPUS_IN_CLUSTER)
+		 + MPIDR_AFFINITY_LEVEL(mpidr, 0));
+}
+
 #endif /* __ASM_ARCH_REGS_PMU_H */
-- 
1.7.9.5


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

* [PATCH v5 2/6] arm: exynos: add generic function to calculate cpu number
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

The address of cpu power registers in pmu is based on cpu number
offsets. This function calculate the same. This is essentially
required in case of multi-cluster SoC's e.g Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 arch/arm/mach-exynos/regs-pmu.h |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
index 4179f6a..485aefd 100644
--- a/arch/arm/mach-exynos/regs-pmu.h
+++ b/arch/arm/mach-exynos/regs-pmu.h
@@ -325,4 +325,13 @@
 
 #define EXYNOS5420_SWRESET_KFC_SEL				0x3
 
+#include <asm/cputype.h>
+#define MAX_CPUS_IN_CLUSTER	4
+
+static inline unsigned int exynos_pmu_cpunr(unsigned int mpidr)
+{
+	return ((MPIDR_AFFINITY_LEVEL(mpidr, 1) * MAX_CPUS_IN_CLUSTER)
+		 + MPIDR_AFFINITY_LEVEL(mpidr, 0));
+}
+
 #endif /* __ASM_ARCH_REGS_PMU_H */
-- 
1.7.9.5

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

* [PATCH v5 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
  2014-05-14  8:03   ` Chander Kashyap
  (?)
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-little SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5


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

* [PATCH v5 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	Chander Kashyap, kgene.kim

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-little SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5

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

* [PATCH v5 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-little SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5

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

* [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

Add "samsung,exynos5420" compatible string to initialize generic
big-little cpuidle driver for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v4: None
Changes in v3:
	1. Add compatible string to of_device_id table insted comparing directoly
Changes in v2: none

 drivers/cpuidle/cpuidle-big_little.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index 4cd02bd..344d79fa 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 
 static const struct of_device_id compatible_machine_match[] = {
 	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{ .compatible = "samsung,exynos5420" },
 	{},
 };
 
-- 
1.7.9.5


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

* [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Add "samsung,exynos5420" compatible string to initialize generic
big-little cpuidle driver for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v4: None
Changes in v3:
	1. Add compatible string to of_device_id table insted comparing directoly
Changes in v2: none

 drivers/cpuidle/cpuidle-big_little.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index 4cd02bd..344d79fa 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 
 static const struct of_device_id compatible_machine_match[] = {
 	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{ .compatible = "samsung,exynos5420" },
 	{},
 };
 
-- 
1.7.9.5

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

* [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
Hence do not allow exynos cpuidle driver registration for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 arch/arm/mach-exynos/cpuidle.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
index 3dd385e..807a386 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
 	int cpu_id, ret;
 	struct cpuidle_device *device;
 
+	if (soc_is_exynos5420())
+		return -ENODEV;
+
 	if (soc_is_exynos5250())
 		exynos5_core_down_clk();
 
-- 
1.7.9.5


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

* [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
Hence do not allow exynos cpuidle driver registration for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 arch/arm/mach-exynos/cpuidle.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
index 3dd385e..807a386 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
 	int cpu_id, ret;
 	struct cpuidle_device *device;
 
+	if (soc_is_exynos5420())
+		return -ENODEV;
+
 	if (soc_is_exynos5250())
 		exynos5_core_down_clk();
 
-- 
1.7.9.5

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

* [PATCH v5 6/6] mcpm: exynos: populate suspend and powered_up callbacks
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  8:03     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim,
	Chander Kashyap, Chander Kashyap

In order to support cpuidle through mcpm, suspend and powered-up
callbacks are required in mcpm platform code.
Hence populate the same callbacks.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v5:
	1. Add comment to address cache access while c-bit is cleared in SCLTR
	2. Make exynos_powered_up static
Changes in v4: None
Changes in v3:
	1. Removed coherency enablement after suspend failure.
	2. Use generic function to poweron cpu.
changes in v2:
	1. Fixed typo: enynos_pmu_cpunr to exynos_pmu_cpunr
 arch/arm/mach-exynos/mcpm-exynos.c |   34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index c6bb3a4..623dfa7 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -253,10 +253,46 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 	return -ETIMEDOUT; /* timeout */
 }
 
+static void exynos_powered_up(void)
+{
+	unsigned int mpidr, cpu, cluster;
+
+	mpidr = read_cpuid_mpidr();
+	cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+	cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+
+	arch_spin_lock(&exynos_mcpm_lock);
+	if (cpu_use_count[cpu][cluster] == 0)
+		cpu_use_count[cpu][cluster] = 1;
+	arch_spin_unlock(&exynos_mcpm_lock);
+}
+
+static void exynos_suspend(u64 residency)
+{
+	unsigned int mpidr, cpunr;
+
+	exynos_power_down();
+
+	/*
+	 * Execution reaches here only if cpu did not power down.
+	 * Hence roll back the changes done in exynos_power_down function.
+	 *
+	 * CAUTION: "This function requires the stack data to be visible through
+	 * power down and can only be executed on processors like A15 and A7
+	 * that hit the cache with the C bit clear in the SCTLR register."
+	*/
+	mpidr = read_cpuid_mpidr();
+	cpunr = exynos_pmu_cpunr(mpidr);
+
+	exynos_cpu_power_up(cpunr);
+}
+
 static const struct mcpm_platform_ops exynos_power_ops = {
 	.power_up		= exynos_power_up,
 	.power_down		= exynos_power_down,
 	.power_down_finish	= exynos_power_down_finish,
+	.suspend		= exynos_suspend,
+	.powered_up		= exynos_powered_up,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
-- 
1.7.9.5


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

* [PATCH v5 6/6] mcpm: exynos: populate suspend and powered_up callbacks
@ 2014-05-14  8:03     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

In order to support cpuidle through mcpm, suspend and powered-up
callbacks are required in mcpm platform code.
Hence populate the same callbacks.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v5:
	1. Add comment to address cache access while c-bit is cleared in SCLTR
	2. Make exynos_powered_up static
Changes in v4: None
Changes in v3:
	1. Removed coherency enablement after suspend failure.
	2. Use generic function to poweron cpu.
changes in v2:
	1. Fixed typo: enynos_pmu_cpunr to exynos_pmu_cpunr
 arch/arm/mach-exynos/mcpm-exynos.c |   34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index c6bb3a4..623dfa7 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -253,10 +253,46 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 	return -ETIMEDOUT; /* timeout */
 }
 
+static void exynos_powered_up(void)
+{
+	unsigned int mpidr, cpu, cluster;
+
+	mpidr = read_cpuid_mpidr();
+	cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+	cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+
+	arch_spin_lock(&exynos_mcpm_lock);
+	if (cpu_use_count[cpu][cluster] == 0)
+		cpu_use_count[cpu][cluster] = 1;
+	arch_spin_unlock(&exynos_mcpm_lock);
+}
+
+static void exynos_suspend(u64 residency)
+{
+	unsigned int mpidr, cpunr;
+
+	exynos_power_down();
+
+	/*
+	 * Execution reaches here only if cpu did not power down.
+	 * Hence roll back the changes done in exynos_power_down function.
+	 *
+	 * CAUTION: "This function requires the stack data to be visible through
+	 * power down and can only be executed on processors like A15 and A7
+	 * that hit the cache with the C bit clear in the SCTLR register."
+	*/
+	mpidr = read_cpuid_mpidr();
+	cpunr = exynos_pmu_cpunr(mpidr);
+
+	exynos_cpu_power_up(cpunr);
+}
+
 static const struct mcpm_platform_ops exynos_power_ops = {
 	.power_up		= exynos_power_up,
 	.power_down		= exynos_power_down,
 	.power_down_finish	= exynos_power_down_finish,
+	.suspend		= exynos_suspend,
+	.powered_up		= exynos_powered_up,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
-- 
1.7.9.5

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

* Re: [PATCH v5 0/6] add cpuidle support for Exynos5420
  2014-05-14  8:03   ` Chander Kashyap
@ 2014-05-14  9:56     ` Daniel Lezcano
  -1 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-14  9:56 UTC (permalink / raw)
  To: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc,
	linux-arm-kernel
  Cc: lorenzo.pieralisi, rjw, kgene.kim, Amit Kucheria, Vincent Guittot

On 05/14/2014 10:03 AM, Chander Kashyap wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.

Hi Chander,

just a side question. I am not succeeding to have both cluster A7/A15 
with the upstream kernel.

How can I test your driver ?

Did I miss something ?

Thanks
   -- Daniel

> Tested on SMDK5420.
>
> This patch set depends on:
> 	1. [PATCH 0/5] MCPM backend for Exynos5420
> 	   http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>    driver: cpuidle-big-little: add of_device_id structure
>    arm: exynos: add generic function to calculate cpu number
>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>      driver
>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>    mcpm: exynos: populate suspend and powered_up callbacks
>
>   arch/arm/mach-exynos/cpuidle.c       |    3 +++
>   arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>   drivers/cpuidle/Kconfig.arm          |    2 +-
>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>   5 files changed, 60 insertions(+), 2 deletions(-)
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


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

* [PATCH v5 0/6] add cpuidle support for Exynos5420
@ 2014-05-14  9:56     ` Daniel Lezcano
  0 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-14  9:56 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/14/2014 10:03 AM, Chander Kashyap wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.

Hi Chander,

just a side question. I am not succeeding to have both cluster A7/A15 
with the upstream kernel.

How can I test your driver ?

Did I miss something ?

Thanks
   -- Daniel

> Tested on SMDK5420.
>
> This patch set depends on:
> 	1. [PATCH 0/5] MCPM backend for Exynos5420
> 	   http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>    driver: cpuidle-big-little: add of_device_id structure
>    arm: exynos: add generic function to calculate cpu number
>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>      driver
>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>    mcpm: exynos: populate suspend and powered_up callbacks
>
>   arch/arm/mach-exynos/cpuidle.c       |    3 +++
>   arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>   drivers/cpuidle/Kconfig.arm          |    2 +-
>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>   5 files changed, 60 insertions(+), 2 deletions(-)
>


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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

* Re: [PATCH v5 0/6] add cpuidle support for Exynos5420
  2014-05-14  9:56     ` Daniel Lezcano
  (?)
@ 2014-05-14 10:43       ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14 10:43 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim, Amit Kucheria,
	Vincent Guittot

Hi Daniel,

On 14 May 2014 15:26, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/14/2014 10:03 AM, Chander Kashyap wrote:
>>
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>
>
> Hi Chander,
>
> just a side question. I am not succeeding to have both cluster A7/A15 with
> the upstream kernel.
>
> How can I test your driver ?

Hmm on octa can be tested only for 4 cores. as cci is disabled.

>
> Did I miss something ?
>
> Thanks
>   -- Daniel
>
>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>    driver: cpuidle-big-little: add of_device_id structure
>>    arm: exynos: add generic function to calculate cpu number
>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>      driver
>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>    mcpm: exynos: populate suspend and powered_up callbacks
>>
>>   arch/arm/mach-exynos/cpuidle.c       |    3 +++
>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>> ++++++++++++++++++++++++++++++++++
>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>   5 files changed, 60 insertions(+), 2 deletions(-)
>>
>
>
> --
>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v5 0/6] add cpuidle support for Exynos5420
@ 2014-05-14 10:43       ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14 10:43 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim, Amit Kucheria,
	Vincent Guittot

Hi Daniel,

On 14 May 2014 15:26, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/14/2014 10:03 AM, Chander Kashyap wrote:
>>
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>
>
> Hi Chander,
>
> just a side question. I am not succeeding to have both cluster A7/A15 with
> the upstream kernel.
>
> How can I test your driver ?

Hmm on octa can be tested only for 4 cores. as cci is disabled.

>
> Did I miss something ?
>
> Thanks
>   -- Daniel
>
>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>    driver: cpuidle-big-little: add of_device_id structure
>>    arm: exynos: add generic function to calculate cpu number
>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>      driver
>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>    mcpm: exynos: populate suspend and powered_up callbacks
>>
>>   arch/arm/mach-exynos/cpuidle.c       |    3 +++
>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>> ++++++++++++++++++++++++++++++++++
>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>   5 files changed, 60 insertions(+), 2 deletions(-)
>>
>
>
> --
>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v5 0/6] add cpuidle support for Exynos5420
@ 2014-05-14 10:43       ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-14 10:43 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Daniel,

On 14 May 2014 15:26, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/14/2014 10:03 AM, Chander Kashyap wrote:
>>
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>
>
> Hi Chander,
>
> just a side question. I am not succeeding to have both cluster A7/A15 with
> the upstream kernel.
>
> How can I test your driver ?

Hmm on octa can be tested only for 4 cores. as cci is disabled.

>
> Did I miss something ?
>
> Thanks
>   -- Daniel
>
>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>    driver: cpuidle-big-little: add of_device_id structure
>>    arm: exynos: add generic function to calculate cpu number
>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>      driver
>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>    mcpm: exynos: populate suspend and powered_up callbacks
>>
>>   arch/arm/mach-exynos/cpuidle.c       |    3 +++
>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>> ++++++++++++++++++++++++++++++++++
>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>   5 files changed, 60 insertions(+), 2 deletions(-)
>>
>
>
> --
>  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  2014-05-14  8:03     ` Chander Kashyap
@ 2014-05-14 13:04       ` Arnd Bergmann
  -1 siblings, 0 replies; 74+ messages in thread
From: Arnd Bergmann @ 2014-05-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc,
	Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	kgene.kim

On Wednesday 14 May 2014 13:33:55 Chander Kashyap wrote:
> 
> diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> index 4cd02bd..344d79fa 100644
> --- a/drivers/cpuidle/cpuidle-big_little.c
> +++ b/drivers/cpuidle/cpuidle-big_little.c
> @@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
>  
>  static const struct of_device_id compatible_machine_match[] = {
>         { .compatible = "arm,vexpress,v2p-ca15_a7" },
> +       { .compatible = "samsung,exynos5420" },
>         {},
>  };

Does the cpuidle-big_little driver actually care about the platform?
If not, it would be good to add a generic string here as well, for
future platforms to match.

It still makes sense to list both the generic string and the platform
specific one though, in case we have to work around subtle differences.

	Arnd

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

* [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-14 13:04       ` Arnd Bergmann
  0 siblings, 0 replies; 74+ messages in thread
From: Arnd Bergmann @ 2014-05-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 14 May 2014 13:33:55 Chander Kashyap wrote:
> 
> diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> index 4cd02bd..344d79fa 100644
> --- a/drivers/cpuidle/cpuidle-big_little.c
> +++ b/drivers/cpuidle/cpuidle-big_little.c
> @@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
>  
>  static const struct of_device_id compatible_machine_match[] = {
>         { .compatible = "arm,vexpress,v2p-ca15_a7" },
> +       { .compatible = "samsung,exynos5420" },
>         {},
>  };

Does the cpuidle-big_little driver actually care about the platform?
If not, it would be good to add a generic string here as well, for
future platforms to match.

It still makes sense to list both the generic string and the platform
specific one though, in case we have to work around subtle differences.

	Arnd

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

* Re: [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  2014-05-14 13:04       ` Arnd Bergmann
  (?)
@ 2014-05-14 14:06         ` Lorenzo Pieralisi
  -1 siblings, 0 replies; 74+ messages in thread
From: Lorenzo Pieralisi @ 2014-05-14 14:06 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Chander Kashyap, linux-pm, linux-kernel,
	linux-samsung-soc, Chander Kashyap, daniel.lezcano, rjw,
	kgene.kim

On Wed, May 14, 2014 at 02:04:51PM +0100, Arnd Bergmann wrote:
> On Wednesday 14 May 2014 13:33:55 Chander Kashyap wrote:
> > 
> > diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> > index 4cd02bd..344d79fa 100644
> > --- a/drivers/cpuidle/cpuidle-big_little.c
> > +++ b/drivers/cpuidle/cpuidle-big_little.c
> > @@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
> >  
> >  static const struct of_device_id compatible_machine_match[] = {
> >         { .compatible = "arm,vexpress,v2p-ca15_a7" },
> > +       { .compatible = "samsung,exynos5420" },
> >         {},
> >  };
> 
> Does the cpuidle-big_little driver actually care about the platform?

No, platform specific bits are hidden behind MCPM. Apart from idle states
data, that will soon be initialized through DT too.

Actually, when idle for arm64 is merged we can even rework it and end up
with a single driver, DT based, that's the ultimate goal.

> If not, it would be good to add a generic string here as well, for
> future platforms to match.

Yes, you have a point.

> It still makes sense to list both the generic string and the platform
> specific one though, in case we have to work around subtle differences.

Agreed, but subtle differences do not belong in this driver, that's the
purpose of abstracting it the best we can. I have no problem in leaving
platform specific compatible there though.

Lorenzo

> 
> 	Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 


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

* Re: [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-14 14:06         ` Lorenzo Pieralisi
  0 siblings, 0 replies; 74+ messages in thread
From: Lorenzo Pieralisi @ 2014-05-14 14:06 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Chander Kashyap, linux-pm, linux-kernel,
	linux-samsung-soc, Chander Kashyap, daniel.lezcano, rjw,
	kgene.kim

On Wed, May 14, 2014 at 02:04:51PM +0100, Arnd Bergmann wrote:
> On Wednesday 14 May 2014 13:33:55 Chander Kashyap wrote:
> > 
> > diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> > index 4cd02bd..344d79fa 100644
> > --- a/drivers/cpuidle/cpuidle-big_little.c
> > +++ b/drivers/cpuidle/cpuidle-big_little.c
> > @@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
> >  
> >  static const struct of_device_id compatible_machine_match[] = {
> >         { .compatible = "arm,vexpress,v2p-ca15_a7" },
> > +       { .compatible = "samsung,exynos5420" },
> >         {},
> >  };
> 
> Does the cpuidle-big_little driver actually care about the platform?

No, platform specific bits are hidden behind MCPM. Apart from idle states
data, that will soon be initialized through DT too.

Actually, when idle for arm64 is merged we can even rework it and end up
with a single driver, DT based, that's the ultimate goal.

> If not, it would be good to add a generic string here as well, for
> future platforms to match.

Yes, you have a point.

> It still makes sense to list both the generic string and the platform
> specific one though, in case we have to work around subtle differences.

Agreed, but subtle differences do not belong in this driver, that's the
purpose of abstracting it the best we can. I have no problem in leaving
platform specific compatible there though.

Lorenzo

> 
> 	Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 


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

* [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-14 14:06         ` Lorenzo Pieralisi
  0 siblings, 0 replies; 74+ messages in thread
From: Lorenzo Pieralisi @ 2014-05-14 14:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, May 14, 2014 at 02:04:51PM +0100, Arnd Bergmann wrote:
> On Wednesday 14 May 2014 13:33:55 Chander Kashyap wrote:
> > 
> > diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> > index 4cd02bd..344d79fa 100644
> > --- a/drivers/cpuidle/cpuidle-big_little.c
> > +++ b/drivers/cpuidle/cpuidle-big_little.c
> > @@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
> >  
> >  static const struct of_device_id compatible_machine_match[] = {
> >         { .compatible = "arm,vexpress,v2p-ca15_a7" },
> > +       { .compatible = "samsung,exynos5420" },
> >         {},
> >  };
> 
> Does the cpuidle-big_little driver actually care about the platform?

No, platform specific bits are hidden behind MCPM. Apart from idle states
data, that will soon be initialized through DT too.

Actually, when idle for arm64 is merged we can even rework it and end up
with a single driver, DT based, that's the ultimate goal.

> If not, it would be good to add a generic string here as well, for
> future platforms to match.

Yes, you have a point.

> It still makes sense to list both the generic string and the platform
> specific one though, in case we have to work around subtle differences.

Agreed, but subtle differences do not belong in this driver, that's the
purpose of abstracting it the best we can. I have no problem in leaving
platform specific compatible there though.

Lorenzo

> 
> 	Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

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

* Re: [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  2014-05-14  8:03     ` Chander Kashyap
@ 2014-05-15 21:26       ` Tomasz Figa
  -1 siblings, 0 replies; 74+ messages in thread
From: Tomasz Figa @ 2014-05-15 21:26 UTC (permalink / raw)
  To: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc,
	linux-arm-kernel
  Cc: daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim, Chander Kashyap

Hi Chander,

On 14.05.2014 10:03, Chander Kashyap wrote:
> Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
> Hence do not allow exynos cpuidle driver registration for Exynos5420.
> 
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  arch/arm/mach-exynos/cpuidle.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
> index 3dd385e..807a386 100644
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
>  	int cpu_id, ret;
>  	struct cpuidle_device *device;
>  
> +	if (soc_is_exynos5420())
> +		return -ENODEV;
> +
>  	if (soc_is_exynos5250())
>  		exynos5_core_down_clk();
>  
> 

Why not put this in exynos.c in exynos_dt_machine_init(), so
exynos_cpuidle_init() is called only if not running on Exynos5420?

Best regards,
Tomasz

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

* [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-15 21:26       ` Tomasz Figa
  0 siblings, 0 replies; 74+ messages in thread
From: Tomasz Figa @ 2014-05-15 21:26 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Chander,

On 14.05.2014 10:03, Chander Kashyap wrote:
> Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
> Hence do not allow exynos cpuidle driver registration for Exynos5420.
> 
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  arch/arm/mach-exynos/cpuidle.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
> index 3dd385e..807a386 100644
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
>  	int cpu_id, ret;
>  	struct cpuidle_device *device;
>  
> +	if (soc_is_exynos5420())
> +		return -ENODEV;
> +
>  	if (soc_is_exynos5250())
>  		exynos5_core_down_clk();
>  
> 

Why not put this in exynos.c in exynos_dt_machine_init(), so
exynos_cpuidle_init() is called only if not running on Exynos5420?

Best regards,
Tomasz

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

* Re: [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  2014-05-15 21:26       ` Tomasz Figa
  (?)
@ 2014-05-16  4:01         ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  4:01 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Daniel Lezcano, Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim,
	Chander Kashyap

Hi Tomasz,

On 16 May 2014 02:56, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 14.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
>> Hence do not allow exynos cpuidle driver registration for Exynos5420.
>>
>> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
>> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>>  arch/arm/mach-exynos/cpuidle.c |    3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
>> index 3dd385e..807a386 100644
>> --- a/arch/arm/mach-exynos/cpuidle.c
>> +++ b/arch/arm/mach-exynos/cpuidle.c
>> @@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
>>       int cpu_id, ret;
>>       struct cpuidle_device *device;
>>
>> +     if (soc_is_exynos5420())
>> +             return -ENODEV;
>> +
>>       if (soc_is_exynos5250())
>>               exynos5_core_down_clk();
>>
>>
>
> Why not put this in exynos.c in exynos_dt_machine_init(), so
> exynos_cpuidle_init() is called only if not running on Exynos5420?
>

That makes more sense.
I will update this

Thanks
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-16  4:01         ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  4:01 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Daniel Lezcano, Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim,
	Chander Kashyap

Hi Tomasz,

On 16 May 2014 02:56, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 14.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
>> Hence do not allow exynos cpuidle driver registration for Exynos5420.
>>
>> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
>> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>>  arch/arm/mach-exynos/cpuidle.c |    3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
>> index 3dd385e..807a386 100644
>> --- a/arch/arm/mach-exynos/cpuidle.c
>> +++ b/arch/arm/mach-exynos/cpuidle.c
>> @@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
>>       int cpu_id, ret;
>>       struct cpuidle_device *device;
>>
>> +     if (soc_is_exynos5420())
>> +             return -ENODEV;
>> +
>>       if (soc_is_exynos5250())
>>               exynos5_core_down_clk();
>>
>>
>
> Why not put this in exynos.c in exynos_dt_machine_init(), so
> exynos_cpuidle_init() is called only if not running on Exynos5420?
>

That makes more sense.
I will update this

Thanks
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-16  4:01         ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  4:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Tomasz,

On 16 May 2014 02:56, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 14.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
>> Hence do not allow exynos cpuidle driver registration for Exynos5420.
>>
>> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
>> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>>  arch/arm/mach-exynos/cpuidle.c |    3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
>> index 3dd385e..807a386 100644
>> --- a/arch/arm/mach-exynos/cpuidle.c
>> +++ b/arch/arm/mach-exynos/cpuidle.c
>> @@ -218,6 +218,9 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
>>       int cpu_id, ret;
>>       struct cpuidle_device *device;
>>
>> +     if (soc_is_exynos5420())
>> +             return -ENODEV;
>> +
>>       if (soc_is_exynos5250())
>>               exynos5_core_down_clk();
>>
>>
>
> Why not put this in exynos.c in exynos_dt_machine_init(), so
> exynos_cpuidle_init() is called only if not running on Exynos5420?
>

That makes more sense.
I will update this

Thanks
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-16  4:01         ` Chander Kashyap
@ 2014-05-16  8:03           ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap

Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.

This patchset adds cpuidle support for Exynos5420 SoC based on
generic big.little cpuidle driver.

Tested on SMDK5420.

This patch set depends on:
	1. [PATCH 0/5] MCPM backend for Exynos5420
	   http://www.spinics.net/lists/arm-kernel/msg331100.html
Changelog is in respective patches.
Chander Kashyap (5):
  driver: cpuidle-big-little: add of_device_id structure
  arm: exynos: add generic function to calculate cpu number
  cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
    driver
  driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  mcpm: exynos: populate suspend and powered_up callbacks

 arch/arm/mach-exynos/exynos.c        |    4 +++-
 arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
 arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
 drivers/cpuidle/Kconfig.arm          |    2 +-
 drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
 5 files changed, 60 insertions(+), 3 deletions(-)

-- 
1.7.9.5


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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-16  8:03           ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.

This patchset adds cpuidle support for Exynos5420 SoC based on
generic big.little cpuidle driver.

Tested on SMDK5420.

This patch set depends on:
	1. [PATCH 0/5] MCPM backend for Exynos5420
	   http://www.spinics.net/lists/arm-kernel/msg331100.html
Changelog is in respective patches.
Chander Kashyap (5):
  driver: cpuidle-big-little: add of_device_id structure
  arm: exynos: add generic function to calculate cpu number
  cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
    driver
  driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  mcpm: exynos: populate suspend and powered_up callbacks

 arch/arm/mach-exynos/exynos.c        |    4 +++-
 arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
 arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
 drivers/cpuidle/Kconfig.arm          |    2 +-
 drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
 5 files changed, 60 insertions(+), 3 deletions(-)

-- 
1.7.9.5

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

* [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

This driver will be used by many big.Little Soc's. As of now it does
string matching of hardcoded compatible string to init the driver. This
comparison list will keep on growing with addition of new SoC's.
Hence add of_device_id structure to collect the compatible strings of
SoC's using this driver.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index b45fc62..4cd02bd 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 	return 0;
 }
 
+static const struct of_device_id compatible_machine_match[] = {
+	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{},
+};
+
 static int __init bl_idle_init(void)
 {
 	int ret;
+	struct device_node *root = of_find_node_by_path("/");
+
+	if (!root)
+		return -ENODEV;
 
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
+	if (!of_match_node(compatible_machine_match, root))
 		return -ENODEV;
 	/*
 	 * For now the differentiation between little and big cores
-- 
1.7.9.5


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

* [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	tomasz.figa, Chander Kashyap, kgene.kim, linux-arm-kernel

This driver will be used by many big.Little Soc's. As of now it does
string matching of hardcoded compatible string to init the driver. This
comparison list will keep on growing with addition of new SoC's.
Hence add of_device_id structure to collect the compatible strings of
SoC's using this driver.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index b45fc62..4cd02bd 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 	return 0;
 }
 
+static const struct of_device_id compatible_machine_match[] = {
+	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{},
+};
+
 static int __init bl_idle_init(void)
 {
 	int ret;
+	struct device_node *root = of_find_node_by_path("/");
+
+	if (!root)
+		return -ENODEV;
 
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
+	if (!of_match_node(compatible_machine_match, root))
 		return -ENODEV;
 	/*
 	 * For now the differentiation between little and big cores
-- 
1.7.9.5

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

* [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

This driver will be used by many big.Little Soc's. As of now it does
string matching of hardcoded compatible string to init the driver. This
comparison list will keep on growing with addition of new SoC's.
Hence add of_device_id structure to collect the compatible strings of
SoC's using this driver.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index b45fc62..4cd02bd 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 	return 0;
 }
 
+static const struct of_device_id compatible_machine_match[] = {
+	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{},
+};
+
 static int __init bl_idle_init(void)
 {
 	int ret;
+	struct device_node *root = of_find_node_by_path("/");
+
+	if (!root)
+		return -ENODEV;
 
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
+	if (!of_match_node(compatible_machine_match, root))
 		return -ENODEV;
 	/*
 	 * For now the differentiation between little and big cores
-- 
1.7.9.5

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

* [PATCH v6 2/6] arm: exynos: add generic function to calculate cpu number
  2014-05-16  8:03           ` Chander Kashyap
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

The address of cpu power registers in pmu is based on cpu number
offsets. This function calculate the same. This is essentially
required in case of multi-cluster SoC's e.g Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 arch/arm/mach-exynos/regs-pmu.h |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
index 4179f6a..485aefd 100644
--- a/arch/arm/mach-exynos/regs-pmu.h
+++ b/arch/arm/mach-exynos/regs-pmu.h
@@ -325,4 +325,13 @@
 
 #define EXYNOS5420_SWRESET_KFC_SEL				0x3
 
+#include <asm/cputype.h>
+#define MAX_CPUS_IN_CLUSTER	4
+
+static inline unsigned int exynos_pmu_cpunr(unsigned int mpidr)
+{
+	return ((MPIDR_AFFINITY_LEVEL(mpidr, 1) * MAX_CPUS_IN_CLUSTER)
+		 + MPIDR_AFFINITY_LEVEL(mpidr, 0));
+}
+
 #endif /* __ASM_ARCH_REGS_PMU_H */
-- 
1.7.9.5


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

* [PATCH v6 2/6] arm: exynos: add generic function to calculate cpu number
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

The address of cpu power registers in pmu is based on cpu number
offsets. This function calculate the same. This is essentially
required in case of multi-cluster SoC's e.g Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
 arch/arm/mach-exynos/regs-pmu.h |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
index 4179f6a..485aefd 100644
--- a/arch/arm/mach-exynos/regs-pmu.h
+++ b/arch/arm/mach-exynos/regs-pmu.h
@@ -325,4 +325,13 @@
 
 #define EXYNOS5420_SWRESET_KFC_SEL				0x3
 
+#include <asm/cputype.h>
+#define MAX_CPUS_IN_CLUSTER	4
+
+static inline unsigned int exynos_pmu_cpunr(unsigned int mpidr)
+{
+	return ((MPIDR_AFFINITY_LEVEL(mpidr, 1) * MAX_CPUS_IN_CLUSTER)
+		 + MPIDR_AFFINITY_LEVEL(mpidr, 0));
+}
+
 #endif /* __ASM_ARCH_REGS_PMU_H */
-- 
1.7.9.5

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

* [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-llittle SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5


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

* [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	tomasz.figa, Chander Kashyap, kgene.kim, linux-arm-kernel

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-llittle SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5

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

* [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Add support to select generic big-little cpuidle driver for Samsung Exynos
series SoC's. This is required for Exynos big-llittle SoC's eg, Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v4:
	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
	2. Commit message updated
Changes in v3: None
Changes in v2:
	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
 drivers/cpuidle/Kconfig.arm |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
index 97ccc31..d9596e7 100644
--- a/drivers/cpuidle/Kconfig.arm
+++ b/drivers/cpuidle/Kconfig.arm
@@ -4,7 +4,7 @@
 
 config ARM_BIG_LITTLE_CPUIDLE
 	bool "Support for ARM big.LITTLE processors"
-	depends on ARCH_VEXPRESS_TC2_PM
+	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
 	select ARM_CPU_SUSPEND
 	select CPU_IDLE_MULTIPLE_DRIVERS
 	help
-- 
1.7.9.5

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

* [PATCH v6 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

Add "samsung,exynos5420" compatible string to initialize generic
big-little cpuidle driver for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v5: None
Changes in v4: None
Changes in v3:
	1. Add compatible string to of_device_id table insted comparing directoly
Changes in v2: none

 drivers/cpuidle/cpuidle-big_little.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index 4cd02bd..344d79fa 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 
 static const struct of_device_id compatible_machine_match[] = {
 	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{ .compatible = "samsung,exynos5420" },
 	{},
 };
 
-- 
1.7.9.5


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

* [PATCH v6 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	tomasz.figa, Chander Kashyap, kgene.kim, linux-arm-kernel

Add "samsung,exynos5420" compatible string to initialize generic
big-little cpuidle driver for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v5: None
Changes in v4: None
Changes in v3:
	1. Add compatible string to of_device_id table insted comparing directoly
Changes in v2: none

 drivers/cpuidle/cpuidle-big_little.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index 4cd02bd..344d79fa 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 
 static const struct of_device_id compatible_machine_match[] = {
 	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{ .compatible = "samsung,exynos5420" },
 	{},
 };
 
-- 
1.7.9.5

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

* [PATCH v6 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Add "samsung,exynos5420" compatible string to initialize generic
big-little cpuidle driver for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v5: None
Changes in v4: None
Changes in v3:
	1. Add compatible string to of_device_id table insted comparing directoly
Changes in v2: none

 drivers/cpuidle/cpuidle-big_little.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
index 4cd02bd..344d79fa 100644
--- a/drivers/cpuidle/cpuidle-big_little.c
+++ b/drivers/cpuidle/cpuidle-big_little.c
@@ -165,6 +165,7 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
 
 static const struct of_device_id compatible_machine_match[] = {
 	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
+	{ .compatible = "samsung,exynos5420" },
 	{},
 };
 
-- 
1.7.9.5

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

* [PATCH v6 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
Hence do not allow exynos cpuidle driver registration for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v6:
	1. Move cpuidle registration check to exynos.c from cpuidle.c and
	   use "samsung,exynos5420" compatible string to avvoid registration
 arch/arm/mach-exynos/exynos.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4df3452..ef24edf 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -286,7 +286,9 @@ static void __init exynos_dt_machine_init(void)
 		}
 	}
 
-	exynos_cpuidle_init();
+	if (!of_machine_is_compatible("samsung,exynos5420"))
+		exynos_cpuidle_init();
+
 	exynos_cpufreq_init();
 
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-- 
1.7.9.5


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

* [PATCH v6 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	tomasz.figa, Chander Kashyap, kgene.kim, linux-arm-kernel

Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
Hence do not allow exynos cpuidle driver registration for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v6:
	1. Move cpuidle registration check to exynos.c from cpuidle.c and
	   use "samsung,exynos5420" compatible string to avvoid registration
 arch/arm/mach-exynos/exynos.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4df3452..ef24edf 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -286,7 +286,9 @@ static void __init exynos_dt_machine_init(void)
 		}
 	}
 
-	exynos_cpuidle_init();
+	if (!of_machine_is_compatible("samsung,exynos5420"))
+		exynos_cpuidle_init();
+
 	exynos_cpufreq_init();
 
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-- 
1.7.9.5

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

* [PATCH v6 5/6] exynos: cpuidle: do not allow cpuidle registration for Exynos5420
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

Exynos5420 is big.Little Soc. It uses cpuidle-big-litle generic cpuidle driver.
Hence do not allow exynos cpuidle driver registration for Exynos5420.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
Changes in v6:
	1. Move cpuidle registration check to exynos.c from cpuidle.c and
	   use "samsung,exynos5420" compatible string to avvoid registration
 arch/arm/mach-exynos/exynos.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4df3452..ef24edf 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -286,7 +286,9 @@ static void __init exynos_dt_machine_init(void)
 		}
 	}
 
-	exynos_cpuidle_init();
+	if (!of_machine_is_compatible("samsung,exynos5420"))
+		exynos_cpuidle_init();
+
 	exynos_cpufreq_init();
 
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-- 
1.7.9.5

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

* [PATCH v6 6/6] mcpm: exynos: populate suspend and powered_up callbacks
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-16  8:03             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw,
	kgene.kim, tomasz.figa, Chander Kashyap, Chander Kashyap

In order to support cpuidle through mcpm, suspend and powered-up
callbacks are required in mcpm platform code.
Hence populate the same callbacks.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v6: None
Changes in v5:
	1. Add comment to address cache access while c-bit is cleared in SCLTR
	2. Make exynos_powered_up static
Changes in v4: None
Changes in v3:
	1. Removed coherency enablement after suspend failure.
	2. Use generic function to poweron cpu.
changes in v2:
	1. Fixed typo: enynos_pmu_cpunr to exynos_pmu_cpunr
 arch/arm/mach-exynos/mcpm-exynos.c |   36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index c6bb3a4..623dfa7 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -253,10 +253,46 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 	return -ETIMEDOUT; /* timeout */
 }
 
+static void exynos_powered_up(void)
+{
+	unsigned int mpidr, cpu, cluster;
+
+	mpidr = read_cpuid_mpidr();
+	cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+	cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+
+	arch_spin_lock(&exynos_mcpm_lock);
+	if (cpu_use_count[cpu][cluster] == 0)
+		cpu_use_count[cpu][cluster] = 1;
+	arch_spin_unlock(&exynos_mcpm_lock);
+}
+
+static void exynos_suspend(u64 residency)
+{
+	unsigned int mpidr, cpunr;
+
+	exynos_power_down();
+
+	/*
+	 * Execution reaches here only if cpu did not power down.
+	 * Hence roll back the changes done in exynos_power_down function.
+	 *
+	 * CAUTION: "This function requires the stack data to be visible through
+	 * power down and can only be executed on processors like A15 and A7
+	 * that hit the cache with the C bit clear in the SCTLR register."
+	*/
+	mpidr = read_cpuid_mpidr();
+	cpunr = exynos_pmu_cpunr(mpidr);
+
+	exynos_cpu_power_up(cpunr);
+}
+
 static const struct mcpm_platform_ops exynos_power_ops = {
 	.power_up		= exynos_power_up,
 	.power_down		= exynos_power_down,
 	.power_down_finish	= exynos_power_down_finish,
+	.suspend		= exynos_suspend,
+	.powered_up		= exynos_powered_up,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
-- 
1.7.9.5


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

* [PATCH v6 6/6] mcpm: exynos: populate suspend and powered_up callbacks
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: Chander Kashyap, lorenzo.pieralisi, daniel.lezcano, rjw,
	tomasz.figa, Chander Kashyap, kgene.kim, linux-arm-kernel

In order to support cpuidle through mcpm, suspend and powered-up
callbacks are required in mcpm platform code.
Hence populate the same callbacks.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v6: None
Changes in v5:
	1. Add comment to address cache access while c-bit is cleared in SCLTR
	2. Make exynos_powered_up static
Changes in v4: None
Changes in v3:
	1. Removed coherency enablement after suspend failure.
	2. Use generic function to poweron cpu.
changes in v2:
	1. Fixed typo: enynos_pmu_cpunr to exynos_pmu_cpunr
 arch/arm/mach-exynos/mcpm-exynos.c |   36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index c6bb3a4..623dfa7 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -253,10 +253,46 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 	return -ETIMEDOUT; /* timeout */
 }
 
+static void exynos_powered_up(void)
+{
+	unsigned int mpidr, cpu, cluster;
+
+	mpidr = read_cpuid_mpidr();
+	cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+	cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+
+	arch_spin_lock(&exynos_mcpm_lock);
+	if (cpu_use_count[cpu][cluster] == 0)
+		cpu_use_count[cpu][cluster] = 1;
+	arch_spin_unlock(&exynos_mcpm_lock);
+}
+
+static void exynos_suspend(u64 residency)
+{
+	unsigned int mpidr, cpunr;
+
+	exynos_power_down();
+
+	/*
+	 * Execution reaches here only if cpu did not power down.
+	 * Hence roll back the changes done in exynos_power_down function.
+	 *
+	 * CAUTION: "This function requires the stack data to be visible through
+	 * power down and can only be executed on processors like A15 and A7
+	 * that hit the cache with the C bit clear in the SCTLR register."
+	*/
+	mpidr = read_cpuid_mpidr();
+	cpunr = exynos_pmu_cpunr(mpidr);
+
+	exynos_cpu_power_up(cpunr);
+}
+
 static const struct mcpm_platform_ops exynos_power_ops = {
 	.power_up		= exynos_power_up,
 	.power_down		= exynos_power_down,
 	.power_down_finish	= exynos_power_down_finish,
+	.suspend		= exynos_suspend,
+	.powered_up		= exynos_powered_up,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
-- 
1.7.9.5

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

* [PATCH v6 6/6] mcpm: exynos: populate suspend and powered_up callbacks
@ 2014-05-16  8:03             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

In order to support cpuidle through mcpm, suspend and powered-up
callbacks are required in mcpm platform code.
Hence populate the same callbacks.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
Changes in v6: None
Changes in v5:
	1. Add comment to address cache access while c-bit is cleared in SCLTR
	2. Make exynos_powered_up static
Changes in v4: None
Changes in v3:
	1. Removed coherency enablement after suspend failure.
	2. Use generic function to poweron cpu.
changes in v2:
	1. Fixed typo: enynos_pmu_cpunr to exynos_pmu_cpunr
 arch/arm/mach-exynos/mcpm-exynos.c |   36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index c6bb3a4..623dfa7 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -253,10 +253,46 @@ static int exynos_power_down_finish(unsigned int cpu, unsigned int cluster)
 	return -ETIMEDOUT; /* timeout */
 }
 
+static void exynos_powered_up(void)
+{
+	unsigned int mpidr, cpu, cluster;
+
+	mpidr = read_cpuid_mpidr();
+	cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
+	cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
+
+	arch_spin_lock(&exynos_mcpm_lock);
+	if (cpu_use_count[cpu][cluster] == 0)
+		cpu_use_count[cpu][cluster] = 1;
+	arch_spin_unlock(&exynos_mcpm_lock);
+}
+
+static void exynos_suspend(u64 residency)
+{
+	unsigned int mpidr, cpunr;
+
+	exynos_power_down();
+
+	/*
+	 * Execution reaches here only if cpu did not power down.
+	 * Hence roll back the changes done in exynos_power_down function.
+	 *
+	 * CAUTION: "This function requires the stack data to be visible through
+	 * power down and can only be executed on processors like A15 and A7
+	 * that hit the cache with the C bit clear in the SCTLR register."
+	*/
+	mpidr = read_cpuid_mpidr();
+	cpunr = exynos_pmu_cpunr(mpidr);
+
+	exynos_cpu_power_up(cpunr);
+}
+
 static const struct mcpm_platform_ops exynos_power_ops = {
 	.power_up		= exynos_power_up,
 	.power_down		= exynos_power_down,
 	.power_down_finish	= exynos_power_down_finish,
+	.suspend		= exynos_suspend,
+	.powered_up		= exynos_powered_up,
 };
 
 static void __init exynos_mcpm_usage_count_init(void)
-- 
1.7.9.5

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-16  8:03           ` Chander Kashyap
  (?)
@ 2014-05-19  5:40             ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-19  5:40 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, Daniel Lezcano, Lorenzo Pieralisi,
	Rafael J. Wysocki, Kukjin Kim, Tomasz Figa, Chander Kashyap

Hi Daniel/Kgene,

On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.
>
> Tested on SMDK5420.
>
> This patch set depends on:
>         1. [PATCH 0/5] MCPM backend for Exynos5420
>            http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>   driver: cpuidle-big-little: add of_device_id structure
>   arm: exynos: add generic function to calculate cpu number
>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>     driver
>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>   mcpm: exynos: populate suspend and powered_up callbacks
>
>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>  drivers/cpuidle/Kconfig.arm          |    2 +-
>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>  5 files changed, 60 insertions(+), 3 deletions(-)
>
> --
> 1.7.9.5
>

As dependency patches are merged. If their are no further comment, can
these patches be taken?

-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-19  5:40             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-19  5:40 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, Daniel Lezcano, Lorenzo Pieralisi,
	Rafael J. Wysocki, Kukjin Kim, Tomasz Figa, Chander Kashyap

Hi Daniel/Kgene,

On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.
>
> Tested on SMDK5420.
>
> This patch set depends on:
>         1. [PATCH 0/5] MCPM backend for Exynos5420
>            http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>   driver: cpuidle-big-little: add of_device_id structure
>   arm: exynos: add generic function to calculate cpu number
>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>     driver
>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>   mcpm: exynos: populate suspend and powered_up callbacks
>
>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>  drivers/cpuidle/Kconfig.arm          |    2 +-
>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>  5 files changed, 60 insertions(+), 3 deletions(-)
>
> --
> 1.7.9.5
>

As dependency patches are merged. If their are no further comment, can
these patches be taken?

-- 
with warm regards,
Chander Kashyap

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-19  5:40             ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-19  5:40 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Daniel/Kgene,

On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.
>
> Tested on SMDK5420.
>
> This patch set depends on:
>         1. [PATCH 0/5] MCPM backend for Exynos5420
>            http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>   driver: cpuidle-big-little: add of_device_id structure
>   arm: exynos: add generic function to calculate cpu number
>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>     driver
>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>   mcpm: exynos: populate suspend and powered_up callbacks
>
>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>  drivers/cpuidle/Kconfig.arm          |    2 +-
>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>  5 files changed, 60 insertions(+), 3 deletions(-)
>
> --
> 1.7.9.5
>

As dependency patches are merged. If their are no further comment, can
these patches be taken?

-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-19  5:40             ` Chander Kashyap
  (?)
@ 2014-05-26  4:40               ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-26  4:40 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, Daniel Lezcano, Lorenzo Pieralisi,
	Rafael J. Wysocki, Kukjin Kim, Tomasz Figa, Chander Kashyap

On 19 May 2014 11:10, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Hi Daniel/Kgene,
>
> On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>> --
>> 1.7.9.5
>>
>
> As dependency patches are merged. If their are no further comment, can
> these patches be taken?
>

ping

> --
> with warm regards,
> Chander Kashyap



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-26  4:40               ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-26  4:40 UTC (permalink / raw)
  To: linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, Daniel Lezcano, Lorenzo Pieralisi,
	Rafael J. Wysocki, Kukjin Kim, Tomasz Figa, Chander Kashyap

On 19 May 2014 11:10, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Hi Daniel/Kgene,
>
> On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>> --
>> 1.7.9.5
>>
>
> As dependency patches are merged. If their are no further comment, can
> these patches be taken?
>

ping

> --
> with warm regards,
> Chander Kashyap



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-26  4:40               ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-26  4:40 UTC (permalink / raw)
  To: linux-arm-kernel

On 19 May 2014 11:10, Chander Kashyap <chander.kashyap@linaro.org> wrote:
> Hi Daniel/Kgene,
>
> On 16 May 2014 13:33, Chander Kashyap <chander.kashyap@linaro.org> wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>         1. [PATCH 0/5] MCPM backend for Exynos5420
>>            http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>> --
>> 1.7.9.5
>>
>
> As dependency patches are merged. If their are no further comment, can
> these patches be taken?
>

ping

> --
> with warm regards,
> Chander Kashyap



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-16  8:03           ` Chander Kashyap
@ 2014-05-26 10:29             ` Tomasz Figa
  -1 siblings, 0 replies; 74+ messages in thread
From: Tomasz Figa @ 2014-05-26 10:29 UTC (permalink / raw)
  To: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, daniel.lezcano, lorenzo.pieralisi, rjw, kgene.kim

Hi Chander,

On 16.05.2014 10:03, Chander Kashyap wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
> 
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.
> 
> Tested on SMDK5420.
> 
> This patch set depends on:
> 	1. [PATCH 0/5] MCPM backend for Exynos5420
> 	   http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>   driver: cpuidle-big-little: add of_device_id structure
>   arm: exynos: add generic function to calculate cpu number
>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>     driver
>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>   mcpm: exynos: populate suspend and powered_up callbacks
> 
>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>  drivers/cpuidle/Kconfig.arm          |    2 +-
>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>  5 files changed, 60 insertions(+), 3 deletions(-)
> 

For the whole series,

Reviewed-by: Tomasz Figa <t.figa@samsung.com>

Best regards,
Tomasz

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-26 10:29             ` Tomasz Figa
  0 siblings, 0 replies; 74+ messages in thread
From: Tomasz Figa @ 2014-05-26 10:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Chander,

On 16.05.2014 10:03, Chander Kashyap wrote:
> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
> 
> This patchset adds cpuidle support for Exynos5420 SoC based on
> generic big.little cpuidle driver.
> 
> Tested on SMDK5420.
> 
> This patch set depends on:
> 	1. [PATCH 0/5] MCPM backend for Exynos5420
> 	   http://www.spinics.net/lists/arm-kernel/msg331100.html
> Changelog is in respective patches.
> Chander Kashyap (5):
>   driver: cpuidle-big-little: add of_device_id structure
>   arm: exynos: add generic function to calculate cpu number
>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>     driver
>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>   mcpm: exynos: populate suspend and powered_up callbacks
> 
>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>  drivers/cpuidle/Kconfig.arm          |    2 +-
>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>  5 files changed, 60 insertions(+), 3 deletions(-)
> 

For the whole series,

Reviewed-by: Tomasz Figa <t.figa@samsung.com>

Best regards,
Tomasz

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-26 10:29             ` Tomasz Figa
  (?)
@ 2014-05-28  4:28               ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-28  4:28 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Daniel Lezcano, Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim

On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 16.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>       1. [PATCH 0/5] MCPM backend for Exynos5420
>>          http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>
> For the whole series,
>
> Reviewed-by: Tomasz Figa <t.figa@samsung.com>

Thanks Tomasz.

Dear Kukjin,
Can you take these patches.
>
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-28  4:28               ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-28  4:28 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	Daniel Lezcano, Lorenzo Pieralisi, Rafael J. Wysocki, Kukjin Kim

On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 16.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>       1. [PATCH 0/5] MCPM backend for Exynos5420
>>          http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>
> For the whole series,
>
> Reviewed-by: Tomasz Figa <t.figa@samsung.com>

Thanks Tomasz.

Dear Kukjin,
Can you take these patches.
>
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-28  4:28               ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-28  4:28 UTC (permalink / raw)
  To: linux-arm-kernel

On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> Hi Chander,
>
> On 16.05.2014 10:03, Chander Kashyap wrote:
>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.
>>
>> This patchset adds cpuidle support for Exynos5420 SoC based on
>> generic big.little cpuidle driver.
>>
>> Tested on SMDK5420.
>>
>> This patch set depends on:
>>       1. [PATCH 0/5] MCPM backend for Exynos5420
>>          http://www.spinics.net/lists/arm-kernel/msg331100.html
>> Changelog is in respective patches.
>> Chander Kashyap (5):
>>   driver: cpuidle-big-little: add of_device_id structure
>>   arm: exynos: add generic function to calculate cpu number
>>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>     driver
>>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>   mcpm: exynos: populate suspend and powered_up callbacks
>>
>>  arch/arm/mach-exynos/exynos.c        |    4 +++-
>>  arch/arm/mach-exynos/mcpm-exynos.c   |   36 ++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>  drivers/cpuidle/Kconfig.arm          |    2 +-
>>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>  5 files changed, 60 insertions(+), 3 deletions(-)
>>
>
> For the whole series,
>
> Reviewed-by: Tomasz Figa <t.figa@samsung.com>

Thanks Tomasz.

Dear Kukjin,
Can you take these patches.
>
> Best regards,
> Tomasz



-- 
with warm regards,
Chander Kashyap

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

* RE: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-28  4:28               ` Chander Kashyap
@ 2014-05-28  4:35                 ` Kukjin Kim
  -1 siblings, 0 replies; 74+ messages in thread
From: Kukjin Kim @ 2014-05-28  4:35 UTC (permalink / raw)
  To: 'Chander Kashyap', 'Tomasz Figa'
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	'Daniel Lezcano', 'Lorenzo Pieralisi',
	'Rafael J. Wysocki'

Chander Kashyap wrote:
> 
> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> > Hi Chander,
> >
> > On 16.05.2014 10:03, Chander Kashyap wrote:
> >> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
> cores.
> >>
> >> This patchset adds cpuidle support for Exynos5420 SoC based on
> >> generic big.little cpuidle driver.
> >>
> >> Tested on SMDK5420.
> >>
> >> This patch set depends on:
> >>       1. [PATCH 0/5] MCPM backend for Exynos5420
> >>          http://www.spinics.net/lists/arm-kernel/msg331100.html
> >> Changelog is in respective patches.
> >> Chander Kashyap (5):
> >>   driver: cpuidle-big-little: add of_device_id structure
> >>   arm: exynos: add generic function to calculate cpu number
> >>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
> >>     driver
> >>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
> >>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
> >>   mcpm: exynos: populate suspend and powered_up callbacks
> >>
> >>  arch/arm/mach-exynos/exynos.c        |    4 +++-
> >>  arch/arm/mach-exynos/mcpm-exynos.c   |   36
> ++++++++++++++++++++++++++++++++++
> >>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
> >>  drivers/cpuidle/Kconfig.arm          |    2 +-
> >>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
> >>  5 files changed, 60 insertions(+), 3 deletions(-)
> >>
> >
> > For the whole series,
> >
> > Reviewed-by: Tomasz Figa <t.figa@samsung.com>
> 
> Thanks Tomasz.
> 
> Dear Kukjin,
> Can you take these patches.
> >
When I looked at this series quickly, looks good to me but I need to get ack from cpuidle maintainer Rafael or Daniel.

Thanks,
Kukjin


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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-28  4:35                 ` Kukjin Kim
  0 siblings, 0 replies; 74+ messages in thread
From: Kukjin Kim @ 2014-05-28  4:35 UTC (permalink / raw)
  To: linux-arm-kernel

Chander Kashyap wrote:
> 
> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> > Hi Chander,
> >
> > On 16.05.2014 10:03, Chander Kashyap wrote:
> >> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
> cores.
> >>
> >> This patchset adds cpuidle support for Exynos5420 SoC based on
> >> generic big.little cpuidle driver.
> >>
> >> Tested on SMDK5420.
> >>
> >> This patch set depends on:
> >>       1. [PATCH 0/5] MCPM backend for Exynos5420
> >>          http://www.spinics.net/lists/arm-kernel/msg331100.html
> >> Changelog is in respective patches.
> >> Chander Kashyap (5):
> >>   driver: cpuidle-big-little: add of_device_id structure
> >>   arm: exynos: add generic function to calculate cpu number
> >>   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
> >>     driver
> >>   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
> >>   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
> >>   mcpm: exynos: populate suspend and powered_up callbacks
> >>
> >>  arch/arm/mach-exynos/exynos.c        |    4 +++-
> >>  arch/arm/mach-exynos/mcpm-exynos.c   |   36
> ++++++++++++++++++++++++++++++++++
> >>  arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
> >>  drivers/cpuidle/Kconfig.arm          |    2 +-
> >>  drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
> >>  5 files changed, 60 insertions(+), 3 deletions(-)
> >>
> >
> > For the whole series,
> >
> > Reviewed-by: Tomasz Figa <t.figa@samsung.com>
> 
> Thanks Tomasz.
> 
> Dear Kukjin,
> Can you take these patches.
> >
When I looked at this series quickly, looks good to me but I need to get ack from cpuidle maintainer Rafael or Daniel.

Thanks,
Kukjin

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

* Re: [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure
  2014-05-16  8:03             ` Chander Kashyap
@ 2014-05-28  8:58               ` Daniel Lezcano
  -1 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  8:58 UTC (permalink / raw)
  To: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, lorenzo.pieralisi, rjw, kgene.kim, tomasz.figa,
	Chander Kashyap

On 05/16/2014 10:03 AM, Chander Kashyap wrote:
> This driver will be used by many big.Little Soc's. As of now it does
> string matching of hardcoded compatible string to init the driver. This
> comparison list will keep on growing with addition of new SoC's.
> Hence add of_device_id structure to collect the compatible strings of
> SoC's using this driver.
>
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

> ---
>   drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> index b45fc62..4cd02bd 100644
> --- a/drivers/cpuidle/cpuidle-big_little.c
> +++ b/drivers/cpuidle/cpuidle-big_little.c
> @@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
>   	return 0;
>   }
>
> +static const struct of_device_id compatible_machine_match[] = {
> +	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
> +	{},
> +};
> +
>   static int __init bl_idle_init(void)
>   {
>   	int ret;
> +	struct device_node *root = of_find_node_by_path("/");
> +
> +	if (!root)
> +		return -ENODEV;
>
>   	/*
>   	 * Initialize the driver just for a compliant set of machines
>   	 */
> -	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
> +	if (!of_match_node(compatible_machine_match, root))
>   		return -ENODEV;
>   	/*
>   	 * For now the differentiation between little and big cores
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


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

* [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure
@ 2014-05-28  8:58               ` Daniel Lezcano
  0 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  8:58 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/16/2014 10:03 AM, Chander Kashyap wrote:
> This driver will be used by many big.Little Soc's. As of now it does
> string matching of hardcoded compatible string to init the driver. This
> comparison list will keep on growing with addition of new SoC's.
> Hence add of_device_id structure to collect the compatible strings of
> SoC's using this driver.
>
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

> ---
>   drivers/cpuidle/cpuidle-big_little.c |   11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c
> index b45fc62..4cd02bd 100644
> --- a/drivers/cpuidle/cpuidle-big_little.c
> +++ b/drivers/cpuidle/cpuidle-big_little.c
> @@ -163,14 +163,23 @@ static int __init bl_idle_driver_init(struct cpuidle_driver *drv, int cpu_id)
>   	return 0;
>   }
>
> +static const struct of_device_id compatible_machine_match[] = {
> +	{ .compatible = "arm,vexpress,v2p-ca15_a7" },
> +	{},
> +};
> +
>   static int __init bl_idle_init(void)
>   {
>   	int ret;
> +	struct device_node *root = of_find_node_by_path("/");
> +
> +	if (!root)
> +		return -ENODEV;
>
>   	/*
>   	 * Initialize the driver just for a compliant set of machines
>   	 */
> -	if (!of_machine_is_compatible("arm,vexpress,v2p-ca15_a7"))
> +	if (!of_match_node(compatible_machine_match, root))
>   		return -ENODEV;
>   	/*
>   	 * For now the differentiation between little and big cores
>


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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

* Re: [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
  2014-05-16  8:03             ` Chander Kashyap
@ 2014-05-28  9:00               ` Daniel Lezcano
  -1 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  9:00 UTC (permalink / raw)
  To: Chander Kashyap, linux-pm, linux-kernel, linux-samsung-soc
  Cc: linux-arm-kernel, lorenzo.pieralisi, rjw, kgene.kim, tomasz.figa,
	Chander Kashyap

On 05/16/2014 10:03 AM, Chander Kashyap wrote:
> Add support to select generic big-little cpuidle driver for Samsung Exynos
> series SoC's. This is required for Exynos big-llittle SoC's eg, Exynos5420.
>
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

> ---
> Changes in v4:
> 	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
> 	2. Commit message updated
> Changes in v3: None
> Changes in v2:
> 	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
>   drivers/cpuidle/Kconfig.arm |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
> index 97ccc31..d9596e7 100644
> --- a/drivers/cpuidle/Kconfig.arm
> +++ b/drivers/cpuidle/Kconfig.arm
> @@ -4,7 +4,7 @@
>
>   config ARM_BIG_LITTLE_CPUIDLE
>   	bool "Support for ARM big.LITTLE processors"
> -	depends on ARCH_VEXPRESS_TC2_PM
> +	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
>   	select ARM_CPU_SUSPEND
>   	select CPU_IDLE_MULTIPLE_DRIVERS
>   	help
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


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

* [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver
@ 2014-05-28  9:00               ` Daniel Lezcano
  0 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  9:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/16/2014 10:03 AM, Chander Kashyap wrote:
> Add support to select generic big-little cpuidle driver for Samsung Exynos
> series SoC's. This is required for Exynos big-llittle SoC's eg, Exynos5420.
>
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>

> ---
> Changes in v4:
> 	1. Typo fixed from SOC_EXYNOS5420 to ARCH_EXYNOS
> 	2. Commit message updated
> Changes in v3: None
> Changes in v2:
> 	1. Changed config macro from SOC_EXYNOS5420 to ARCH_EXYNOS
>   drivers/cpuidle/Kconfig.arm |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
> index 97ccc31..d9596e7 100644
> --- a/drivers/cpuidle/Kconfig.arm
> +++ b/drivers/cpuidle/Kconfig.arm
> @@ -4,7 +4,7 @@
>
>   config ARM_BIG_LITTLE_CPUIDLE
>   	bool "Support for ARM big.LITTLE processors"
> -	depends on ARCH_VEXPRESS_TC2_PM
> +	depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
>   	select ARM_CPU_SUSPEND
>   	select CPU_IDLE_MULTIPLE_DRIVERS
>   	help
>


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-28  4:35                 ` Kukjin Kim
@ 2014-05-28  9:02                   ` Daniel Lezcano
  -1 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  9:02 UTC (permalink / raw)
  To: Kukjin Kim, 'Chander Kashyap', 'Tomasz Figa'
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	'Lorenzo Pieralisi', 'Rafael J. Wysocki'

On 05/28/2014 06:35 AM, Kukjin Kim wrote:
> Chander Kashyap wrote:
>>
>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>> Hi Chander,
>>>
>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>> cores.
>>>>
>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>> generic big.little cpuidle driver.
>>>>
>>>> Tested on SMDK5420.
>>>>
>>>> This patch set depends on:
>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>> Changelog is in respective patches.
>>>> Chander Kashyap (5):
>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>    arm: exynos: add generic function to calculate cpu number
>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>      driver
>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>
>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>> ++++++++++++++++++++++++++++++++++
>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>
>>>
>>> For the whole series,
>>>
>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>
>> Thanks Tomasz.
>>
>> Dear Kukjin,
>> Can you take these patches.
>>>
> When I looked at this series quickly, looks good to me but I need to get ack from cpuidle maintainer Rafael or Daniel.

Acked the different cpuidle bits.

Thanks
   -- Daniel


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-28  9:02                   ` Daniel Lezcano
  0 siblings, 0 replies; 74+ messages in thread
From: Daniel Lezcano @ 2014-05-28  9:02 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/28/2014 06:35 AM, Kukjin Kim wrote:
> Chander Kashyap wrote:
>>
>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>> Hi Chander,
>>>
>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>> cores.
>>>>
>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>> generic big.little cpuidle driver.
>>>>
>>>> Tested on SMDK5420.
>>>>
>>>> This patch set depends on:
>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>> Changelog is in respective patches.
>>>> Chander Kashyap (5):
>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>    arm: exynos: add generic function to calculate cpu number
>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>      driver
>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>
>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>> ++++++++++++++++++++++++++++++++++
>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>
>>>
>>> For the whole series,
>>>
>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>
>> Thanks Tomasz.
>>
>> Dear Kukjin,
>> Can you take these patches.
>>>
> When I looked at this series quickly, looks good to me but I need to get ack from cpuidle maintainer Rafael or Daniel.

Acked the different cpuidle bits.

Thanks
   -- Daniel


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-28  9:02                   ` Daniel Lezcano
  (?)
@ 2014-05-29  4:37                     ` Chander Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-29  4:37 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: Kukjin Kim, Tomasz Figa, linux-pm, linux-kernel,
	linux-samsung-soc, linux-arm-kernel, Lorenzo Pieralisi,
	Rafael J. Wysocki

On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>
>> Chander Kashyap wrote:
>>>
>>>
>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>
>>>> Hi Chander,
>>>>
>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>
>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>
>>> cores.
>>>>>
>>>>>
>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>> generic big.little cpuidle driver.
>>>>>
>>>>> Tested on SMDK5420.
>>>>>
>>>>> This patch set depends on:
>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>> Changelog is in respective patches.
>>>>> Chander Kashyap (5):
>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>      driver
>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>
>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>
>>> ++++++++++++++++++++++++++++++++++
>>>>>
>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>
>>>>
>>>> For the whole series,
>>>>
>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>
>>>
>>> Thanks Tomasz.
>>>
>>> Dear Kukjin,
>>> Can you take these patches.
>>>>
>>>>
>> When I looked at this series quickly, looks good to me but I need to get
>> ack from cpuidle maintainer Rafael or Daniel.
>
>
> Acked the different cpuidle bits.

Hi Kukjin,
Can you take it now?


>
> Thanks
>   -- Daniel
>
>
> --
>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-29  4:37                     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-29  4:37 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: Kukjin Kim, Tomasz Figa, linux-pm, linux-kernel,
	linux-samsung-soc, linux-arm-kernel, Lorenzo Pieralisi,
	Rafael J. Wysocki

On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>
>> Chander Kashyap wrote:
>>>
>>>
>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>
>>>> Hi Chander,
>>>>
>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>
>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>
>>> cores.
>>>>>
>>>>>
>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>> generic big.little cpuidle driver.
>>>>>
>>>>> Tested on SMDK5420.
>>>>>
>>>>> This patch set depends on:
>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>> Changelog is in respective patches.
>>>>> Chander Kashyap (5):
>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>      driver
>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>
>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>
>>> ++++++++++++++++++++++++++++++++++
>>>>>
>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>
>>>>
>>>> For the whole series,
>>>>
>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>
>>>
>>> Thanks Tomasz.
>>>
>>> Dear Kukjin,
>>> Can you take these patches.
>>>>
>>>>
>> When I looked at this series quickly, looks good to me but I need to get
>> ack from cpuidle maintainer Rafael or Daniel.
>
>
> Acked the different cpuidle bits.

Hi Kukjin,
Can you take it now?


>
> Thanks
>   -- Daniel
>
>
> --
>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-05-29  4:37                     ` Chander Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander Kashyap @ 2014-05-29  4:37 UTC (permalink / raw)
  To: linux-arm-kernel

On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>
>> Chander Kashyap wrote:
>>>
>>>
>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>
>>>> Hi Chander,
>>>>
>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>
>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>
>>> cores.
>>>>>
>>>>>
>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>> generic big.little cpuidle driver.
>>>>>
>>>>> Tested on SMDK5420.
>>>>>
>>>>> This patch set depends on:
>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>> Changelog is in respective patches.
>>>>> Chander Kashyap (5):
>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>      driver
>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>
>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>
>>> ++++++++++++++++++++++++++++++++++
>>>>>
>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>
>>>>
>>>> For the whole series,
>>>>
>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>
>>>
>>> Thanks Tomasz.
>>>
>>> Dear Kukjin,
>>> Can you take these patches.
>>>>
>>>>
>> When I looked at this series quickly, looks good to me but I need to get
>> ack from cpuidle maintainer Rafael or Daniel.
>
>
> Acked the different cpuidle bits.

Hi Kukjin,
Can you take it now?


>
> Thanks
>   -- Daniel
>
>
> --
>  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
>
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>



-- 
with warm regards,
Chander Kashyap

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
  2014-05-29  4:37                     ` Chander Kashyap
  (?)
@ 2014-06-10 12:38                       ` Chander M. Kashyap
  -1 siblings, 0 replies; 74+ messages in thread
From: Chander M. Kashyap @ 2014-06-10 12:38 UTC (permalink / raw)
  To: Chander Kashyap
  Cc: Daniel Lezcano, Kukjin Kim, Tomasz Figa, linux-pm, linux-kernel,
	linux-samsung-soc, linux-arm-kernel, Lorenzo Pieralisi,
	Rafael J. Wysocki

On Thu, May 29, 2014 at 10:07 AM, Chander Kashyap
<chander.kashyap@linaro.org> wrote:
> On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>>
>>> Chander Kashyap wrote:
>>>>
>>>>
>>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>>
>>>>> Hi Chander,
>>>>>
>>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>>
>>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>>
>>>> cores.
>>>>>>
>>>>>>
>>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>>> generic big.little cpuidle driver.
>>>>>>
>>>>>> Tested on SMDK5420.
>>>>>>
>>>>>> This patch set depends on:
>>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>>> Changelog is in respective patches.
>>>>>> Chander Kashyap (5):
>>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>>      driver
>>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>>
>>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>>
>>>> ++++++++++++++++++++++++++++++++++
>>>>>>
>>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>>
>>>>>
>>>>> For the whole series,
>>>>>
>>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>>
>>>>
>>>> Thanks Tomasz.
>>>>
>>>> Dear Kukjin,
>>>> Can you take these patches.
>>>>>
>>>>>
>>> When I looked at this series quickly, looks good to me but I need to get
>>> ack from cpuidle maintainer Rafael or Daniel.
>>
>>
>> Acked the different cpuidle bits.
>
> Hi Kukjin,
> Can you take it now?

ping
Sorry for previous html messages.

>
>
>>
>> Thanks
>>   -- Daniel
>>
>>
>> --
>>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>>
>> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
>> <http://twitter.com/#!/linaroorg> Twitter |
>> <http://www.linaro.org/linaro-blog/> Blog
>>
>
>
>
> --
> with warm regards,
> Chander Kashyap



-- 
thanks and regards,
Chander M. Kashyap
Contact Number: +918123738320
------- TENSION LENE KA NAHI, DENE KE-----

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

* Re: [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-06-10 12:38                       ` Chander M. Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander M. Kashyap @ 2014-06-10 12:38 UTC (permalink / raw)
  To: Chander Kashyap
  Cc: Daniel Lezcano, Kukjin Kim, Tomasz Figa, linux-pm, linux-kernel,
	linux-samsung-soc, linux-arm-kernel, Lorenzo Pieralisi,
	Rafael J. Wysocki

On Thu, May 29, 2014 at 10:07 AM, Chander Kashyap
<chander.kashyap@linaro.org> wrote:
> On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>>
>>> Chander Kashyap wrote:
>>>>
>>>>
>>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>>
>>>>> Hi Chander,
>>>>>
>>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>>
>>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>>
>>>> cores.
>>>>>>
>>>>>>
>>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>>> generic big.little cpuidle driver.
>>>>>>
>>>>>> Tested on SMDK5420.
>>>>>>
>>>>>> This patch set depends on:
>>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>>> Changelog is in respective patches.
>>>>>> Chander Kashyap (5):
>>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>>      driver
>>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>>
>>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>>
>>>> ++++++++++++++++++++++++++++++++++
>>>>>>
>>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>>
>>>>>
>>>>> For the whole series,
>>>>>
>>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>>
>>>>
>>>> Thanks Tomasz.
>>>>
>>>> Dear Kukjin,
>>>> Can you take these patches.
>>>>>
>>>>>
>>> When I looked at this series quickly, looks good to me but I need to get
>>> ack from cpuidle maintainer Rafael or Daniel.
>>
>>
>> Acked the different cpuidle bits.
>
> Hi Kukjin,
> Can you take it now?

ping
Sorry for previous html messages.

>
>
>>
>> Thanks
>>   -- Daniel
>>
>>
>> --
>>  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>>
>> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
>> <http://twitter.com/#!/linaroorg> Twitter |
>> <http://www.linaro.org/linaro-blog/> Blog
>>
>
>
>
> --
> with warm regards,
> Chander Kashyap



-- 
thanks and regards,
Chander M. Kashyap
Contact Number: +918123738320
------- TENSION LENE KA NAHI, DENE KE-----

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

* [PATCH v6 0/6] add cpuidle support for Exynos5420
@ 2014-06-10 12:38                       ` Chander M. Kashyap
  0 siblings, 0 replies; 74+ messages in thread
From: Chander M. Kashyap @ 2014-06-10 12:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 29, 2014 at 10:07 AM, Chander Kashyap
<chander.kashyap@linaro.org> wrote:
> On 28 May 2014 14:32, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>> On 05/28/2014 06:35 AM, Kukjin Kim wrote:
>>>
>>> Chander Kashyap wrote:
>>>>
>>>>
>>>> On 26 May 2014 15:59, Tomasz Figa <tomasz.figa@gmail.com> wrote:
>>>>>
>>>>> Hi Chander,
>>>>>
>>>>> On 16.05.2014 10:03, Chander Kashyap wrote:
>>>>>>
>>>>>> Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7
>>>>
>>>> cores.
>>>>>>
>>>>>>
>>>>>> This patchset adds cpuidle support for Exynos5420 SoC based on
>>>>>> generic big.little cpuidle driver.
>>>>>>
>>>>>> Tested on SMDK5420.
>>>>>>
>>>>>> This patch set depends on:
>>>>>>        1. [PATCH 0/5] MCPM backend for Exynos5420
>>>>>>           http://www.spinics.net/lists/arm-kernel/msg331100.html
>>>>>> Changelog is in respective patches.
>>>>>> Chander Kashyap (5):
>>>>>>    driver: cpuidle-big-little: add of_device_id structure
>>>>>>    arm: exynos: add generic function to calculate cpu number
>>>>>>    cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
>>>>>>      driver
>>>>>>    driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
>>>>>>    exynos: cpuidle: do not allow cpuidle registration for Exynos5420
>>>>>>    mcpm: exynos: populate suspend and powered_up callbacks
>>>>>>
>>>>>>   arch/arm/mach-exynos/exynos.c        |    4 +++-
>>>>>>   arch/arm/mach-exynos/mcpm-exynos.c   |   36
>>>>
>>>> ++++++++++++++++++++++++++++++++++
>>>>>>
>>>>>>   arch/arm/mach-exynos/regs-pmu.h      |    9 +++++++++
>>>>>>   drivers/cpuidle/Kconfig.arm          |    2 +-
>>>>>>   drivers/cpuidle/cpuidle-big_little.c |   12 +++++++++++-
>>>>>>   5 files changed, 60 insertions(+), 3 deletions(-)
>>>>>>
>>>>>
>>>>> For the whole series,
>>>>>
>>>>> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>>>>
>>>>
>>>> Thanks Tomasz.
>>>>
>>>> Dear Kukjin,
>>>> Can you take these patches.
>>>>>
>>>>>
>>> When I looked at this series quickly, looks good to me but I need to get
>>> ack from cpuidle maintainer Rafael or Daniel.
>>
>>
>> Acked the different cpuidle bits.
>
> Hi Kukjin,
> Can you take it now?

ping
Sorry for previous html messages.

>
>
>>
>> Thanks
>>   -- Daniel
>>
>>
>> --
>>  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
>>
>> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
>> <http://twitter.com/#!/linaroorg> Twitter |
>> <http://www.linaro.org/linaro-blog/> Blog
>>
>
>
>
> --
> with warm regards,
> Chander Kashyap



-- 
thanks and regards,
Chander M. Kashyap
Contact Number: +918123738320
------- TENSION LENE KA NAHI, DENE KE-----

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

end of thread, other threads:[~2014-06-10 12:38 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <ANuQgHGSPJ45tbrVppAVpOqF0OfHacPWfX=S5mOVxTPr66f7vg@mail.gmail.com>
2014-05-14  8:03 ` [PATCH v5 0/6] add cpuidle support for Exynos5420 Chander Kashyap
2014-05-14  8:03   ` Chander Kashyap
2014-05-14  8:03   ` [PATCH v5 1/6] driver: cpuidle-big-little: add of_device_id structure Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14  8:03   ` [PATCH v5 2/6] arm: exynos: add generic function to calculate cpu number Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14  8:03   ` [PATCH v5 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14  8:03   ` [PATCH v5 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420 Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14 13:04     ` Arnd Bergmann
2014-05-14 13:04       ` Arnd Bergmann
2014-05-14 14:06       ` Lorenzo Pieralisi
2014-05-14 14:06         ` Lorenzo Pieralisi
2014-05-14 14:06         ` Lorenzo Pieralisi
2014-05-14  8:03   ` [PATCH v5 5/6] exynos: cpuidle: do not allow cpuidle registration " Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-15 21:26     ` Tomasz Figa
2014-05-15 21:26       ` Tomasz Figa
2014-05-16  4:01       ` Chander Kashyap
2014-05-16  4:01         ` Chander Kashyap
2014-05-16  4:01         ` Chander Kashyap
2014-05-16  8:03         ` [PATCH v6 0/6] add cpuidle support " Chander Kashyap
2014-05-16  8:03           ` Chander Kashyap
2014-05-16  8:03           ` [PATCH v6 1/6] driver: cpuidle-big-little: add of_device_id structure Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-28  8:58             ` Daniel Lezcano
2014-05-28  8:58               ` Daniel Lezcano
2014-05-16  8:03           ` [PATCH v6 2/6] arm: exynos: add generic function to calculate cpu number Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03           ` [PATCH v6 3/6] cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little driver Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-28  9:00             ` Daniel Lezcano
2014-05-28  9:00               ` Daniel Lezcano
2014-05-16  8:03           ` [PATCH v6 4/6] driver: cpuidle: cpuidle-big-little: init driver for Exynos5420 Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03           ` [PATCH v6 5/6] exynos: cpuidle: do not allow cpuidle registration " Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03           ` [PATCH v6 6/6] mcpm: exynos: populate suspend and powered_up callbacks Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-16  8:03             ` Chander Kashyap
2014-05-19  5:40           ` [PATCH v6 0/6] add cpuidle support for Exynos5420 Chander Kashyap
2014-05-19  5:40             ` Chander Kashyap
2014-05-19  5:40             ` Chander Kashyap
2014-05-26  4:40             ` Chander Kashyap
2014-05-26  4:40               ` Chander Kashyap
2014-05-26  4:40               ` Chander Kashyap
2014-05-26 10:29           ` Tomasz Figa
2014-05-26 10:29             ` Tomasz Figa
2014-05-28  4:28             ` Chander Kashyap
2014-05-28  4:28               ` Chander Kashyap
2014-05-28  4:28               ` Chander Kashyap
2014-05-28  4:35               ` Kukjin Kim
2014-05-28  4:35                 ` Kukjin Kim
2014-05-28  9:02                 ` Daniel Lezcano
2014-05-28  9:02                   ` Daniel Lezcano
2014-05-29  4:37                   ` Chander Kashyap
2014-05-29  4:37                     ` Chander Kashyap
2014-05-29  4:37                     ` Chander Kashyap
2014-06-10 12:38                     ` Chander M. Kashyap
2014-06-10 12:38                       ` Chander M. Kashyap
2014-06-10 12:38                       ` Chander M. Kashyap
2014-05-14  8:03   ` [PATCH v5 6/6] mcpm: exynos: populate suspend and powered_up callbacks Chander Kashyap
2014-05-14  8:03     ` Chander Kashyap
2014-05-14  9:56   ` [PATCH v5 0/6] add cpuidle support for Exynos5420 Daniel Lezcano
2014-05-14  9:56     ` Daniel Lezcano
2014-05-14 10:43     ` Chander Kashyap
2014-05-14 10:43       ` Chander Kashyap
2014-05-14 10:43       ` Chander Kashyap

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.