Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro

2013-02-03 Thread Albert ARIBAUD
Hi Rob,

On Sun,  2 Dec 2012 21:06:21 -0600, Rob Herring robherri...@gmail.com
wrote:

 From: Rob Herring rob.herr...@calxeda.com
 
 Since wfi instruction is only available on ARMv7, add a conditional
 macro for it.
 
 Signed-off-by: Rob Herring rob.herr...@calxeda.com
 ---
  arch/arm/include/asm/system.h |6 ++
  1 file changed, 6 insertions(+)
 
 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
 index 2b28a26..2f6aecd 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
 @@ -61,6 +61,12 @@
  
  #define nop() __asm__ __volatile__(mov\tr0,r0\t@ nop\n\t);
  
 +#ifdef __ARM_ARCH_7A__
 +#define wfi() __asm__ __volatile__ (wfi : : : memory)
 +#else
 +#define wfi()
 +#endif
 +
  static inline unsigned int get_cr(void)
  {
   unsigned int val;

Applied to u-boot-arm/master, thanks!

Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro

2012-12-03 Thread Rob Herring


On 12/02/2012 10:58 PM, Marek Vasut wrote:
 Dear Rob Herring,
 
 From: Rob Herring rob.herr...@calxeda.com

 Since wfi instruction is only available on ARMv7, add a conditional
 macro for it.

 Signed-off-by: Rob Herring rob.herr...@calxeda.com
 ---
  arch/arm/include/asm/system.h |6 ++
  1 file changed, 6 insertions(+)

 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
 index 2b28a26..2f6aecd 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
 @@ -61,6 +61,12 @@

  #define nop() __asm__ __volatile__(mov\tr0,r0\t@ nop\n\t);

 +#ifdef __ARM_ARCH_7A__
 +#define wfi() __asm__ __volatile__ (wfi : : : memory)
 +#else
 +#define wfi()
 +#endif
 
 Won't this break other (non-arm) systems? Moreover, maybe you can make this 
 an 
 (inline) function instead?

How? It is in an ARM specific header and empty on anything but ARMv7
enabled compiler. This follows the kernel implementation and the nop above.

Rob

 
  static inline unsigned int get_cr(void)
  {
  unsigned int val;
 
 Best regards,
 Marek Vasut
 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro

2012-12-03 Thread Marek Vasut
Dear Rob Herring,

 On 12/02/2012 10:58 PM, Marek Vasut wrote:
  Dear Rob Herring,
  
  From: Rob Herring rob.herr...@calxeda.com
  
  Since wfi instruction is only available on ARMv7, add a conditional
  macro for it.
  
  Signed-off-by: Rob Herring rob.herr...@calxeda.com
  ---
  
   arch/arm/include/asm/system.h |6 ++
   1 file changed, 6 insertions(+)
  
  diff --git a/arch/arm/include/asm/system.h
  b/arch/arm/include/asm/system.h index 2b28a26..2f6aecd 100644
  --- a/arch/arm/include/asm/system.h
  +++ b/arch/arm/include/asm/system.h
  @@ -61,6 +61,12 @@
  
   #define nop() __asm__ __volatile__(mov\tr0,r0\t@ nop\n\t);
  
  +#ifdef __ARM_ARCH_7A__
  +#define wfi() __asm__ __volatile__ (wfi : : : memory)
  +#else
  +#define wfi()
  +#endif
  
  Won't this break other (non-arm) systems? Moreover, maybe you can make
  this an (inline) function instead?
 
 How? It is in an ARM specific header and empty on anything but ARMv7
 enabled compiler. This follows the kernel implementation and the nop above.

Ok, I missed the arch/arm. It's ok then, sorry for the noise.
[...]

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] ARM: add wfi assembly macro

2012-12-02 Thread Rob Herring
From: Rob Herring rob.herr...@calxeda.com

Since wfi instruction is only available on ARMv7, add a conditional
macro for it.

Signed-off-by: Rob Herring rob.herr...@calxeda.com
---
 arch/arm/include/asm/system.h |6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 2b28a26..2f6aecd 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -61,6 +61,12 @@
 
 #define nop() __asm__ __volatile__(mov\tr0,r0\t@ nop\n\t);
 
+#ifdef __ARM_ARCH_7A__
+#define wfi() __asm__ __volatile__ (wfi : : : memory)
+#else
+#define wfi()
+#endif
+
 static inline unsigned int get_cr(void)
 {
unsigned int val;
-- 
1.7.10.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro

2012-12-02 Thread Marek Vasut
Dear Rob Herring,

 From: Rob Herring rob.herr...@calxeda.com
 
 Since wfi instruction is only available on ARMv7, add a conditional
 macro for it.
 
 Signed-off-by: Rob Herring rob.herr...@calxeda.com
 ---
  arch/arm/include/asm/system.h |6 ++
  1 file changed, 6 insertions(+)
 
 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
 index 2b28a26..2f6aecd 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
 @@ -61,6 +61,12 @@
 
  #define nop() __asm__ __volatile__(mov\tr0,r0\t@ nop\n\t);
 
 +#ifdef __ARM_ARCH_7A__
 +#define wfi() __asm__ __volatile__ (wfi : : : memory)
 +#else
 +#define wfi()
 +#endif

Won't this break other (non-arm) systems? Moreover, maybe you can make this an 
(inline) function instead?

  static inline unsigned int get_cr(void)
  {
   unsigned int val;

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot