1. 06 Dec, 2017 1 commit
    • Leo Yan's avatar
      Hikey960: Change to use recommended power state id format · fdae60b6
      Leo Yan authored
      
      
      ARM Power State Coordination Interface (ARM DEN 0022D) chapter
      6.5 "Recommended StateID Encoding" defines the state ID which can be
      used by platforms. The recommended power states can be presented by
      below values; and it divides into three fields, every field has 4 bits
      to present power states corresponding to core level, cluster level and
      system level.
      
        0: Run
        1: Standby
        2: Retention
        3: Powerdown
      
      This commit changes to use upper recommended power states definition on
      Hikey960; and changes the power state validate function to check the
      power state passed from kernel side.
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      fdae60b6
  2. 17 Aug, 2017 1 commit
    • Tao Wang's avatar
      Hikey960: fix PSCI suspend stuck issue · 4af7fcb8
      Tao Wang authored
      
      
      Clear the cpuidle flag when resuming from idle. This flag is set
      when entering idle, and if it remains set when resuming, it can
      prevent the cluster from powering off during the next system
      suspend operation. During system suspend, all CPUs are plugged
      out except the last CPU, which is suspended. If any of the
      cpuidle flags are set at this point, the last CPU will be stuck
      in a WFI loop and will not be powered off.
      This problem only occurs during system suspend.
      Signed-off-by: default avatarTao Wang <kevin.wangtao@linaro.org>
      4af7fcb8
  3. 19 Jun, 2017 1 commit
    • Leo Yan's avatar
      plat: Hikey960: fix the CPU hotplug · 0aedca71
      Leo Yan authored
      
      
      In CPU off callback function, the old code uses the function
      hisi_test_pwrdn_allcores() to check if all CPUs in cluster have been
      powered off and if it's valid then power off the whole cluster. But the
      function hisi_test_pwrdn_allcores() only maintains the different power
      states only for CPU suspend/resume flow, so it cannot return correct
      states for CPU on/off flow.
      
      This patch is to change use hisi_test_cpu_down() to check if all CPUs
      have been powered off, so that can power off the whole cluster properly
      when all CPUs in cluster have been hotplugged off.
      Signed-off-by: default avatarTao Wang <kevin.wangtao@hisilicon.com>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      0aedca71
  4. 07 Jun, 2017 1 commit