Samsung mach/soc changes for v5.3

Only cleanups and minor fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl0SdncQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1730D/d1FaVbBxX0usjsWufS9IkQe4XvRk8KiAOk
 gjjkp5rePkwXkezWjsS4vSrvN0dP39J7U0HFq9J4yqUNNL4UoKGZIU4pUZM+YNMS
 i3IXWK+p963smP9pwFWbHNP8BnMucS2PrWGt3gI2fpJ2u/+Nidc7Hg4q80GqHsi5
 XXGO5xHEWXsPsDaypaYerEMZm79QRlvSbogGDYWhhh3VAvFZdV19rOo7YUwN6aA9
 S9PQb2OjBspGQjtfz3MXBpkpjbgcM9xS/ocnRaV2/EkrY8xndHLz3Xrrdaz1BeIi
 Rbp8bkUYC6ibb1xwC8+61JUNz2tzuvyuZUl55ak8dat5Xn186ww6f8E+em6gHhgf
 kkaU+KTuiOcG4oigqzZljiw9GNm3o7Sp4PaZzjcxougd0i0/vvtiZR8jkRqnB2BG
 CmhN7mIIecj9KwRYWy7S/zYAw3AIXLx9uWSO9Qvp1ASE3Bvmcbfvbtl+rQ5a00Ct
 A23jl2irUEj9ya2IOy9Vo7xoiqfV2Z4sJRt9oPo2l3qCCv7z1dGEV+0N6ySX6HHQ
 f5wsafCeGuOb1GhX+jwt6JosgQzI3kTZaoNR8CfONyaj+YY8Q5wfNNLtStlBrguv
 c9/xx1YCqp5qHxYaaLS9ozLT42wcT/Cv6ksapRMip9f61Cu1GwsHlFnvlGLdwUBC
 85nG5cqW
 =b9yN
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-5.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.3

Only cleanups and minor fixes.

* tag 'samsung-soc-5.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos: Cleanup cppcheck shifting warning
  ARM: exynos: Only build MCPM support if used
  ARM: exynos: Make ARCH_EXYNOS3 a default option

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2019-06-26 19:30:10 -07:00
commit da4d0b2891
3 changed files with 11 additions and 6 deletions

View File

@ -49,6 +49,7 @@ config S5P_DEV_MFC
config ARCH_EXYNOS3 config ARCH_EXYNOS3
bool "SAMSUNG EXYNOS3" bool "SAMSUNG EXYNOS3"
default y
select ARM_CPU_SUSPEND if PM select ARM_CPU_SUSPEND if PM
help help
Samsung EXYNOS3 (Cortex-A7) SoC based systems Samsung EXYNOS3 (Cortex-A7) SoC based systems
@ -106,7 +107,7 @@ config SOC_EXYNOS5420
bool "SAMSUNG EXYNOS5420" bool "SAMSUNG EXYNOS5420"
default y default y
depends on ARCH_EXYNOS5 depends on ARCH_EXYNOS5
select MCPM if SMP select EXYNOS_MCPM if SMP
select ARM_CCI400_PORT_CTRL select ARM_CCI400_PORT_CTRL
select ARM_CPU_SUSPEND select ARM_CPU_SUSPEND
@ -115,6 +116,10 @@ config SOC_EXYNOS5800
default y default y
depends on SOC_EXYNOS5420 depends on SOC_EXYNOS5420
config EXYNOS_MCPM
bool
select MCPM
config EXYNOS_CPU_SUSPEND config EXYNOS_CPU_SUSPEND
bool bool
select ARM_CPU_SUSPEND select ARM_CPU_SUSPEND

View File

@ -14,5 +14,5 @@ obj-$(CONFIG_PM_SLEEP) += suspend.o
obj-$(CONFIG_SMP) += platsmp.o headsmp.o obj-$(CONFIG_SMP) += platsmp.o headsmp.o
obj-$(CONFIG_MCPM) += mcpm-exynos.o obj-$(CONFIG_EXYNOS_MCPM) += mcpm-exynos.o
CFLAGS_mcpm-exynos.o += -march=armv7-a CFLAGS_mcpm-exynos.o += -march=armv7-a

View File

@ -268,7 +268,7 @@ static int exynos5420_cpu_suspend(unsigned long arg)
unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
if (IS_ENABLED(CONFIG_MCPM)) { if (IS_ENABLED(CONFIG_EXYNOS_MCPM)) {
mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume); mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
mcpm_cpu_suspend(); mcpm_cpu_suspend();
} }
@ -285,7 +285,7 @@ static void exynos_pm_set_wakeup_mask(void)
* Set wake-up mask registers * Set wake-up mask registers
* EXYNOS_EINT_WAKEUP_MASK is set by pinctrl driver in late suspend. * EXYNOS_EINT_WAKEUP_MASK is set by pinctrl driver in late suspend.
*/ */
pmu_raw_writel(exynos_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK); pmu_raw_writel(exynos_irqwake_intmask & ~BIT(31), S5P_WAKEUP_MASK);
} }
static void exynos_pm_enter_sleep_mode(void) static void exynos_pm_enter_sleep_mode(void)
@ -351,7 +351,7 @@ static void exynos5420_pm_prepare(void)
exynos_pm_enter_sleep_mode(); exynos_pm_enter_sleep_mode();
/* ensure at least INFORM0 has the resume address */ /* ensure at least INFORM0 has the resume address */
if (IS_ENABLED(CONFIG_MCPM)) if (IS_ENABLED(CONFIG_EXYNOS_MCPM))
pmu_raw_writel(__pa_symbol(mcpm_entry_point), S5P_INFORM0); pmu_raw_writel(__pa_symbol(mcpm_entry_point), S5P_INFORM0);
tmp = pmu_raw_readl(EXYNOS_L2_OPTION(0)); tmp = pmu_raw_readl(EXYNOS_L2_OPTION(0));
@ -455,7 +455,7 @@ static void exynos5420_prepare_pm_resume(void)
mpidr = read_cpuid_mpidr(); mpidr = read_cpuid_mpidr();
cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
if (IS_ENABLED(CONFIG_MCPM)) if (IS_ENABLED(CONFIG_EXYNOS_MCPM))
WARN_ON(mcpm_cpu_powered_up()); WARN_ON(mcpm_cpu_powered_up());
if (IS_ENABLED(CONFIG_HW_PERF_EVENTS) && cluster != 0) { if (IS_ENABLED(CONFIG_HW_PERF_EVENTS) && cluster != 0) {