[PATCH 0/4] mediatek: Add cpuidle cluster sleep support for MT8173

Fan Chen fan.chen at mediatek.com
Thu Dec 17 18:42:27 PST 2015


This patchset is to enable cpuidle cluster sleep for MT8173, which is
based on Lorenzo Pieralisi's patch[1] to give different configuration
for each cluster in big.LITTLE architecture.

Power domain control flow is the same in both cpu and non-cpu domains,
and some of power domains(e.g. cpu clusters, mfg, mm in mt8173) need
to set bus protection bits before power off and vice versa on power on.
However, in PSCI framework, cpu power domain controlling is hidden in
ARM TF but non-cpu ones are controlled in kernel driver so that 
race condition on accessing bus protection register will happen between
cpu power domains and non-cpu ones in runtime once we enable cluster sleep
without any protection.

Therefore, we also introduce patches to create SIP call API based on
Jens Wiklander's patches[2][3] and modify scpsys driver to give an option
to put non-cpu power control into ARM TF via SIP call, which gives a way
to manage all power domains together in firmware.

[1] https://patchwork.kernel.org/patch/6226871/
[2] https://patchwork.kernel.org/patch/7517271/
[3] https://patchwork.kernel.org/patch/7517261/

Fan Chen (1):
  soc: Mediatek: Create Mediatek SIP call

Weiyi Lu (2):
  arm64: dts: mediatek: Add cluster sleep support on MT8173
  arm64: dts: mediatek: Improve cpuidle latency on MT8173

yt.lee (1):
  soc: mediatek: To move power control logic to ARM TF

 arch/arm64/boot/dts/mediatek/mt8173.dtsi |   41 ++++++++--
 drivers/soc/mediatek/Kconfig             |    8 ++
 drivers/soc/mediatek/Makefile            |    1 +
 drivers/soc/mediatek/mtk-scpsys.c        |  122 +++++++++++++++++++-----------
 drivers/soc/mediatek/mtk-sip.c           |   28 +++++++
 include/linux/soc/mediatek/mtk-sip.h     |   21 +++++
 6 files changed, 170 insertions(+), 51 deletions(-)
 create mode 100644 drivers/soc/mediatek/mtk-sip.c
 create mode 100644 include/linux/soc/mediatek/mtk-sip.h

-- 
1.7.9.5




More information about the linux-arm-kernel mailing list