msm: pm: clean msm_pm_pc_pgd in the cache after writing

Since a CPU will read the msm_pm_pc_pgd value as it comes
up from power collapse when caches are disabled, it needs
to be guaranteed that the value has been written to memory
before any CPU power collapses.

Change-Id: I7f6358a001255f9bac99a6378532c96fd460f82b
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
This commit is contained in:
Steve Muckle
2012-04-08 14:52:49 +05:30
committed by Murali Nalajala
parent c25a936123
commit 730ad7abaa
2 changed files with 4 additions and 0 deletions
+2
View File
@@ -1202,6 +1202,8 @@ static int __init msm_pm_init(void)
pmd[2] = __pmd(pmdval + (2 << (PGDIR_SHIFT - 1)));
flush_pmd_entry(pmd);
msm_pm_pc_pgd = virt_to_phys(pc_pgd);
clean_caches((unsigned long)&msm_pm_pc_pgd, sizeof(msm_pm_pc_pgd),
virt_to_phys(&msm_pm_pc_pgd));
ret = request_irq(rpm_cpu0_wakeup_irq,
msm_pm_rpm_wakeup_interrupt, IRQF_TRIGGER_RISING,
+2
View File
@@ -1899,6 +1899,8 @@ static int __init msm_pm_init(void)
pmd[2] = __pmd(pmdval + (2 << (PGDIR_SHIFT - 1)));
flush_pmd_entry(pmd);
msm_pm_pc_pgd = virt_to_phys(pc_pgd);
clean_caches((unsigned long)&msm_pm_pc_pgd, sizeof(msm_pm_pc_pgd),
virt_to_phys(&msm_pm_pc_pgd));
#endif
pm_power_off = msm_pm_power_off;