linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] Add support for Allwinner H6 DVFS
@ 2020-04-19 13:50 Clément Péron
  2020-04-19 13:50 ` [PATCH v3 1/7] arm64: dts: allwinner: h6: Add CPU Operating Performance Points table Clément Péron
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Clément Péron @ 2020-04-19 13:50 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring
  Cc: linux-arm-kernel, devicetree, linux-kernel, linux-sunxi,
	Clément Péron

Hi Sunxi maintainers and members,

Now that required drivers are merged we can contibute on DVFS
support for Allwinner H6.

This serie is based on Yangtao Li serie[0] and Ondřej Jirman work[1].

Most of the OPP tables are taken from original vendor kernel[2].
Plus there are new CPU frequencies at 1.6GHz, 1.7GHz and 1.8GHz.

I wrote a simple script to randomly set a frequency during
a random time[3]. This script is quite stressfull and set some high
frequency without checking temperature. This can result on behavior
that whould not occurs with the real cpufreq framework.
As Maxime point out I also tested with cpufreq-ljt-stress-test
(found here https://github.com/ssvb/cpuburn-arm).
This script doesn't trigger any issue.
I also test that that offlining CPU0 and doing DVFS on other CPUs
works. As CPU regulator is only set for CPU0.

The GPU devfreq was drop as the regulator is still not properly
drive by panfrost driver[4].
I will re-introduce it later.

Ondřej Jirman has an Orange Pi 3, Jernej has a PineH64 and a Tanix
TX6 boards and I have a Beelink GS1 board so I have enable these
boards. But CPU Devfreq is really touchy has it depends on:
board design, SoC speed_grade and environement which can affect
thermal cooling and have different behavior for different user.

If people can test this serie and give feedback, I will try to
introduce this in LibreElec tree, so LE community can test it.

Thanks,
Clément

0: https://patchwork.kernel.org/cover/10815117/
1: https://megous.com/git/linux/log/?h=ths-5.7
2: https://github.com/orangepi-xunlong/OrangePiH6_Linux4_9/blob/master/arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi#L345-L517
3: https://gist.github.com/clementperon/55a055dae3f13bbd14fb39c0069fe2e2
4: https://patchwork.kernel.org/patch/11486893/

Changes since v2 (thanks to Maxime Ripard):
  - Change Orange Pi boards to Orange Pi 3
  - Change soc speed nvmem node name
  - Fix device tree warnings
  - Drop GPU opp tables

Changes since v1 (thanks to Ondřej Jirman):
  - Remove Polling thermal
  - Add Orange Pi boards
  - Remove minimal voltage change for Beelink GS1
  - Add ramp-deplay for GPU and CPU regulators
  - Push to thermal point to 85°C (Allwinner set them to 100°C and 115°C)
  - Added 1.6GHz and 1.7GHz to OPP table.

Clément Péron (6):
  arm64: configs: Enable sun50i cpufreq nvmem
  arm64: dts: allwinner: h6: Enable CPU opp tables for Beelink GS1
  arm64: dts: allwinner: h6: Enable CPU opp tables for Orange Pi 3
  arm64: dts: allwinner: h6: Enable CPU opp tables for Tanix TX6
  arm64: dts: allwinner: Sort Pine H64 device-tree nodes
  arm64: dts: allwinner: h6: Enable CPU and GPU opp tables for Pine H64

Ondrej Jirman (1):
  arm64: dts: allwinner: h6: Add CPU Operating Performance Points table

 .../dts/allwinner/sun50i-h6-beelink-gs1.dts   |   9 +-
 .../boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi | 121 ++++++++++++++++++
 .../dts/allwinner/sun50i-h6-orangepi-3.dts    |   3 +
 .../boot/dts/allwinner/sun50i-h6-pine-h64.dts |  41 +++---
 .../dts/allwinner/sun50i-h6-tanix-tx6.dts     |  13 ++
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   4 +
 arch/arm64/configs/defconfig                  |   1 +
 7 files changed, 174 insertions(+), 18 deletions(-)
 create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi

-- 
2.20.1


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

end of thread, other threads:[~2020-04-20 12:49 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-19 13:50 [PATCH v3 0/7] Add support for Allwinner H6 DVFS Clément Péron
2020-04-19 13:50 ` [PATCH v3 1/7] arm64: dts: allwinner: h6: Add CPU Operating Performance Points table Clément Péron
2020-04-19 13:50 ` [PATCH v3 2/7] arm64: configs: Enable sun50i cpufreq nvmem Clément Péron
2020-04-19 13:50 ` [PATCH v3 3/7] arm64: dts: allwinner: h6: Enable CPU opp tables for Beelink GS1 Clément Péron
2020-04-19 13:50 ` [PATCH v3 4/7] arm64: dts: allwinner: h6: Enable CPU opp tables for Orange Pi 3 Clément Péron
2020-04-19 13:50 ` [PATCH v3 5/7] arm64: dts: allwinner: h6: Enable CPU opp tables for Tanix TX6 Clément Péron
2020-04-19 13:50 ` [PATCH v3 6/7] arm64: dts: allwinner: Sort Pine H64 device-tree nodes Clément Péron
2020-04-19 13:50 ` [PATCH v3 7/7] arm64: dts: allwinner: h6: Enable CPU and GPU opp tables for Pine H64 Clément Péron
2020-04-20  8:45 ` [PATCH v3 0/7] Add support for Allwinner H6 DVFS Maxime Ripard
2020-04-20 10:39   ` Ondřej Jirman
2020-04-20 12:36     ` Clément Péron
2020-04-20 12:47       ` Maxime Ripard
2020-04-20 12:49         ` Clément Péron
2020-04-20  9:48 ` [linux-sunxi] " Ondřej Jirman
2020-04-20 10:27   ` Ondřej Jirman

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).