• Haojian Zhuang's avatar
    ARM: hisi: enable MCPM implementation · 9cdc9991
    Haojian Zhuang authored
    Multiple CPU clusters are used in Hisilicon HiP04 SoC. Now use MCPM
    framework to manage power on HiP04 SoC.
    
    Changelog:
    v20:
      * Disable L2 prefetch when the whole cluster is down.
      * Move disabling snoop filter into power_down() after L2 prefetch
        disabled.
      * Remove delay in wait_for_power_down() after L2 prefetch disabled.
      * Add the sleep polling in wait_for_power_down() again since we
        need to wait L2 when the cluster is down.
    v19:
      * Add comments on those delay hacks.
      * Update on checking core enabled counts in wait_for_power_down().
    v18:
      * Fix to release resource in probe().
      * Check whether cpu is already up in the process of making cpu down.
      * Add udelay in power up/down sequence.
      * Optimize on setting relocation entry.
      * Optimize on polling status in wait_for_power_down().
      * Add mcpm critical operations.
    v17:
      * Parse bootwrapper parameters in DTS file.
      * Fix to use msleep() in spinlock region.
    v16:
      * Parse bootwrapper parameters in command line instead.
    v13:
      * Restore power down operation in MCPM.
      * Fix disabling snoop filter issue in MCPM.
    v12:
      * Use wfi as power down state in MCPM.
      * Remove wait_for_powerdown() in MCPM because wfi is used now.
    Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
    Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarWei Xu <xuwei5@hisilicon.com>
    9cdc9991
platmcpm.c 9.54 KB