Message ID | 1401712543-14281-5-git-send-email-b.zolnierkie@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On 02.06.2014 14:35, Bartlomiej Zolnierkiewicz wrote: > Replace EXYNOS_BOOT_VECTOR_ADDR and EXYNOS_BOOT_VECTOR_FLAG macros > by exynos_boot_vector_addr() and exynos_boot_vector_flag() static > inlines. > > This patch shouldn't cause any functionality changes. > > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > arch/arm/mach-exynos/pm.c | 28 ++++++++++++++++++++-------- > 1 file changed, 20 insertions(+), 8 deletions(-) > diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c > index 87c0d34..cf09383 100644 > --- a/arch/arm/mach-exynos/pm.c > +++ b/arch/arm/mach-exynos/pm.c > @@ -166,12 +166,23 @@ int exynos_cluster_power_state(int cluster) > S5P_CORE_LOCAL_PWR_EN); > } > > -#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > - S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > - (sysram_base_addr + 0x24) : S5P_INFORM0)) > -#define EXYNOS_BOOT_VECTOR_FLAG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > - S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > - (sysram_base_addr + 0x20) : S5P_INFORM1)) > +static inline void __iomem *exynos_boot_vector_addr(void) > +{ > + if (samsung_rev() == EXYNOS4210_REV_1_1) > + return S5P_INFORM7; > + else if (samsung_rev() == EXYNOS4210_REV_1_0) > + return sysram_base_addr + 0x24; > + return S5P_INFORM0; I know this is not strictly related to this patch, but isn't a check whether the SoC is Exynos4210 also needed, before comparing the revision with Exynos4210-specific values? Otherwise looks good. Best regards, Tomasz
Hi, On Monday, June 02, 2014 03:05:40 PM Tomasz Figa wrote: > Hi, > > On 02.06.2014 14:35, Bartlomiej Zolnierkiewicz wrote: > > Replace EXYNOS_BOOT_VECTOR_ADDR and EXYNOS_BOOT_VECTOR_FLAG macros > > by exynos_boot_vector_addr() and exynos_boot_vector_flag() static > > inlines. > > > > This patch shouldn't cause any functionality changes. > > > > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > Acked-by: Kyungmin Park <kyungmin.park@samsung.com> > > --- > > arch/arm/mach-exynos/pm.c | 28 ++++++++++++++++++++-------- > > 1 file changed, 20 insertions(+), 8 deletions(-) > > > diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c > > index 87c0d34..cf09383 100644 > > --- a/arch/arm/mach-exynos/pm.c > > +++ b/arch/arm/mach-exynos/pm.c > > @@ -166,12 +166,23 @@ int exynos_cluster_power_state(int cluster) > > S5P_CORE_LOCAL_PWR_EN); > > } > > > > -#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > > - S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > > - (sysram_base_addr + 0x24) : S5P_INFORM0)) > > -#define EXYNOS_BOOT_VECTOR_FLAG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > > - S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > > - (sysram_base_addr + 0x20) : S5P_INFORM1)) > > +static inline void __iomem *exynos_boot_vector_addr(void) > > +{ > > + if (samsung_rev() == EXYNOS4210_REV_1_1) > > + return S5P_INFORM7; > > + else if (samsung_rev() == EXYNOS4210_REV_1_0) > > + return sysram_base_addr + 0x24; > > + return S5P_INFORM0; > > I know this is not strictly related to this patch, but isn't a check > whether the SoC is Exynos4210 also needed, before comparing the revision > with Exynos4210-specific values? Yes, it is needed but other SoCs need to be verified that they do not rely on a buggy code (to not introduce regressions). This is of course outside a scope of the current patchset. > Otherwise looks good. > > Best regards, > Tomasz Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics
On 06/02/2014 02:35 PM, Bartlomiej Zolnierkiewicz wrote: > Replace EXYNOS_BOOT_VECTOR_ADDR and EXYNOS_BOOT_VECTOR_FLAG macros > by exynos_boot_vector_addr() and exynos_boot_vector_flag() static > inlines. > > This patch shouldn't cause any functionality changes. > > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> > --- > arch/arm/mach-exynos/pm.c | 28 ++++++++++++++++++++-------- > 1 file changed, 20 insertions(+), 8 deletions(-) > > diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c > index 87c0d34..cf09383 100644 > --- a/arch/arm/mach-exynos/pm.c > +++ b/arch/arm/mach-exynos/pm.c > @@ -166,12 +166,23 @@ int exynos_cluster_power_state(int cluster) > S5P_CORE_LOCAL_PWR_EN); > } > > -#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > - S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > - (sysram_base_addr + 0x24) : S5P_INFORM0)) > -#define EXYNOS_BOOT_VECTOR_FLAG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ > - S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ > - (sysram_base_addr + 0x20) : S5P_INFORM1)) > +static inline void __iomem *exynos_boot_vector_addr(void) > +{ > + if (samsung_rev() == EXYNOS4210_REV_1_1) > + return S5P_INFORM7; > + else if (samsung_rev() == EXYNOS4210_REV_1_0) > + return sysram_base_addr + 0x24; > + return S5P_INFORM0; > +} > + > +static inline void __iomem *exynos_boot_vector_flag(void) > +{ > + if (samsung_rev() == EXYNOS4210_REV_1_1) > + return S5P_INFORM6; > + else if (samsung_rev() == EXYNOS4210_REV_1_0) > + return sysram_base_addr + 0x20; > + return S5P_INFORM1; > +} > > #define S5P_CHECK_AFTR 0xFCBA0D10 > #define S5P_CHECK_SLEEP 0x00000BAD > @@ -184,8 +195,9 @@ static void exynos_set_wakeupmask(long mask) > > static void exynos_cpu_set_boot_vector(long flags) > { > - __raw_writel(virt_to_phys(exynos_cpu_resume), EXYNOS_BOOT_VECTOR_ADDR); > - __raw_writel(flags, EXYNOS_BOOT_VECTOR_FLAG); > + __raw_writel(virt_to_phys(exynos_cpu_resume), > + exynos_boot_vector_addr()); > + __raw_writel(flags, exynos_boot_vector_flag()); > } > > void exynos_enter_aftr(void) >
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c index 87c0d34..cf09383 100644 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c @@ -166,12 +166,23 @@ int exynos_cluster_power_state(int cluster) S5P_CORE_LOCAL_PWR_EN); } -#define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ - S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ - (sysram_base_addr + 0x24) : S5P_INFORM0)) -#define EXYNOS_BOOT_VECTOR_FLAG (samsung_rev() == EXYNOS4210_REV_1_1 ? \ - S5P_INFORM6 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ - (sysram_base_addr + 0x20) : S5P_INFORM1)) +static inline void __iomem *exynos_boot_vector_addr(void) +{ + if (samsung_rev() == EXYNOS4210_REV_1_1) + return S5P_INFORM7; + else if (samsung_rev() == EXYNOS4210_REV_1_0) + return sysram_base_addr + 0x24; + return S5P_INFORM0; +} + +static inline void __iomem *exynos_boot_vector_flag(void) +{ + if (samsung_rev() == EXYNOS4210_REV_1_1) + return S5P_INFORM6; + else if (samsung_rev() == EXYNOS4210_REV_1_0) + return sysram_base_addr + 0x20; + return S5P_INFORM1; +} #define S5P_CHECK_AFTR 0xFCBA0D10 #define S5P_CHECK_SLEEP 0x00000BAD @@ -184,8 +195,9 @@ static void exynos_set_wakeupmask(long mask) static void exynos_cpu_set_boot_vector(long flags) { - __raw_writel(virt_to_phys(exynos_cpu_resume), EXYNOS_BOOT_VECTOR_ADDR); - __raw_writel(flags, EXYNOS_BOOT_VECTOR_FLAG); + __raw_writel(virt_to_phys(exynos_cpu_resume), + exynos_boot_vector_addr()); + __raw_writel(flags, exynos_boot_vector_flag()); } void exynos_enter_aftr(void)