lkml.org 
[lkml]   [2023]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/6] drm/panfrost: Turn off clocks and regulators in PM
Date
Changes in v3:
- Fixed the order of set_opp/opp_put in patch [5/6]
- Clearly specified MediaTek SoC models in patches [4/6], [6/6]
- Reordered clk_disable() for suspend in patch [3/6]
- Fixed blank line removal and alignment in patch [1/6]

Changes in v2:
- Added hard reset GPU recovery
- Tightened polling time for soft reset and power on
- New execution time measurements after poweroff fix (see [1])

[1]: https://lore.kernel.org/all/20231102141507.73481-1-angelogioacchino.delregno@collabora.com/

At least MediaTek platforms are able to get the GPU clocks and regulators
completely off during system suspend, allowing to save a bit of power.

Panfrost is used on more than just MediaTek SoCs and the benefits of this
can be variable across different SoC models and/or different SoCs from
different manufacturers: this means that just adding this ability for all
could result in unexpected issues and breakages on untested SoCs.

For the aforemenetioned reasons, turning off the clocks and/or regulators
was implemented inside of a capabilities barrier that shall be enabled on
a per-SoC basis (in the panfrost_compatible platform data) after testing
of both benefits and feasibility.

In this series, I am adding the ability to switch on/off clocks and
regulators and enabling that on all MediaTek platforms, as I was able
to successfully test that on multiple Chromebooks featuring different
MediaTek SoCs; specifically, I've manually tested on MT8186, MT8192 and
MT8195, while MT8183 got tested only by KernelCI.

Cheers!

AngeloGioacchino Del Regno (6):
drm/panfrost: Perform hard reset to recover GPU if soft reset fails
drm/panfrost: Tighten polling for soft reset and power on
drm/panfrost: Implement ability to turn on/off GPU clocks in suspend
drm/panfrost: Set clocks on/off during system sleep on MediaTek SoCs
drm/panfrost: Implement ability to turn on/off regulators in suspend
drm/panfrost: Set regulators on/off during system sleep on MediaTek
SoCs

drivers/gpu/drm/panfrost/panfrost_device.c | 78 ++++++++++++++++++++--
drivers/gpu/drm/panfrost/panfrost_device.h | 13 ++++
drivers/gpu/drm/panfrost/panfrost_drv.c | 3 +
drivers/gpu/drm/panfrost/panfrost_gpu.c | 21 ++++--
drivers/gpu/drm/panfrost/panfrost_regs.h | 1 +
5 files changed, 105 insertions(+), 11 deletions(-)

--
2.42.0

\
 
 \ /
  Last update: 2023-11-20 13:54    [W:0.056 / U:23.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site