Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17e0645e authored by Ben Dooks's avatar Ben Dooks Committed by Krzysztof Kozlowski
Browse files

ARM: EXYNOS: Fixup for __raw operations in suspend.c



Fix the PMU code endian access code to deal with kernels built for
big endian operation by changing the __raw IO accessors to the
_relaxed variants.

Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
parent 8558643d
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -301,7 +301,7 @@ static int exynos5420_cpu_suspend(unsigned long arg)
	unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
	unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);

	__raw_writel(0x0, sysram_base_addr + EXYNOS5420_CPU_STATE);
	writel_relaxed(0x0, sysram_base_addr + EXYNOS5420_CPU_STATE);

	if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM)) {
		mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
@@ -373,7 +373,7 @@ static void exynos5420_pm_prepare(void)
	 * needs to restore it back in case, the primary cpu fails to
	 * suspend for any reason.
	 */
	exynos5420_cpu_state = __raw_readl(sysram_base_addr +
	exynos5420_cpu_state = readl_relaxed(sysram_base_addr +
					     EXYNOS5420_CPU_STATE);

	exynos_pm_enter_sleep_mode();
@@ -507,7 +507,7 @@ static void exynos5420_pm_resume(void)
		       EXYNOS5_ARM_CORE0_SYS_PWR_REG);

	/* Restore the sysram cpu state register */
	__raw_writel(exynos5420_cpu_state,
	writel_relaxed(exynos5420_cpu_state,
		       sysram_base_addr + EXYNOS5420_CPU_STATE);

	pmu_raw_writel(EXYNOS5420_USE_STANDBY_WFI_ALL,