diff options
-rw-r--r-- | arch/arm/mach-tegra/pm.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-tegra/sleep.S | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index 77e9d6ffeba8..fedca9a78475 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -256,7 +256,7 @@ static __init int alloc_suspend_context(void) { #if USE_TEGRA_CPU_SUSPEND pgprot_t prot = __pgprot_modify(pgprot_kernel, L_PTE_MT_MASK, - L_PTE_MT_UNCACHED | L_PTE_XN); + L_PTE_MT_BUFFERABLE | L_PTE_XN); struct page *ctx_page; unsigned long ctx_virt; phys_addr_t ctx_phys; @@ -276,7 +276,7 @@ static __init int alloc_suspend_context(void) pmd = pmd_offset(tegra_pgd + pgd_index(ctx_virt), ctx_virt); *pmd = __pmd((ctx_phys & PGDIR_MASK) | PMD_TYPE_SECT | PMD_SECT_AP_WRITE | - PMD_SECT_XN | PMD_SECT_UNCACHED); + PMD_SECT_XN | PMD_SECT_BUFFERED); flush_pmd_entry(pmd); outer_clean_range(__pa(pmd), __pa(pmd + 1)); diff --git a/arch/arm/mach-tegra/sleep.S b/arch/arm/mach-tegra/sleep.S index 5d8a804665a2..f2471045a288 100644 --- a/arch/arm/mach-tegra/sleep.S +++ b/arch/arm/mach-tegra/sleep.S @@ -229,6 +229,7 @@ ENTRY(tegra_cpu_suspend) stmfd sp!, {r1, r2, r3} @ save v:p, virt SP, return fn bl cpu_do_suspend #endif + dsb /* Disable the data cache */ mrc p15, 0, r10, c1, c0, 0 |