Message ID | 20231109102543.42971-1-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/panfrost: Turn off clocks and regulators in PM | expand |
On 09/11/2023 10:25, AngeloGioacchino Del Regno wrote: > 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 Thanks for your work on this! I've pushed these patches (and 'Really power off GPU cores') to drm-misc-next. Steve > > 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(-) >