LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* PM / AVS: SVS: Introduce SVS engine
@ 2019-04-30 11:20 Roger Lu
  2019-04-30 11:20 ` [RFC v1 1/3] dt-bindings: soc: add mtk svs dt-bindings Roger Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Roger Lu @ 2019-04-30 11:20 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger, Viresh Kumar, Stephen Boyd,
	Rafael J . Wysocki
  Cc: Mark Rutland, Nishanth Menon, Kevin Hilman, Roger Lu, devicetree,
	linux-arm-kernel, linux-mediatek, linux-kernel, linux-pm

The SVS (Smart Voltage Scaling) engine is a piece of hardware which is
used to calculate optimized voltage values of several power domains, e.g.
CPU/GPU/CCI, according to chip process corner, temperatures, and other
factors. Then DVFS driver could apply those optimized voltage values to
reduce power consumption.

Roger Lu (3):
  dt-bindings: soc: add mtk svs dt-bindings
  arm64: dts: mt8183: add svs device information
  PM / AVS: SVS: Introduce SVS engine

 .../devicetree/bindings/power/mtk-svs.txt     |   70 +
 arch/arm64/boot/dts/mediatek/mt8183-evb.dts   |   16 +
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      |   46 +
 drivers/power/avs/Kconfig                     |   10 +
 drivers/power/avs/Makefile                    |    1 +
 drivers/power/avs/mtk_svs.c                   | 2084 +++++++++++++++++
 include/linux/power/mtk_svs.h                 |   23 +
 7 files changed, 2250 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/mtk-svs.txt
 create mode 100644 drivers/power/avs/mtk_svs.c
 create mode 100644 include/linux/power/mtk_svs.h

--
2.18.0



^ permalink raw reply	[flat|nested] 14+ messages in thread
* PM / AVS: SVS: Introduce SVS engine
@ 2019-06-18  7:02 Roger Lu
  0 siblings, 0 replies; 14+ messages in thread
From: Roger Lu @ 2019-06-18  7:02 UTC (permalink / raw)
  To: Kevin Hilman, Rob Herring, Nicolas Boichat, Stephen Boyd
  Cc: Fan Chen, HenryC Chen, Mark Rutland, Matthias Brugger,
	Nishanth Menon, Roger Lu, devicetree, linux-arm-kernel,
	linux-mediatek, linux-kernel, linux-pm

SVS driver use OPP adjust event in [1] to update
OPP table voltage part.

[1] https://patchwork.kernel.org/patch/10946069/

changes since v1:
- Add svs subnodes description in binding documents
- Set svs_cpu_little & svs_cci vmin to 0x18 to meet cpufreq
and cci software architecture.

Roger Lu (2):
  dt-bindings: soc: add mtk svs dt-bindings
  PM / AVS: SVS: Introduce SVS engine

 .../devicetree/bindings/power/mtk-svs.txt     |   88 +
 drivers/power/avs/Kconfig                     |   10 +
 drivers/power/avs/Makefile                    |    1 +
 drivers/power/avs/mtk_svs.c                   | 2086 +++++++++++++++++
 include/linux/power/mtk_svs.h                 |   23 +
 5 files changed, 2208 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/mtk-svs.txt
 create mode 100644 drivers/power/avs/mtk_svs.c
 create mode 100644 include/linux/power/mtk_svs.h



^ permalink raw reply	[flat|nested] 14+ messages in thread
* PM / AVS: SVS: Introduce SVS engine
@ 2019-07-29  8:20 Roger Lu
  0 siblings, 0 replies; 14+ messages in thread
From: Roger Lu @ 2019-07-29  8:20 UTC (permalink / raw)
  To: Kevin Hilman, Rob Herring, Nicolas Boichat, Stephen Boyd
  Cc: Fan Chen, HenryC Chen, yt.lee, Angus Lin, Mark Rutland,
	Matthias Brugger, Nishanth Menon, Roger Lu, devicetree,
	linux-arm-kernel, linux-mediatek, linux-kernel, linux-pm

SVS driver use OPP adjust event in [1] to update OPP table voltage part.

[1] https://patchwork.kernel.org/patch/10946069/

changes since v3:
- return -ENOMEM when kmalloc() cannot allocate memory.
- Refine SVS debug log format for SVS designer request.

Roger Lu (2):
  dt-bindings: soc: add mtk svs dt-bindings
  PM / AVS: SVS: Introduce SVS engine

 .../devicetree/bindings/power/mtk-svs.txt     |   88 +
 drivers/power/avs/Kconfig                     |   10 +
 drivers/power/avs/Makefile                    |    1 +
 drivers/power/avs/mtk_svs.c                   | 2075 +++++++++++++++++
 include/linux/power/mtk_svs.h                 |   23 +
 5 files changed, 2197 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/mtk-svs.txt
 create mode 100644 drivers/power/avs/mtk_svs.c
 create mode 100644 include/linux/power/mtk_svs.h


^ permalink raw reply	[flat|nested] 14+ messages in thread
* PM / AVS: SVS: Introduce SVS engine
@ 2020-01-07  7:01 Roger Lu
  0 siblings, 0 replies; 14+ messages in thread
From: Roger Lu @ 2020-01-07  7:01 UTC (permalink / raw)
  To: Kevin Hilman, Rob Herring, Nicolas Boichat, Stephen Boyd
  Cc: Fan Chen, HenryC Chen, YT Lee, Xiaoqing Liu, Charles Yang,
	Angus Lin, Mark Rutland, Matthias Brugger, Nishanth Menon,
	Roger Lu, devicetree, linux-arm-kernel, linux-mediatek,
	linux-kernel, linux-pm

1. SVS driver use OPP adjust event in [1] to update OPP table voltage part.
2. SVS dts node refers to CPU opp table [2] and GPU opp table [3].
3. SVS and thermal dts use the same thermal efuse [4].
4. SVS dts needs PMIC regulator [5].
 
[1] https://patchwork.kernel.org/patch/11193513/
[2] https://patchwork.kernel.org/patch/11304935/
[3] https://patchwork.kernel.org/patch/11132381/
[4] https://patchwork.kernel.org/patch/11316495/
[5] https://patchwork.kernel.org/patch/11284617/

changes since v5:
- Add CONFIG_NVMEM dependency in SVS Kconfig.
- Apply the latest dev_pm_opp_adjust_voltage() from [1] in SVS driver.
- Add dev_pm_opp_put(opp) after calling dev_pm_opp_get_voltage(opp).
- Fix multi-line comment style.
- Add #define w/bit for magic constants.
- Replace "int svs_is_supported()" with "bool svs_is_supported()".
- Use default/max size for allocating memories to
opp_volts/init02_volts/volts/opp_freqs/freqs_pct in struct svs_bank.
- Name "main" instead of "main_clk" in SVS nodes for getting SVS clk.
- In SVS binding document, remove fourth parameter of GIC interrupts.
- Use '-' in node names.

Roger Lu (3):
  dt-bindings: soc: add mtk svs dt-bindings
  arm64: dts: mt8183: add svs device information
  PM / AVS: SVS: Introduce SVS engine

 .../devicetree/bindings/power/mtk-svs.txt     |   76 +
 arch/arm64/boot/dts/mediatek/mt8183-evb.dts   |   16 +
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      |   41 +
 drivers/power/avs/Kconfig                     |   10 +
 drivers/power/avs/Makefile                    |    1 +
 drivers/power/avs/mtk_svs.c                   | 2075 +++++++++++++++++
 include/linux/power/mtk_svs.h                 |   23 +
 7 files changed, 2242 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/mtk-svs.txt
 create mode 100644 drivers/power/avs/mtk_svs.c
 create mode 100644 include/linux/power/mtk_svs.h


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-01-07  7:02 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-30 11:20 PM / AVS: SVS: Introduce SVS engine Roger Lu
2019-04-30 11:20 ` [RFC v1 1/3] dt-bindings: soc: add mtk svs dt-bindings Roger Lu
2019-04-30 20:31   ` Stephen Boyd
2019-05-02  6:19     ` Roger Lu
2019-05-03 21:08       ` Stephen Boyd
2019-05-07  7:50         ` Roger Lu
2019-05-07 20:49           ` Stephen Boyd
2019-05-13  0:34             ` Roger Lu
2019-05-02 21:06     ` Rob Herring
2019-04-30 11:20 ` [RFC v1 2/3] arm64: dts: mt8183: add svs device information Roger Lu
2019-04-30 11:20 ` [RFC v1 3/3] PM / AVS: SVS: Introduce SVS engine Roger Lu
2019-06-18  7:02 Roger Lu
2019-07-29  8:20 Roger Lu
2020-01-07  7:01 Roger Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).