1. 17 Feb, 2018 1 commit
  2. 01 Feb, 2018 2 commits
  3. 22 Jan, 2018 1 commit
    • Leo Yan's avatar
      Hikey960: Enable invalid FIQ handling · b79f7ed0
      Leo Yan authored
      
      
      When some interrupts are configured as group 0 in GICv2, these
      interrupts trigger FIQ signal; this results in the Linux kernel panic
      by reporting log: "Bad mode in FIQ handler detected on CPU0, code
      0x00000000 -- Unknown/Uncategorized".  Unfortunately from kernel side it
      has no permission to read the GIC register for group 0 interrupts so we
      have no chance to get to know which interrupt is configured as secure
      interrupt and cause the kernel panic.
      
      For upper reason, this commit enables FIQ exception handling for
      SPD_none case.  If the system has not enabled SPD the FIQ interrupt is
      trapped into EL3 and the FIQ handler can report the interrupt number so
      we can easily narrow down which FIQ introduce unexpected interrupt.
      After enable SPD we can rely on SPD interrupt route model to handle FIQ.
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      b79f7ed0
  4. 16 Jan, 2018 2 commits
    • Leo Yan's avatar
      Hikey960: Change CPU standby state for WFI · 4c8a5787
      Leo Yan authored
      
      
      At early time, the CPU CA73 retention state has been supported on
      Hikey960.  Later we found the system has the hang issue and for
      resolving this issue Hisilicon released new MCU firmware, but
      unfortunately the new MCU firmware has side effect and results in the
      CA73 CPU cannot really enter retention state and roll back to WFI state.
      
      After discussion we cannot see the possibility to enable CA73 retention
      state anymore on Hikey960, based on this conclusion we should remove
      this state supporting from ARM-TF and roll back to WFI state only.  We
      will commit one patch to remove CA73 CPU retention state in kernel DT
      binding as well.
      
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Kevin Wang <jean.wangtao@linaro.org>
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      4c8a5787
    • Leo Yan's avatar
      Revert "Hikey960: Change to use recommended power state id format" · e1b27425
      Leo Yan authored
      This reverts commit fdae60b6.
      
      The commit fdae60b6
      
       changed the
      parameter encoding for the hikey960.  However that implies a DT change
      in the kernel side.  After submitting the DT change for upstreaming,
      the backward compatibility issue and the interface change raise some
      concerns from the Linux community about the issues related to kernel <->
      ATF alignment.  There is no way to detect a mis-alignment of those
      without a deep knowledge of the ATF and the kernel.  Furthermore, the
      failing calls to PSCI in the idle path (because of bad parameters), will
      lead to busy looping, implying: thermal issues and extra energy
      consumption.
      
      In regard of the Linux community concerns, the potential issues when the
      ATF and the kernel are not aligned, it is preferable to revert the
      commit.
      
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Kevin Wang <jean.wangtao@linaro.org>
      Co-authored-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      e1b27425
  5. 09 Jan, 2018 1 commit
  6. 18 Dec, 2017 1 commit
  7. 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
  8. 30 Nov, 2017 1 commit
    • David Cunado's avatar
      Do not enable SVE on pre-v8.2 platforms · 3872fc2d
      David Cunado authored
      
      
      Pre-v8.2 platforms such as the Juno platform does not have
      the Scalable Vector Extensions implemented and so the build
      option ENABLE_SVE is set to zero.
      
      This has a minor performance improvement with no functional
      impact.
      
      Change-Id: Ib072735db7a0247406f8b60e325b7e28b1e04ad1
      Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
      3872fc2d
  9. 22 Nov, 2017 1 commit
  10. 01 Nov, 2017 1 commit
  11. 13 Sep, 2017 2 commits
  12. 01 Sep, 2017 2 commits
  13. 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
  14. 14 Jul, 2017 1 commit
  15. 12 Jul, 2017 2 commits
  16. 11 Jul, 2017 1 commit
  17. 20 Jun, 2017 1 commit
  18. 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
  19. 15 Jun, 2017 1 commit
  20. 13 Jun, 2017 1 commit
  21. 07 Jun, 2017 3 commits