All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-25 22:54 ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: galak, sboyd, linux-arm-msm, agross; +Cc: linux-arm-kernel, linux-pm, Lina Iyer

Hi,

These patches used to be part of my cpuidle patchset, think these can go in
independently.

The patches do the following -

1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
2. Add an API to set up the warmboot address. Consolidate the warm boot flags
into the implementation file 

Thanks,
Lina

Lina Iyer (2):
  ARM: qcom: Add SCM warmboot flags for quad core targets.
  qcom: scm: Add scm_set_warm_boot_addr function

 arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-qcom/scm-boot.h |  5 +++--
 2 files changed, 41 insertions(+), 2 deletions(-)

-- 
2.1.0


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

* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-25 22:54 ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

These patches used to be part of my cpuidle patchset, think these can go in
independently.

The patches do the following -

1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
2. Add an API to set up the warmboot address. Consolidate the warm boot flags
into the implementation file 

Thanks,
Lina

Lina Iyer (2):
  ARM: qcom: Add SCM warmboot flags for quad core targets.
  qcom: scm: Add scm_set_warm_boot_addr function

 arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-qcom/scm-boot.h |  5 +++--
 2 files changed, 41 insertions(+), 2 deletions(-)

-- 
2.1.0

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

* [PATCH 1/2] ARM: qcom: Add SCM warmboot flags for quad core targets.
  2015-02-25 22:54 ` Lina Iyer
@ 2015-02-25 22:54   ` Lina Iyer
  -1 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: galak, sboyd, linux-arm-msm, agross; +Cc: linux-arm-kernel, linux-pm, Lina Iyer

Quad core targets like APQ8074, APQ8064, APQ8084 need SCM support set up
warm boot addresses in the Secure Monitor. Extend the SCM flags to
support warmboot addresses for secondary cores.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
---
 arch/arm/mach-qcom/scm-boot.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
index 6aabb24..02b445c 100644
--- a/arch/arm/mach-qcom/scm-boot.h
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -18,6 +18,8 @@
 #define SCM_FLAG_COLDBOOT_CPU3		0x20
 #define SCM_FLAG_WARMBOOT_CPU0		0x04
 #define SCM_FLAG_WARMBOOT_CPU1		0x02
+#define SCM_FLAG_WARMBOOT_CPU2		0x10
+#define SCM_FLAG_WARMBOOT_CPU3		0x40
 
 int scm_set_boot_addr(phys_addr_t addr, int flags);
 
-- 
2.1.0

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

* [PATCH 1/2] ARM: qcom: Add SCM warmboot flags for quad core targets.
@ 2015-02-25 22:54   ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: linux-arm-kernel

Quad core targets like APQ8074, APQ8064, APQ8084 need SCM support set up
warm boot addresses in the Secure Monitor. Extend the SCM flags to
support warmboot addresses for secondary cores.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
---
 arch/arm/mach-qcom/scm-boot.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
index 6aabb24..02b445c 100644
--- a/arch/arm/mach-qcom/scm-boot.h
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -18,6 +18,8 @@
 #define SCM_FLAG_COLDBOOT_CPU3		0x20
 #define SCM_FLAG_WARMBOOT_CPU0		0x04
 #define SCM_FLAG_WARMBOOT_CPU1		0x02
+#define SCM_FLAG_WARMBOOT_CPU2		0x10
+#define SCM_FLAG_WARMBOOT_CPU3		0x40
 
 int scm_set_boot_addr(phys_addr_t addr, int flags);
 
-- 
2.1.0

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

* [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
  2015-02-25 22:54 ` Lina Iyer
@ 2015-02-25 22:54   ` Lina Iyer
  -1 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: galak, sboyd, linux-arm-msm, agross; +Cc: linux-arm-kernel, linux-pm, Lina Iyer

A core can be powered down for cpuidle or when it is hotplugged of. In
either case, the warmboot return address would be different. Allow
setting the warmboot address for a specific cpu, optimize and write to
the firmware if the address is different than the previously set
address.

Also we do not need to export the warmboot flags. Move them into the
implementation file.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-qcom/scm-boot.h |  7 +++----
 2 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
index 45cee3e..cb73134 100644
--- a/arch/arm/mach-qcom/scm-boot.c
+++ b/arch/arm/mach-qcom/scm-boot.c
@@ -1,4 +1,5 @@
 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2014, Linaro Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -21,6 +22,23 @@
 #include "scm.h"
 #include "scm-boot.h"
 
+#define SCM_FLAG_WARMBOOT_CPU0		0x04
+#define SCM_FLAG_WARMBOOT_CPU1		0x02
+#define SCM_FLAG_WARMBOOT_CPU2		0x10
+#define SCM_FLAG_WARMBOOT_CPU3		0x40
+
+struct scm_warmboot {
+	int flag;
+	void *entry;
+};
+
+static struct scm_warmboot scm_flags[] = {
+	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
+};
+
 /*
  * Set the cold/warm boot address for one of the CPU cores.
  */
@@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
 		phys_addr_t  addr;
 	} cmd;
 
+	might_sleep();
+
 	cmd.addr = addr;
 	cmd.flags = flags;
 	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
 			&cmd, sizeof(cmd), NULL, 0);
 }
 EXPORT_SYMBOL(scm_set_boot_addr);
+
+int scm_set_warm_boot_addr(void *entry, int cpu)
+{
+	int ret;
+
+	/*
+	 * Reassign only if we are switching from hotplug entry point
+	 * to cpuidle entry point or vice versa.
+	 */
+	if (entry == scm_flags[cpu].entry)
+		return 0;
+
+	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
+	if (!ret)
+		scm_flags[cpu].entry  = entry;
+
+	return ret;
+}
diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
index 02b445c..97dbf58 100644
--- a/arch/arm/mach-qcom/scm-boot.h
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -1,4 +1,5 @@
 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2014, Linaro Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -9,6 +10,7 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  */
+
 #ifndef __MACH_SCM_BOOT_H
 #define __MACH_SCM_BOOT_H
 
@@ -16,11 +18,8 @@
 #define SCM_FLAG_COLDBOOT_CPU1		0x01
 #define SCM_FLAG_COLDBOOT_CPU2		0x08
 #define SCM_FLAG_COLDBOOT_CPU3		0x20
-#define SCM_FLAG_WARMBOOT_CPU0		0x04
-#define SCM_FLAG_WARMBOOT_CPU1		0x02
-#define SCM_FLAG_WARMBOOT_CPU2		0x10
-#define SCM_FLAG_WARMBOOT_CPU3		0x40
 
 int scm_set_boot_addr(phys_addr_t addr, int flags);
+int scm_set_warm_boot_addr(void *entry, int cpu);
 
 #endif
-- 
2.1.0


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

* [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
@ 2015-02-25 22:54   ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-25 22:54 UTC (permalink / raw)
  To: linux-arm-kernel

A core can be powered down for cpuidle or when it is hotplugged of. In
either case, the warmboot return address would be different. Allow
setting the warmboot address for a specific cpu, optimize and write to
the firmware if the address is different than the previously set
address.

Also we do not need to export the warmboot flags. Move them into the
implementation file.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-qcom/scm-boot.h |  7 +++----
 2 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
index 45cee3e..cb73134 100644
--- a/arch/arm/mach-qcom/scm-boot.c
+++ b/arch/arm/mach-qcom/scm-boot.c
@@ -1,4 +1,5 @@
 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2014, Linaro Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -21,6 +22,23 @@
 #include "scm.h"
 #include "scm-boot.h"
 
+#define SCM_FLAG_WARMBOOT_CPU0		0x04
+#define SCM_FLAG_WARMBOOT_CPU1		0x02
+#define SCM_FLAG_WARMBOOT_CPU2		0x10
+#define SCM_FLAG_WARMBOOT_CPU3		0x40
+
+struct scm_warmboot {
+	int flag;
+	void *entry;
+};
+
+static struct scm_warmboot scm_flags[] = {
+	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
+	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
+};
+
 /*
  * Set the cold/warm boot address for one of the CPU cores.
  */
@@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
 		phys_addr_t  addr;
 	} cmd;
 
+	might_sleep();
+
 	cmd.addr = addr;
 	cmd.flags = flags;
 	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
 			&cmd, sizeof(cmd), NULL, 0);
 }
 EXPORT_SYMBOL(scm_set_boot_addr);
+
+int scm_set_warm_boot_addr(void *entry, int cpu)
+{
+	int ret;
+
+	/*
+	 * Reassign only if we are switching from hotplug entry point
+	 * to cpuidle entry point or vice versa.
+	 */
+	if (entry == scm_flags[cpu].entry)
+		return 0;
+
+	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
+	if (!ret)
+		scm_flags[cpu].entry  = entry;
+
+	return ret;
+}
diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
index 02b445c..97dbf58 100644
--- a/arch/arm/mach-qcom/scm-boot.h
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -1,4 +1,5 @@
 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2014, Linaro Ltd.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -9,6 +10,7 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  */
+
 #ifndef __MACH_SCM_BOOT_H
 #define __MACH_SCM_BOOT_H
 
@@ -16,11 +18,8 @@
 #define SCM_FLAG_COLDBOOT_CPU1		0x01
 #define SCM_FLAG_COLDBOOT_CPU2		0x08
 #define SCM_FLAG_COLDBOOT_CPU3		0x20
-#define SCM_FLAG_WARMBOOT_CPU0		0x04
-#define SCM_FLAG_WARMBOOT_CPU1		0x02
-#define SCM_FLAG_WARMBOOT_CPU2		0x10
-#define SCM_FLAG_WARMBOOT_CPU3		0x40
 
 int scm_set_boot_addr(phys_addr_t addr, int flags);
+int scm_set_warm_boot_addr(void *entry, int cpu);
 
 #endif
-- 
2.1.0

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

* Re: [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
  2015-02-25 22:54   ` Lina Iyer
@ 2015-02-26 18:47     ` Kevin Hilman
  -1 siblings, 0 replies; 18+ messages in thread
From: Kevin Hilman @ 2015-02-26 18:47 UTC (permalink / raw)
  To: Lina Iyer; +Cc: galak, sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm

Lina Iyer <lina.iyer@linaro.org> writes:

> A core can be powered down for cpuidle or when it is hotplugged of. 

s/of/off/ ?

> In
> either case, the warmboot return address would be different. Allow
> setting the warmboot address for a specific cpu, optimize and write to
> the firmware if the address is different than the previously set
> address.
>
> Also we do not need to export the warmboot flags. Move them into the
> implementation file.
>
> Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
> ---
>  arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-qcom/scm-boot.h |  7 +++----
>  2 files changed, 41 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
> index 45cee3e..cb73134 100644
> --- a/arch/arm/mach-qcom/scm-boot.c
> +++ b/arch/arm/mach-qcom/scm-boot.c
> @@ -1,4 +1,5 @@
>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
> + * Copyright (c) 2014, Linaro Ltd.
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License version 2 and
> @@ -21,6 +22,23 @@
>  #include "scm.h"
>  #include "scm-boot.h"
>  
> +#define SCM_FLAG_WARMBOOT_CPU0		0x04
> +#define SCM_FLAG_WARMBOOT_CPU1		0x02
> +#define SCM_FLAG_WARMBOOT_CPU2		0x10
> +#define SCM_FLAG_WARMBOOT_CPU3		0x40
> +
> +struct scm_warmboot {
> +	int flag;
> +	void *entry;
> +};
> +
> +static struct scm_warmboot scm_flags[] = {
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
> +};
> +
>  /*
>   * Set the cold/warm boot address for one of the CPU cores.
>   */
> @@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
>  		phys_addr_t  addr;
>  	} cmd;
>  
> +	might_sleep();
> +

Unrelated change?

Looking closer at scm_call(), looks like the might_sleep() should go
inside scm_call() where it uses the mutex.

>  	cmd.addr = addr;
>  	cmd.flags = flags;
>  	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
>  			&cmd, sizeof(cmd), NULL, 0);
>  }
>  EXPORT_SYMBOL(scm_set_boot_addr);
> +
> +int scm_set_warm_boot_addr(void *entry, int cpu)
> +{
> +	int ret;
> +
> +	/*
> +	 * Reassign only if we are switching from hotplug entry point
> +	 * to cpuidle entry point or vice versa.
> +	 */
> +	if (entry == scm_flags[cpu].entry)
> +		return 0;
> +
> +	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
> +	if (!ret)
> +		scm_flags[cpu].entry  = entry;
> +
> +	return ret;
> +}
> diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
> index 02b445c..97dbf58 100644
> --- a/arch/arm/mach-qcom/scm-boot.h
> +++ b/arch/arm/mach-qcom/scm-boot.h
> @@ -1,4 +1,5 @@
>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
> + * Copyright (c) 2014, Linaro Ltd.
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License version 2 and
> @@ -9,6 +10,7 @@
>   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>   * GNU General Public License for more details.
>   */
> +
>  #ifndef __MACH_SCM_BOOT_H
>  #define __MACH_SCM_BOOT_H
>  
> @@ -16,11 +18,8 @@
>  #define SCM_FLAG_COLDBOOT_CPU1		0x01
>  #define SCM_FLAG_COLDBOOT_CPU2		0x08
>  #define SCM_FLAG_COLDBOOT_CPU3		0x20
> -#define SCM_FLAG_WARMBOOT_CPU0		0x04
> -#define SCM_FLAG_WARMBOOT_CPU1		0x02
> -#define SCM_FLAG_WARMBOOT_CPU2		0x10
> -#define SCM_FLAG_WARMBOOT_CPU3		0x40

You just added these in patch 1, and now moved them.  I would just
squash the 2 patches together.

Kevin

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

* [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
@ 2015-02-26 18:47     ` Kevin Hilman
  0 siblings, 0 replies; 18+ messages in thread
From: Kevin Hilman @ 2015-02-26 18:47 UTC (permalink / raw)
  To: linux-arm-kernel

Lina Iyer <lina.iyer@linaro.org> writes:

> A core can be powered down for cpuidle or when it is hotplugged of. 

s/of/off/ ?

> In
> either case, the warmboot return address would be different. Allow
> setting the warmboot address for a specific cpu, optimize and write to
> the firmware if the address is different than the previously set
> address.
>
> Also we do not need to export the warmboot flags. Move them into the
> implementation file.
>
> Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
> ---
>  arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-qcom/scm-boot.h |  7 +++----
>  2 files changed, 41 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
> index 45cee3e..cb73134 100644
> --- a/arch/arm/mach-qcom/scm-boot.c
> +++ b/arch/arm/mach-qcom/scm-boot.c
> @@ -1,4 +1,5 @@
>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
> + * Copyright (c) 2014, Linaro Ltd.
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License version 2 and
> @@ -21,6 +22,23 @@
>  #include "scm.h"
>  #include "scm-boot.h"
>  
> +#define SCM_FLAG_WARMBOOT_CPU0		0x04
> +#define SCM_FLAG_WARMBOOT_CPU1		0x02
> +#define SCM_FLAG_WARMBOOT_CPU2		0x10
> +#define SCM_FLAG_WARMBOOT_CPU3		0x40
> +
> +struct scm_warmboot {
> +	int flag;
> +	void *entry;
> +};
> +
> +static struct scm_warmboot scm_flags[] = {
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
> +	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
> +};
> +
>  /*
>   * Set the cold/warm boot address for one of the CPU cores.
>   */
> @@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
>  		phys_addr_t  addr;
>  	} cmd;
>  
> +	might_sleep();
> +

Unrelated change?

Looking closer at scm_call(), looks like the might_sleep() should go
inside scm_call() where it uses the mutex.

>  	cmd.addr = addr;
>  	cmd.flags = flags;
>  	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
>  			&cmd, sizeof(cmd), NULL, 0);
>  }
>  EXPORT_SYMBOL(scm_set_boot_addr);
> +
> +int scm_set_warm_boot_addr(void *entry, int cpu)
> +{
> +	int ret;
> +
> +	/*
> +	 * Reassign only if we are switching from hotplug entry point
> +	 * to cpuidle entry point or vice versa.
> +	 */
> +	if (entry == scm_flags[cpu].entry)
> +		return 0;
> +
> +	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
> +	if (!ret)
> +		scm_flags[cpu].entry  = entry;
> +
> +	return ret;
> +}
> diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
> index 02b445c..97dbf58 100644
> --- a/arch/arm/mach-qcom/scm-boot.h
> +++ b/arch/arm/mach-qcom/scm-boot.h
> @@ -1,4 +1,5 @@
>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
> + * Copyright (c) 2014, Linaro Ltd.
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License version 2 and
> @@ -9,6 +10,7 @@
>   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>   * GNU General Public License for more details.
>   */
> +
>  #ifndef __MACH_SCM_BOOT_H
>  #define __MACH_SCM_BOOT_H
>  
> @@ -16,11 +18,8 @@
>  #define SCM_FLAG_COLDBOOT_CPU1		0x01
>  #define SCM_FLAG_COLDBOOT_CPU2		0x08
>  #define SCM_FLAG_COLDBOOT_CPU3		0x20
> -#define SCM_FLAG_WARMBOOT_CPU0		0x04
> -#define SCM_FLAG_WARMBOOT_CPU1		0x02
> -#define SCM_FLAG_WARMBOOT_CPU2		0x10
> -#define SCM_FLAG_WARMBOOT_CPU3		0x40

You just added these in patch 1, and now moved them.  I would just
squash the 2 patches together.

Kevin

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

* Re: [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
  2015-02-25 22:54 ` Lina Iyer
@ 2015-02-26 22:10   ` Kumar Gala
  -1 siblings, 0 replies; 18+ messages in thread
From: Kumar Gala @ 2015-02-26 22:10 UTC (permalink / raw)
  To: Lina Iyer; +Cc: sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm


On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:

> Hi,
> 
> These patches used to be part of my cpuidle patchset, think these can go in
> independently.
> 
> The patches do the following -
> 
> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
> into the implementation file 
> 
> Thanks,
> Lina
> 
> Lina Iyer (2):
>  ARM: qcom: Add SCM warmboot flags for quad core targets.
>  qcom: scm: Add scm_set_warm_boot_addr function
> 
> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
> arch/arm/mach-qcom/scm-boot.h |  5 +++--
> 2 files changed, 41 insertions(+), 2 deletions(-)

Lina,

Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:

git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup

thanks

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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

* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-26 22:10   ` Kumar Gala
  0 siblings, 0 replies; 18+ messages in thread
From: Kumar Gala @ 2015-02-26 22:10 UTC (permalink / raw)
  To: linux-arm-kernel


On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:

> Hi,
> 
> These patches used to be part of my cpuidle patchset, think these can go in
> independently.
> 
> The patches do the following -
> 
> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
> into the implementation file 
> 
> Thanks,
> Lina
> 
> Lina Iyer (2):
>  ARM: qcom: Add SCM warmboot flags for quad core targets.
>  qcom: scm: Add scm_set_warm_boot_addr function
> 
> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
> arch/arm/mach-qcom/scm-boot.h |  5 +++--
> 2 files changed, 41 insertions(+), 2 deletions(-)

Lina,

Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:

git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup

thanks

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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

* Re: [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
  2015-02-26 22:10   ` Kumar Gala
@ 2015-02-26 22:20     ` Lina Iyer
  -1 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-26 22:20 UTC (permalink / raw)
  To: Kumar Gala; +Cc: sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm

On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>
>On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>
>> Hi,
>>
>> These patches used to be part of my cpuidle patchset, think these can go in
>> independently.
>>
>> The patches do the following -
>>
>> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>> into the implementation file
>>
>> Thanks,
>> Lina
>>
>> Lina Iyer (2):
>>  ARM: qcom: Add SCM warmboot flags for quad core targets.
>>  qcom: scm: Add scm_set_warm_boot_addr function
>>
>> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>> arch/arm/mach-qcom/scm-boot.h |  5 +++--
>> 2 files changed, 41 insertions(+), 2 deletions(-)
>
>Lina,
>
>Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>
>git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>

Sure. As suggested by Kevin H, I will merge the two patches and rebase
on top yours and resubmit.


>thanks
>
>- k
>
>-- 
>Qualcomm Innovation Center, Inc.
>The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>a Linux Foundation Collaborative Project
>

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

* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-26 22:20     ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-26 22:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>
>On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>
>> Hi,
>>
>> These patches used to be part of my cpuidle patchset, think these can go in
>> independently.
>>
>> The patches do the following -
>>
>> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>> into the implementation file
>>
>> Thanks,
>> Lina
>>
>> Lina Iyer (2):
>>  ARM: qcom: Add SCM warmboot flags for quad core targets.
>>  qcom: scm: Add scm_set_warm_boot_addr function
>>
>> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>> arch/arm/mach-qcom/scm-boot.h |  5 +++--
>> 2 files changed, 41 insertions(+), 2 deletions(-)
>
>Lina,
>
>Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>
>git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>

Sure. As suggested by Kevin H, I will merge the two patches and rebase
on top yours and resubmit.


>thanks
>
>- k
>
>-- 
>Qualcomm Innovation Center, Inc.
>The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>a Linux Foundation Collaborative Project
>

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

* Re: [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
  2015-02-26 18:47     ` Kevin Hilman
@ 2015-02-27 20:00       ` Lina Iyer
  -1 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-27 20:00 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: galak, sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm

On Thu, Feb 26 2015 at 11:47 -0700, Kevin Hilman wrote:
>Lina Iyer <lina.iyer@linaro.org> writes:
>
>> A core can be powered down for cpuidle or when it is hotplugged of.
>
>s/of/off/ ?
>

Thanks, took care of it.

>> In
>> either case, the warmboot return address would be different. Allow
>> setting the warmboot address for a specific cpu, optimize and write to
>> the firmware if the address is different than the previously set
>> address.
>>
>> Also we do not need to export the warmboot flags. Move them into the
>> implementation file.
>>
>> Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
>> ---
>>  arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-qcom/scm-boot.h |  7 +++----
>>  2 files changed, 41 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
>> index 45cee3e..cb73134 100644
>> --- a/arch/arm/mach-qcom/scm-boot.c
>> +++ b/arch/arm/mach-qcom/scm-boot.c
>> @@ -1,4 +1,5 @@
>>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
>> + * Copyright (c) 2014, Linaro Ltd.
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 and
>> @@ -21,6 +22,23 @@
>>  #include "scm.h"
>>  #include "scm-boot.h"
>>
>> +#define SCM_FLAG_WARMBOOT_CPU0		0x04
>> +#define SCM_FLAG_WARMBOOT_CPU1		0x02
>> +#define SCM_FLAG_WARMBOOT_CPU2		0x10
>> +#define SCM_FLAG_WARMBOOT_CPU3		0x40
>> +
>> +struct scm_warmboot {
>> +	int flag;
>> +	void *entry;
>> +};
>> +
>> +static struct scm_warmboot scm_flags[] = {
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
>> +};
>> +
>>  /*
>>   * Set the cold/warm boot address for one of the CPU cores.
>>   */
>> @@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
>>  		phys_addr_t  addr;
>>  	} cmd;
>>
>> +	might_sleep();
>> +
>
>Unrelated change?
>
>Looking closer at scm_call(), looks like the might_sleep() should go
>inside scm_call() where it uses the mutex.
>
Removed it from this patch.

>>  	cmd.addr = addr;
>>  	cmd.flags = flags;
>>  	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
>>  			&cmd, sizeof(cmd), NULL, 0);
>>  }
>>  EXPORT_SYMBOL(scm_set_boot_addr);
>> +
>> +int scm_set_warm_boot_addr(void *entry, int cpu)
>> +{
>> +	int ret;
>> +
>> +	/*
>> +	 * Reassign only if we are switching from hotplug entry point
>> +	 * to cpuidle entry point or vice versa.
>> +	 */
>> +	if (entry == scm_flags[cpu].entry)
>> +		return 0;
>> +
>> +	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
>> +	if (!ret)
>> +		scm_flags[cpu].entry  = entry;
>> +
>> +	return ret;
>> +}
>> diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
>> index 02b445c..97dbf58 100644
>> --- a/arch/arm/mach-qcom/scm-boot.h
>> +++ b/arch/arm/mach-qcom/scm-boot.h
>> @@ -1,4 +1,5 @@
>>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
>> + * Copyright (c) 2014, Linaro Ltd.
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 and
>> @@ -9,6 +10,7 @@
>>   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>   * GNU General Public License for more details.
>>   */
>> +
>>  #ifndef __MACH_SCM_BOOT_H
>>  #define __MACH_SCM_BOOT_H
>>
>> @@ -16,11 +18,8 @@
>>  #define SCM_FLAG_COLDBOOT_CPU1		0x01
>>  #define SCM_FLAG_COLDBOOT_CPU2		0x08
>>  #define SCM_FLAG_COLDBOOT_CPU3		0x20
>> -#define SCM_FLAG_WARMBOOT_CPU0		0x04
>> -#define SCM_FLAG_WARMBOOT_CPU1		0x02
>> -#define SCM_FLAG_WARMBOOT_CPU2		0x10
>> -#define SCM_FLAG_WARMBOOT_CPU3		0x40
>
>You just added these in patch 1, and now moved them.  I would just
>squash the 2 patches together.
>
Sure. Thanks!

>Kevin

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

* [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function
@ 2015-02-27 20:00       ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-27 20:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Feb 26 2015 at 11:47 -0700, Kevin Hilman wrote:
>Lina Iyer <lina.iyer@linaro.org> writes:
>
>> A core can be powered down for cpuidle or when it is hotplugged of.
>
>s/of/off/ ?
>

Thanks, took care of it.

>> In
>> either case, the warmboot return address would be different. Allow
>> setting the warmboot address for a specific cpu, optimize and write to
>> the firmware if the address is different than the previously set
>> address.
>>
>> Also we do not need to export the warmboot flags. Move them into the
>> implementation file.
>>
>> Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
>> ---
>>  arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>  arch/arm/mach-qcom/scm-boot.h |  7 +++----
>>  2 files changed, 41 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
>> index 45cee3e..cb73134 100644
>> --- a/arch/arm/mach-qcom/scm-boot.c
>> +++ b/arch/arm/mach-qcom/scm-boot.c
>> @@ -1,4 +1,5 @@
>>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
>> + * Copyright (c) 2014, Linaro Ltd.
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 and
>> @@ -21,6 +22,23 @@
>>  #include "scm.h"
>>  #include "scm-boot.h"
>>
>> +#define SCM_FLAG_WARMBOOT_CPU0		0x04
>> +#define SCM_FLAG_WARMBOOT_CPU1		0x02
>> +#define SCM_FLAG_WARMBOOT_CPU2		0x10
>> +#define SCM_FLAG_WARMBOOT_CPU3		0x40
>> +
>> +struct scm_warmboot {
>> +	int flag;
>> +	void *entry;
>> +};
>> +
>> +static struct scm_warmboot scm_flags[] = {
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU0 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU1 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU2 },
>> +	{ .flag = SCM_FLAG_WARMBOOT_CPU3 },
>> +};
>> +
>>  /*
>>   * Set the cold/warm boot address for one of the CPU cores.
>>   */
>> @@ -31,9 +49,29 @@ int scm_set_boot_addr(phys_addr_t addr, int flags)
>>  		phys_addr_t  addr;
>>  	} cmd;
>>
>> +	might_sleep();
>> +
>
>Unrelated change?
>
>Looking closer at scm_call(), looks like the might_sleep() should go
>inside scm_call() where it uses the mutex.
>
Removed it from this patch.

>>  	cmd.addr = addr;
>>  	cmd.flags = flags;
>>  	return scm_call(SCM_SVC_BOOT, SCM_BOOT_ADDR,
>>  			&cmd, sizeof(cmd), NULL, 0);
>>  }
>>  EXPORT_SYMBOL(scm_set_boot_addr);
>> +
>> +int scm_set_warm_boot_addr(void *entry, int cpu)
>> +{
>> +	int ret;
>> +
>> +	/*
>> +	 * Reassign only if we are switching from hotplug entry point
>> +	 * to cpuidle entry point or vice versa.
>> +	 */
>> +	if (entry == scm_flags[cpu].entry)
>> +		return 0;
>> +
>> +	ret = scm_set_boot_addr(virt_to_phys(entry), scm_flags[cpu].flag);
>> +	if (!ret)
>> +		scm_flags[cpu].entry  = entry;
>> +
>> +	return ret;
>> +}
>> diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
>> index 02b445c..97dbf58 100644
>> --- a/arch/arm/mach-qcom/scm-boot.h
>> +++ b/arch/arm/mach-qcom/scm-boot.h
>> @@ -1,4 +1,5 @@
>>  /* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
>> + * Copyright (c) 2014, Linaro Ltd.
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 and
>> @@ -9,6 +10,7 @@
>>   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>   * GNU General Public License for more details.
>>   */
>> +
>>  #ifndef __MACH_SCM_BOOT_H
>>  #define __MACH_SCM_BOOT_H
>>
>> @@ -16,11 +18,8 @@
>>  #define SCM_FLAG_COLDBOOT_CPU1		0x01
>>  #define SCM_FLAG_COLDBOOT_CPU2		0x08
>>  #define SCM_FLAG_COLDBOOT_CPU3		0x20
>> -#define SCM_FLAG_WARMBOOT_CPU0		0x04
>> -#define SCM_FLAG_WARMBOOT_CPU1		0x02
>> -#define SCM_FLAG_WARMBOOT_CPU2		0x10
>> -#define SCM_FLAG_WARMBOOT_CPU3		0x40
>
>You just added these in patch 1, and now moved them.  I would just
>squash the 2 patches together.
>
Sure. Thanks!

>Kevin

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

* Re: [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
  2015-02-26 22:20     ` Lina Iyer
@ 2015-02-27 20:07       ` Lina Iyer
  -1 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-27 20:07 UTC (permalink / raw)
  To: Kumar Gala; +Cc: sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm

On Thu, Feb 26 2015 at 15:20 -0700, Lina Iyer wrote:
>On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>>
>>On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>>
>>>Hi,
>>>
>>>These patches used to be part of my cpuidle patchset, think these can go in
>>>independently.
>>>
>>>The patches do the following -
>>>
>>>1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>>>2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>>>into the implementation file
>>>
>>>Thanks,
>>>Lina
>>>
>>>Lina Iyer (2):
>>> ARM: qcom: Add SCM warmboot flags for quad core targets.
>>> qcom: scm: Add scm_set_warm_boot_addr function
>>>
>>>arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>>arch/arm/mach-qcom/scm-boot.h |  5 +++--
>>>2 files changed, 41 insertions(+), 2 deletions(-)
>>
>>Lina,
>>
>>Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>>
>>git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>>
>
>Sure. As suggested by Kevin H, I will merge the two patches and rebase
>on top yours and resubmit.
>
I have rebased on top of yours. I will send it shortly. But please note
that source "driver/firmware/Kconfig" is missing in arch/arm/Kconfig for
the driver/firmware to build.

Also, I have a dependency on the scm_call_atomic() api introduced by
Stephen [1] for cpuidle. When can I expect to see that?

[1]. https://lkml.org/lkml/2014/8/4/765


Thanks,
Lina

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

* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-27 20:07       ` Lina Iyer
  0 siblings, 0 replies; 18+ messages in thread
From: Lina Iyer @ 2015-02-27 20:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Feb 26 2015 at 15:20 -0700, Lina Iyer wrote:
>On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>>
>>On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>>
>>>Hi,
>>>
>>>These patches used to be part of my cpuidle patchset, think these can go in
>>>independently.
>>>
>>>The patches do the following -
>>>
>>>1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>>>2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>>>into the implementation file
>>>
>>>Thanks,
>>>Lina
>>>
>>>Lina Iyer (2):
>>> ARM: qcom: Add SCM warmboot flags for quad core targets.
>>> qcom: scm: Add scm_set_warm_boot_addr function
>>>
>>>arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>>arch/arm/mach-qcom/scm-boot.h |  5 +++--
>>>2 files changed, 41 insertions(+), 2 deletions(-)
>>
>>Lina,
>>
>>Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>>
>>git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>>
>
>Sure. As suggested by Kevin H, I will merge the two patches and rebase
>on top yours and resubmit.
>
I have rebased on top of yours. I will send it shortly. But please note
that source "driver/firmware/Kconfig" is missing in arch/arm/Kconfig for
the driver/firmware to build.

Also, I have a dependency on the scm_call_atomic() api introduced by
Stephen [1] for cpuidle. When can I expect to see that?

[1]. https://lkml.org/lkml/2014/8/4/765


Thanks,
Lina

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

* Re: [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
  2015-02-27 20:07       ` Lina Iyer
@ 2015-02-27 21:23         ` Kumar Gala
  -1 siblings, 0 replies; 18+ messages in thread
From: Kumar Gala @ 2015-02-27 21:23 UTC (permalink / raw)
  To: Lina Iyer; +Cc: sboyd, linux-arm-msm, agross, linux-arm-kernel, linux-pm


On Feb 27, 2015, at 2:07 PM, Lina Iyer <lina.iyer@linaro.org> wrote:

> On Thu, Feb 26 2015 at 15:20 -0700, Lina Iyer wrote:
>> On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>>> 
>>> On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> These patches used to be part of my cpuidle patchset, think these can go in
>>>> independently.
>>>> 
>>>> The patches do the following -
>>>> 
>>>> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>>>> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>>>> into the implementation file
>>>> 
>>>> Thanks,
>>>> Lina
>>>> 
>>>> Lina Iyer (2):
>>>> ARM: qcom: Add SCM warmboot flags for quad core targets.
>>>> qcom: scm: Add scm_set_warm_boot_addr function
>>>> 
>>>> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>>> arch/arm/mach-qcom/scm-boot.h |  5 +++--
>>>> 2 files changed, 41 insertions(+), 2 deletions(-)
>>> 
>>> Lina,
>>> 
>>> Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>>> 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>>> 
>> 
>> Sure. As suggested by Kevin H, I will merge the two patches and rebase
>> on top yours and resubmit.
>> 
> I have rebased on top of yours. I will send it shortly. But please note
> that source "driver/firmware/Kconfig" is missing in arch/arm/Kconfig for
> the driver/firmware to build.

I’ll fix this.

> 
> Also, I have a dependency on the scm_call_atomic() api introduced by
> Stephen [1] for cpuidle. When can I expect to see that?
> 
> [1]. https://lkml.org/lkml/2014/8/4/765

Please add the patch to your patchset.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


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

* [PATCH 0/2] Add SCM warmboot support for QCOM SoCs
@ 2015-02-27 21:23         ` Kumar Gala
  0 siblings, 0 replies; 18+ messages in thread
From: Kumar Gala @ 2015-02-27 21:23 UTC (permalink / raw)
  To: linux-arm-kernel


On Feb 27, 2015, at 2:07 PM, Lina Iyer <lina.iyer@linaro.org> wrote:

> On Thu, Feb 26 2015 at 15:20 -0700, Lina Iyer wrote:
>> On Thu, Feb 26 2015 at 15:10 -0700, Kumar Gala wrote:
>>> 
>>> On Feb 25, 2015, at 4:54 PM, Lina Iyer <lina.iyer@linaro.org> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> These patches used to be part of my cpuidle patchset, think these can go in
>>>> independently.
>>>> 
>>>> The patches do the following -
>>>> 
>>>> 1. Add QCOM Secure Monitor specific enumeration for warm boot on qcom targets
>>>> 2. Add an API to set up the warmboot address. Consolidate the warm boot flags
>>>> into the implementation file
>>>> 
>>>> Thanks,
>>>> Lina
>>>> 
>>>> Lina Iyer (2):
>>>> ARM: qcom: Add SCM warmboot flags for quad core targets.
>>>> qcom: scm: Add scm_set_warm_boot_addr function
>>>> 
>>>> arch/arm/mach-qcom/scm-boot.c | 38 ++++++++++++++++++++++++++++++++++++++
>>>> arch/arm/mach-qcom/scm-boot.h |  5 +++--
>>>> 2 files changed, 41 insertions(+), 2 deletions(-)
>>> 
>>> Lina,
>>> 
>>> Do you mind rebasing these patches on my recent SCM cleanup set.  You find it at:
>>> 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git qcom/scm-cleanup
>>> 
>> 
>> Sure. As suggested by Kevin H, I will merge the two patches and rebase
>> on top yours and resubmit.
>> 
> I have rebased on top of yours. I will send it shortly. But please note
> that source "driver/firmware/Kconfig" is missing in arch/arm/Kconfig for
> the driver/firmware to build.

I?ll fix this.

> 
> Also, I have a dependency on the scm_call_atomic() api introduced by
> Stephen [1] for cpuidle. When can I expect to see that?
> 
> [1]. https://lkml.org/lkml/2014/8/4/765

Please add the patch to your patchset.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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

end of thread, other threads:[~2015-02-27 21:23 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-25 22:54 [PATCH 0/2] Add SCM warmboot support for QCOM SoCs Lina Iyer
2015-02-25 22:54 ` Lina Iyer
2015-02-25 22:54 ` [PATCH 1/2] ARM: qcom: Add SCM warmboot flags for quad core targets Lina Iyer
2015-02-25 22:54   ` Lina Iyer
2015-02-25 22:54 ` [PATCH 2/2] qcom: scm: Add scm_set_warm_boot_addr function Lina Iyer
2015-02-25 22:54   ` Lina Iyer
2015-02-26 18:47   ` Kevin Hilman
2015-02-26 18:47     ` Kevin Hilman
2015-02-27 20:00     ` Lina Iyer
2015-02-27 20:00       ` Lina Iyer
2015-02-26 22:10 ` [PATCH 0/2] Add SCM warmboot support for QCOM SoCs Kumar Gala
2015-02-26 22:10   ` Kumar Gala
2015-02-26 22:20   ` Lina Iyer
2015-02-26 22:20     ` Lina Iyer
2015-02-27 20:07     ` Lina Iyer
2015-02-27 20:07       ` Lina Iyer
2015-02-27 21:23       ` Kumar Gala
2015-02-27 21:23         ` Kumar Gala

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.