Re: [fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-05 Thread Brendan Conoboy

On 06/01/2012 11:26 AM, Mark Langsdorf wrote:

I'll submit a 3.4 and a 3.5 patch later today or Monday, then.


Hi Mark,

To be explicit, what we'd like to see is the 3.4 patch concurrent with 
an upstream submission.  Once you've submitted the patch to upstream 
we'll carry it in the Fedora kernel until such time as it's accepted 
upstream and filters down again.  Thanks!


--
Brendan Conoboy / Red Hat, Inc. / b...@redhat.com
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-04 Thread Peter Robinson
Hi Mark,

On Fri, Jun 1, 2012 at 7:26 PM, Mark Langsdorf
 wrote:
> On 06/01/2012 08:49 AM, Dennis Gilmore wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> On Fri, 01 Jun 2012 08:25:29 -0500
>> Mark Langsdorf  wrote:
>>
>>> This patch is intended for the fc17 3.3 kernel branch. Most of the
>>> patches are in the process of being upstreamed.
>>>
>>> I'm preparing a separate patch for the fc18 3.4 kernel branch.
>>>
>> f17 is about to go to 3.4  likely today.  and f18 is on 3.5 already
>
> I'll submit a 3.4 and a 3.5 patch later today or Monday, then.

I'll merge the config changes into the Fedora kernel, for the actual
3.5 kernel changes it would be good if they could go directly upstream
to the mainline kernel and cc:ed for stable kernel to get pulled in
for 3.4 for as well. That's the correct way to get things into the
Fedora kernel and our processes on ARM should be following that of
mainline.

Regards,
Peter
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-01 Thread Mark Langsdorf
On 06/01/2012 08:49 AM, Dennis Gilmore wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> On Fri, 01 Jun 2012 08:25:29 -0500
> Mark Langsdorf  wrote:
> 
>> This patch is intended for the fc17 3.3 kernel branch. Most of the
>> patches are in the process of being upstreamed.
>>
>> I'm preparing a separate patch for the fc18 3.4 kernel branch.
>>
> f17 is about to go to 3.4  likely today.  and f18 is on 3.5 already

I'll submit a 3.4 and a 3.5 patch later today or Monday, then.

--Mark Langsdorf
Calxeda, Inc.

___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-01 Thread Dennis Gilmore
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Fri, 01 Jun 2012 08:25:29 -0500
Mark Langsdorf  wrote:

> This patch is intended for the fc17 3.3 kernel branch. Most of the
> patches are in the process of being upstreamed.
> 
> I'm preparing a separate patch for the fc18 3.4 kernel branch.
> 
f17 is about to go to 3.4  likely today.  and f18 is on 3.5 already


Dennis
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.18 (GNU/Linux)

iEYEARECAAYFAk/IyG4ACgkQkSxm47BaWfcFugCfe8R2F6k92FkTye8uubl7g9ei
jBgAnRiC4Poo3ezgj8Jr4G5UbcEg6Of/
=N1B3
-END PGP SIGNATURE-
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-01 Thread Mark Langsdorf
This patch is intended for the fc17 3.3 kernel branch. Most of the
patches are in the process of being upstreamed.

I'm preparing a separate patch for the fc18 3.4 kernel branch.

--Mark Langsdorf
Calxeda, Inc.

On 06/01/2012 08:21 AM, Mark Langsdorf wrote:
> Calxeda's ECX-1000 chips are available. Various bugs and issues have been
> discovered in lab tests. This patch fixes most of the known issues and
> creates a highbank kernel that boots on the ECX-1000 chip.
> 
> Signed-off-by: Mark Langsdorf 
> ---
>  config-arm-highbank|   19 +-
>  highbank-various.patch |  168 
> 
>  kernel.spec|2 +
>  3 files changed, 188 insertions(+), 1 deletion(-)
>  create mode 100644 highbank-various.patch
> 
> diff --git a/config-arm-highbank b/config-arm-highbank
> index 60178dd..d86f89e 100644
> --- a/config-arm-highbank
> +++ b/config-arm-highbank
> @@ -1,16 +1,25 @@
>  CONFIG_ARCH_HIGHBANK=y
>  # CONFIG_ARM_LPAE is not set
> +CONFIG_USE_GENERIC_SMP_HELPERS=y
> +CONFIG_HAVE_SMP=y
> +CONFIG_SMP=y
> +CONFIG_SMP_ON_UP=y
>  # CONFIG_ARM_THUMBEE is not set
>  CONFIG_SWP_EMULATE=y
> -# CONFIG_CPU_BPREDICT_DISABLE is not set
>  # CONFIG_ARM_ERRATA_430973 is not set
>  # CONFIG_ARM_ERRATA_458693 is not set
>  # CONFIG_ARM_ERRATA_460075 is not set
> +# CONFIG_ARM_ERRATA_742230 is not set
> +# CONFIG_ARM_ERRATA_742231 is not set
>  # CONFIG_PL310_ERRATA_588369 is not set
> +CONFIG_ARM_ERRATA_720789=y
>  # CONFIG_PL310_ERRATA_727915 is not set
>  # CONFIG_ARM_ERRATA_743622 is not set
> +CONFIG_ARM_ERRATA_751472=y
>  # CONFIG_PL310_ERRATA_753970 is not set
>  # CONFIG_ARM_ERRATA_754322 is not set
> +# CONFIG_ARM_ERRATA_754327 is not set
> +# CONFIG_ARM_ERRATA_764369 is not set
>  # CONFIG_PL310_ERRATA_769419 is not set
>  
>  # CONFIG_THUMB2_KERNEL is not set
> @@ -29,3 +38,11 @@ CONFIG_GPIO_PL061=y
>  CONFIG_SERIAL_AMBA_PL010=y
>  CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
>  
> +# CONFIG_CPU_BPREDICT_DISABLE is not set
> +CONFIG_ARM_CPU_TOPOLOGY=y
> +# CONFIG_SCHED_SMT is not set
> +# CONFIG_NET_SCHED is not set
> +CONFIG_SCHED_MC=y
> +CONFIG_NR_CPUS=4
> +CONFIG_LOCAL_TIMERS=y
> +CONFIG_MPCORE_WATCHDOG=y
> diff --git a/highbank-various.patch b/highbank-various.patch
> new file mode 100644
> index 000..0b2f93c
> --- /dev/null
> +++ b/highbank-various.patch
> @@ -0,0 +1,168 @@
> +diff --git a/arch/arm/mach-highbank/Makefile 
> b/arch/arm/mach-highbank/Makefile
> +index bfff00d..a6fb6f9 100644
> +--- a/arch/arm/mach-highbank/Makefile
>  b/arch/arm/mach-highbank/Makefile
> +@@ -1,4 +1,8 @@
> +-obj-y   := clock.o highbank.o system.o
> ++obj-y   := clock.o highbank.o system.o 
> smc.o
> ++
> ++plus_sec := $(call as-instr,.arch_extension sec,+sec)
> ++AFLAGS_smc.o:=-Wa,-march=armv7-a$(plus_sec)
> ++
> + obj-$(CONFIG_DEBUG_HIGHBANK_UART)   += lluart.o
> + obj-$(CONFIG_SMP)   += platsmp.o
> + obj-$(CONFIG_LOCAL_TIMERS)  += localtimer.o
> +diff --git a/arch/arm/mach-highbank/core.h b/arch/arm/mach-highbank/core.h
> +index 7e33fc9..bc7e77e 100644
> +--- a/arch/arm/mach-highbank/core.h
>  b/arch/arm/mach-highbank/core.h
> +@@ -7,3 +7,4 @@ extern void highbank_lluart_map_io(void);
> + static inline void highbank_lluart_map_io(void) {}
> + #endif
> + 
> ++extern void highbank_smc1(int fn, int arg);
> +diff --git a/arch/arm/mach-highbank/highbank.c 
> b/arch/arm/mach-highbank/highbank.c
> +index 612e866..6be0b2f 100644
> +--- a/arch/arm/mach-highbank/highbank.c
>  b/arch/arm/mach-highbank/highbank.c
> +@@ -87,10 +87,25 @@ const static struct of_device_id irq_match[] = {
> + {}
> + };
> + 
> ++#ifdef CONFIG_CACHE_L2X0
> ++static void highbank_l2x0_disable(void)
> ++{
> ++/* Disable PL310 L2 Cache controller */
> ++highbank_smc1(0x102, 0x0);
> ++}
> ++#endif
> ++
> ++
> + static void __init highbank_init_irq(void)
> + {
> + of_irq_init(irq_match);
> ++
> ++#ifdef CONFIG_CACHE_L2X0
> ++/* Enable PL310 L2 Cache controller */
> ++highbank_smc1(0x102, 0x1);
> + l2x0_of_init(0, ~0UL);
> ++outer_cache.disable = highbank_l2x0_disable;
> ++#endif
> + }
> + 
> + static struct clk_lookup lookups[] = {
> +diff --git a/arch/arm/mach-highbank/smc.S b/arch/arm/mach-highbank/smc.S
> +new file mode 100644
> +index 000..8b11632
> +--- /dev/null
>  b/arch/arm/mach-highbank/smc.S
> +@@ -0,0 +1,31 @@
> ++/*
> ++ * Copied from omap44xx-smc.S
> ++ * Copyright (C) 2010 Texas Instruments, Inc.
> ++ * Written by Santosh Shilimkar 
> ++ *
> ++ *
> ++ * This program is free software,you can redistribute it and/or modify
> ++ * it under the terms of the GNU General Public License version 2 as
> ++ * published by the Free Software Foundation.
> ++ */
> ++
> ++#include 
> ++
> ++/*
> ++ * This is common routine to manage secure monitor API
> ++ * used to modify the PL310 secure registers.
> ++ * 'r0' contains the value to be modified 

[fedora-arm] [PATCH] arm: fixes for Calxeda ECX-1000 from testing

2012-06-01 Thread Mark Langsdorf
Calxeda's ECX-1000 chips are available. Various bugs and issues have been
discovered in lab tests. This patch fixes most of the known issues and
creates a highbank kernel that boots on the ECX-1000 chip.

Signed-off-by: Mark Langsdorf 
---
 config-arm-highbank|   19 +-
 highbank-various.patch |  168 
 kernel.spec|2 +
 3 files changed, 188 insertions(+), 1 deletion(-)
 create mode 100644 highbank-various.patch

diff --git a/config-arm-highbank b/config-arm-highbank
index 60178dd..d86f89e 100644
--- a/config-arm-highbank
+++ b/config-arm-highbank
@@ -1,16 +1,25 @@
 CONFIG_ARCH_HIGHBANK=y
 # CONFIG_ARM_LPAE is not set
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_HAVE_SMP=y
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
 # CONFIG_ARM_THUMBEE is not set
 CONFIG_SWP_EMULATE=y
-# CONFIG_CPU_BPREDICT_DISABLE is not set
 # CONFIG_ARM_ERRATA_430973 is not set
 # CONFIG_ARM_ERRATA_458693 is not set
 # CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_742230 is not set
+# CONFIG_ARM_ERRATA_742231 is not set
 # CONFIG_PL310_ERRATA_588369 is not set
+CONFIG_ARM_ERRATA_720789=y
 # CONFIG_PL310_ERRATA_727915 is not set
 # CONFIG_ARM_ERRATA_743622 is not set
+CONFIG_ARM_ERRATA_751472=y
 # CONFIG_PL310_ERRATA_753970 is not set
 # CONFIG_ARM_ERRATA_754322 is not set
+# CONFIG_ARM_ERRATA_754327 is not set
+# CONFIG_ARM_ERRATA_764369 is not set
 # CONFIG_PL310_ERRATA_769419 is not set
 
 # CONFIG_THUMB2_KERNEL is not set
@@ -29,3 +38,11 @@ CONFIG_GPIO_PL061=y
 CONFIG_SERIAL_AMBA_PL010=y
 CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
 
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_ARM_CPU_TOPOLOGY=y
+# CONFIG_SCHED_SMT is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=4
+CONFIG_LOCAL_TIMERS=y
+CONFIG_MPCORE_WATCHDOG=y
diff --git a/highbank-various.patch b/highbank-various.patch
new file mode 100644
index 000..0b2f93c
--- /dev/null
+++ b/highbank-various.patch
@@ -0,0 +1,168 @@
+diff --git a/arch/arm/mach-highbank/Makefile b/arch/arm/mach-highbank/Makefile
+index bfff00d..a6fb6f9 100644
+--- a/arch/arm/mach-highbank/Makefile
 b/arch/arm/mach-highbank/Makefile
+@@ -1,4 +1,8 @@
+-obj-y := clock.o highbank.o system.o
++obj-y := clock.o highbank.o system.o smc.o
++
++plus_sec := $(call as-instr,.arch_extension sec,+sec)
++AFLAGS_smc.o  :=-Wa,-march=armv7-a$(plus_sec)
++
+ obj-$(CONFIG_DEBUG_HIGHBANK_UART) += lluart.o
+ obj-$(CONFIG_SMP) += platsmp.o
+ obj-$(CONFIG_LOCAL_TIMERS)+= localtimer.o
+diff --git a/arch/arm/mach-highbank/core.h b/arch/arm/mach-highbank/core.h
+index 7e33fc9..bc7e77e 100644
+--- a/arch/arm/mach-highbank/core.h
 b/arch/arm/mach-highbank/core.h
+@@ -7,3 +7,4 @@ extern void highbank_lluart_map_io(void);
+ static inline void highbank_lluart_map_io(void) {}
+ #endif
+ 
++extern void highbank_smc1(int fn, int arg);
+diff --git a/arch/arm/mach-highbank/highbank.c 
b/arch/arm/mach-highbank/highbank.c
+index 612e866..6be0b2f 100644
+--- a/arch/arm/mach-highbank/highbank.c
 b/arch/arm/mach-highbank/highbank.c
+@@ -87,10 +87,25 @@ const static struct of_device_id irq_match[] = {
+   {}
+ };
+ 
++#ifdef CONFIG_CACHE_L2X0
++static void highbank_l2x0_disable(void)
++{
++  /* Disable PL310 L2 Cache controller */
++  highbank_smc1(0x102, 0x0);
++}
++#endif
++
++
+ static void __init highbank_init_irq(void)
+ {
+   of_irq_init(irq_match);
++
++#ifdef CONFIG_CACHE_L2X0
++  /* Enable PL310 L2 Cache controller */
++  highbank_smc1(0x102, 0x1);
+   l2x0_of_init(0, ~0UL);
++  outer_cache.disable = highbank_l2x0_disable;
++#endif
+ }
+ 
+ static struct clk_lookup lookups[] = {
+diff --git a/arch/arm/mach-highbank/smc.S b/arch/arm/mach-highbank/smc.S
+new file mode 100644
+index 000..8b11632
+--- /dev/null
 b/arch/arm/mach-highbank/smc.S
+@@ -0,0 +1,31 @@
++/*
++ * Copied from omap44xx-smc.S
++ * Copyright (C) 2010 Texas Instruments, Inc.
++ * Written by Santosh Shilimkar 
++ *
++ *
++ * This program is free software,you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include 
++
++/*
++ * This is common routine to manage secure monitor API
++ * used to modify the PL310 secure registers.
++ * 'r0' contains the value to be modified and 'r12' contains
++ * the monitor API number. It uses few CPU registers
++ * internally and hence they need be backed up including
++ * link register "lr".
++ * Function signature : void omap_smc1(u32 fn, u32 arg)
++ */
++
++ENTRY(highbank_smc1)
++  stmfd   sp!, {r2-r12, lr}
++  mov r12, r0
++  mov r0, r1
++  dsb
++  smc #0
++  ldmfd   sp!, {r2-r12, pc}
++ENDPROC(highbank_smc1)
+diff --git a/drivers/net/ethernet/calxeda/xgmac.c 
b/drivers/net/ethernet/calxeda/xgmac.c
+index a733094..616d38b 10064