Message ID | 1446844273-6460-5-git-send-email-kapilh@broadcom.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/06/2015 10:11 PM, Kapil Hali wrote: > From: Jon Mason <jonmason@broadcom.com> > > Add SMP support for Broadcom's 4708 SoCs. > > Signed-off-by: Jon Mason <jonmason@broadcom.com> > Acked-by: Hauke Mehrtens <hauke@hauke-m.de> > Tested-by: Hauke Mehrtens <hauke@hauke-m.de> > Signed-off-by: Kapil Hali <kapilh@broadcom.com> I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. > --- > arch/arm/boot/dts/bcm4708.dtsi | 2 ++ > arch/arm/mach-bcm/Kconfig | 1 + > arch/arm/mach-bcm/Makefile | 3 +++ > 3 files changed, 6 insertions(+) > ... > --- a/arch/arm/mach-bcm/Kconfig > +++ b/arch/arm/mach-bcm/Kconfig > @@ -54,6 +54,7 @@ config ARCH_BCM_NSP > config ARCH_BCM_5301X > bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 > select ARCH_BCM_IPROC You activated ARM_ERRATA_764369 for NSP is this not needed for NS? > + select HAVE_SMP > help > Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. > ...
On Fri, Nov 06, 2015 at 10:42:41PM +0100, Hauke Mehrtens wrote: > On 11/06/2015 10:11 PM, Kapil Hali wrote: > > From: Jon Mason <jonmason@broadcom.com> > > > > Add SMP support for Broadcom's 4708 SoCs. > > > > Signed-off-by: Jon Mason <jonmason@broadcom.com> > > Acked-by: Hauke Mehrtens <hauke@hauke-m.de> > > Tested-by: Hauke Mehrtens <hauke@hauke-m.de> > > Signed-off-by: Kapil Hali <kapilh@broadcom.com> > > I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. > > > --- > > arch/arm/boot/dts/bcm4708.dtsi | 2 ++ > > arch/arm/mach-bcm/Kconfig | 1 + > > arch/arm/mach-bcm/Makefile | 3 +++ > > 3 files changed, 6 insertions(+) > > > > ... > > > --- a/arch/arm/mach-bcm/Kconfig > > +++ b/arch/arm/mach-bcm/Kconfig > > @@ -54,6 +54,7 @@ config ARCH_BCM_NSP > > config ARCH_BCM_5301X > > bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 > > select ARCH_BCM_IPROC > > You activated ARM_ERRATA_764369 for NSP is this not needed for NS? I'm not certain the CPU version, and without that it is difficult to know what errata's are present in the underlying hardware. My guess is that all present in NSP are present in NS (for UP and SMP). This would put it as: select ARM_ERRATA_754322 select ARM_ERRATA_775420 select ARM_ERRATA_764369 if SMP Would you like me to have them added? Thanks, Jon > > > > + select HAVE_SMP > > help > > Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. > > > > ...
Hi Hauke, On 15-11-06 01:42 PM, Hauke Mehrtens wrote: > On 11/06/2015 10:11 PM, Kapil Hali wrote: >> From: Jon Mason <jonmason@broadcom.com> >> >> Add SMP support for Broadcom's 4708 SoCs. >> >> Signed-off-by: Jon Mason <jonmason@broadcom.com> >> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> >> Tested-by: Hauke Mehrtens <hauke@hauke-m.de> >> Signed-off-by: Kapil Hali <kapilh@broadcom.com> > > I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. > >> --- >> arch/arm/boot/dts/bcm4708.dtsi | 2 ++ >> arch/arm/mach-bcm/Kconfig | 1 + >> arch/arm/mach-bcm/Makefile | 3 +++ >> 3 files changed, 6 insertions(+) >> > > ... > >> --- a/arch/arm/mach-bcm/Kconfig >> +++ b/arch/arm/mach-bcm/Kconfig >> @@ -54,6 +54,7 @@ config ARCH_BCM_NSP >> config ARCH_BCM_5301X >> bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 >> select ARCH_BCM_IPROC > > You activated ARM_ERRATA_764369 for NSP is this not needed for NS? > You would have to read the ARM CPU register and then compare to ARM Errata to see whether the Errata affects NS or not. > >> + select HAVE_SMP >> help >> Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. >> > > ... > Regards, Scott
On 11/06/2015 11:54 PM, Jon Mason wrote: > On Fri, Nov 06, 2015 at 10:42:41PM +0100, Hauke Mehrtens wrote: >> On 11/06/2015 10:11 PM, Kapil Hali wrote: >>> From: Jon Mason <jonmason@broadcom.com> >>> >>> Add SMP support for Broadcom's 4708 SoCs. >>> >>> Signed-off-by: Jon Mason <jonmason@broadcom.com> >>> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> >>> Tested-by: Hauke Mehrtens <hauke@hauke-m.de> >>> Signed-off-by: Kapil Hali <kapilh@broadcom.com> >> >> I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. >> >>> --- >>> arch/arm/boot/dts/bcm4708.dtsi | 2 ++ >>> arch/arm/mach-bcm/Kconfig | 1 + >>> arch/arm/mach-bcm/Makefile | 3 +++ >>> 3 files changed, 6 insertions(+) >>> >> >> ... >> >>> --- a/arch/arm/mach-bcm/Kconfig >>> +++ b/arch/arm/mach-bcm/Kconfig >>> @@ -54,6 +54,7 @@ config ARCH_BCM_NSP >>> config ARCH_BCM_5301X >>> bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 >>> select ARCH_BCM_IPROC >> >> You activated ARM_ERRATA_764369 for NSP is this not needed for NS? > > I'm not certain the CPU version, and without that it is difficult to > know what errata's are present in the underlying hardware. My guess > is that all present in NSP are present in NS (for UP and SMP). This > would put it as: > select ARM_ERRATA_754322 > select ARM_ERRATA_775420 > select ARM_ERRATA_764369 if SMP > > Would you like me to have them added? > I will send a separate patch adding all the workarounds for erratas in the CPU core and the cache controller. Hauke
On 11/07/2015 12:27 AM, Hauke Mehrtens wrote: > On 11/06/2015 11:54 PM, Jon Mason wrote: >> On Fri, Nov 06, 2015 at 10:42:41PM +0100, Hauke Mehrtens wrote: >>> On 11/06/2015 10:11 PM, Kapil Hali wrote: >>>> From: Jon Mason <jonmason@broadcom.com> >>>> >>>> Add SMP support for Broadcom's 4708 SoCs. >>>> >>>> Signed-off-by: Jon Mason <jonmason@broadcom.com> >>>> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> >>>> Tested-by: Hauke Mehrtens <hauke@hauke-m.de> >>>> Signed-off-by: Kapil Hali <kapilh@broadcom.com> >>> >>> I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. >>> >>>> --- >>>> arch/arm/boot/dts/bcm4708.dtsi | 2 ++ >>>> arch/arm/mach-bcm/Kconfig | 1 + >>>> arch/arm/mach-bcm/Makefile | 3 +++ >>>> 3 files changed, 6 insertions(+) >>>> >>> >>> ... >>> >>>> --- a/arch/arm/mach-bcm/Kconfig >>>> +++ b/arch/arm/mach-bcm/Kconfig >>>> @@ -54,6 +54,7 @@ config ARCH_BCM_NSP >>>> config ARCH_BCM_5301X >>>> bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 >>>> select ARCH_BCM_IPROC >>> >>> You activated ARM_ERRATA_764369 for NSP is this not needed for NS? >> >> I'm not certain the CPU version, and without that it is difficult to >> know what errata's are present in the underlying hardware. My guess >> is that all present in NSP are present in NS (for UP and SMP). This >> would put it as: >> select ARM_ERRATA_754322 >> select ARM_ERRATA_775420 >> select ARM_ERRATA_764369 if SMP >> >> Would you like me to have them added? >> > > I will send a separate patch adding all the workarounds for erratas in > the CPU core and the cache controller. > > Hauke > > Hi, BCM4708 uses a Cortex-A9 rev r3p0 and a L2C-310 rev r3p2. For this CPU and cache controller the same workaround are needed as for NSP, if you will resend this patch, please add all of them. Hauke
On Sat, Nov 07, 2015 at 12:41:21AM +0100, Hauke Mehrtens wrote: > On 11/07/2015 12:27 AM, Hauke Mehrtens wrote: > > On 11/06/2015 11:54 PM, Jon Mason wrote: > >> On Fri, Nov 06, 2015 at 10:42:41PM +0100, Hauke Mehrtens wrote: > >>> On 11/06/2015 10:11 PM, Kapil Hali wrote: > >>>> From: Jon Mason <jonmason@broadcom.com> > >>>> > >>>> Add SMP support for Broadcom's 4708 SoCs. > >>>> > >>>> Signed-off-by: Jon Mason <jonmason@broadcom.com> > >>>> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> > >>>> Tested-by: Hauke Mehrtens <hauke@hauke-m.de> > >>>> Signed-off-by: Kapil Hali <kapilh@broadcom.com> > >>> > >>> I tested this on a Netgear R6250 V1 (BCM4708) and SMP worked. > >>> > >>>> --- > >>>> arch/arm/boot/dts/bcm4708.dtsi | 2 ++ > >>>> arch/arm/mach-bcm/Kconfig | 1 + > >>>> arch/arm/mach-bcm/Makefile | 3 +++ > >>>> 3 files changed, 6 insertions(+) > >>>> > >>> > >>> ... > >>> > >>>> --- a/arch/arm/mach-bcm/Kconfig > >>>> +++ b/arch/arm/mach-bcm/Kconfig > >>>> @@ -54,6 +54,7 @@ config ARCH_BCM_NSP > >>>> config ARCH_BCM_5301X > >>>> bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 > >>>> select ARCH_BCM_IPROC > >>> > >>> You activated ARM_ERRATA_764369 for NSP is this not needed for NS? > >> > >> I'm not certain the CPU version, and without that it is difficult to > >> know what errata's are present in the underlying hardware. My guess > >> is that all present in NSP are present in NS (for UP and SMP). This > >> would put it as: > >> select ARM_ERRATA_754322 > >> select ARM_ERRATA_775420 > >> select ARM_ERRATA_764369 if SMP > >> > >> Would you like me to have them added? > >> > > > > I will send a separate patch adding all the workarounds for erratas in > > the CPU core and the cache controller. > > > > Hauke > > > > > Hi, > > BCM4708 uses a Cortex-A9 rev r3p0 and a L2C-310 rev r3p2. For this CPU > and cache controller the same workaround are needed as for NSP, if you > will resend this patch, please add all of them. Agreed. Kapil or I will mod the patch. Thanks, Jon > > Hauke
diff --git a/arch/arm/boot/dts/bcm4708.dtsi b/arch/arm/boot/dts/bcm4708.dtsi index 31141e8..22a41df 100644 --- a/arch/arm/boot/dts/bcm4708.dtsi +++ b/arch/arm/boot/dts/bcm4708.dtsi @@ -15,6 +15,8 @@ cpus { #address-cells = <1>; #size-cells = <0>; + enable-method = "brcm,bcm-nsp-smp"; + secondary-boot-reg = <0xffff0400>; cpu@0 { device_type = "cpu"; diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index 2e9dbb5..4fc8fa3 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -54,6 +54,7 @@ config ARCH_BCM_NSP config ARCH_BCM_5301X bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 select ARCH_BCM_IPROC + select HAVE_SMP help Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index 5193a25..7d66515 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -43,6 +43,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o # BCM5301X obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o +ifeq ($(CONFIG_ARCH_BCM_5301X),y) +obj-$(CONFIG_SMP) += platsmp.o +endif # BCM63XXx ifeq ($(CONFIG_ARCH_BCM_63XX),y)