Commit 5ae4dab2 authored by danh-arm's avatar danh-arm Committed by GitHub
Browse files

Merge pull request #1051 from Kevin-WangTao/fix_suspend_issue

Hikey960: fix PSCI suspend stuck issue
parents e8082422 4af7fcb8
...@@ -250,6 +250,7 @@ static void ...@@ -250,6 +250,7 @@ static void
hikey960_pwr_domain_suspend_finish(const psci_power_state_t *target_state) hikey960_pwr_domain_suspend_finish(const psci_power_state_t *target_state)
{ {
unsigned long mpidr = read_mpidr_el1(); unsigned long mpidr = read_mpidr_el1();
unsigned int core = mpidr & MPIDR_CPU_MASK;
unsigned int cluster = unsigned int cluster =
(mpidr & MPIDR_CLUSTER_MASK) >> MPIDR_AFFINITY_BITS; (mpidr & MPIDR_CLUSTER_MASK) >> MPIDR_AFFINITY_BITS;
...@@ -257,6 +258,10 @@ hikey960_pwr_domain_suspend_finish(const psci_power_state_t *target_state) ...@@ -257,6 +258,10 @@ hikey960_pwr_domain_suspend_finish(const psci_power_state_t *target_state)
if (CORE_PWR_STATE(target_state) != PLAT_MAX_OFF_STATE) if (CORE_PWR_STATE(target_state) != PLAT_MAX_OFF_STATE)
return; return;
hisi_cpuidle_lock(cluster, core);
hisi_clear_cpuidle_flag(cluster, core);
hisi_cpuidle_unlock(cluster, core);
if (hisi_test_ap_suspend_flag(cluster)) { if (hisi_test_ap_suspend_flag(cluster)) {
hikey960_sr_dma_reinit(); hikey960_sr_dma_reinit();
gicv2_cpuif_enable(); gicv2_cpuif_enable();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment