[PATCH 0/3] Power Management for Raspberry Pi V3D GPU
Stefan Wahren
wahrenst at gmx.net
Mon Jul 28 14:00:41 PDT 2025
Hi,
Am 28.07.25 um 14:35 schrieb Maíra Canal:
> This series introduces Runtime PM for Raspberry Pi's GPU, V3D.
> Currently, the GPU clock stays up during the whole operation, even if
> the GPU is idle. By introducing Runtime PM, we can now turn off the
> clock completely during idle. For example, with this series, when
> checking `vcgencmd measure_clock v3d` in the Raspberry Pi 5, we get:
>
> (idle)
>
> $ vcgencmd measure_clock v3d
> frequency(0)=0
>
> (running glmark2)
>
> $ vcgencmd measure_clock v3d
> frequency(0)=960016128
>
> To implement PM for V3D, it was needed to add a prepare and unprepare
> hook to RPi's firmware clocks. Currently, they don't turn on and off,
> nor lower the clock rate. Therefore, PATCH 1/3 addresses this issue in
> clk/bcm/clk-raspberrypi.c.
>
> The other two patches are related to PM enablement in the V3D driver.
Maybe you want to cherry-pick this older patch and integrate it into
your series? [2]
[2] -
https://github.com/lategoodbye/linux-dev/commit/2ee5e1205922b06100206e760ed8aefe0b6d322f
>
> To ease testing in Raspberry Pi 4 and 5, I prepared a downstream branch
> backporting this series to rpi-6.12.y [1].
>
> [1] https://github.com/mairacanal/linux-rpi/tree/v3d/downstream/power-management-v2
>
> Best Regards,
> - Maíra
>
> ---
> Maíra Canal (3):
> clk: bcm: rpi: Turn firmware clock on/off when preparing/unpreparing
> drm/v3d: Allocate all resources before enabling the clock
> drm/v3d: Introduce Runtime Power Management
>
> drivers/clk/bcm/clk-raspberrypi.c | 41 ++++++++-
> drivers/gpu/drm/v3d/Makefile | 3 +-
> drivers/gpu/drm/v3d/v3d_debugfs.c | 23 ++++-
> drivers/gpu/drm/v3d/v3d_drv.c | 171 +++++++++++++++++++-------------------
> drivers/gpu/drm/v3d/v3d_drv.h | 21 ++++-
> drivers/gpu/drm/v3d/v3d_gem.c | 18 +++-
> drivers/gpu/drm/v3d/v3d_irq.c | 15 ++--
> drivers/gpu/drm/v3d/v3d_mmu.c | 12 ++-
> drivers/gpu/drm/v3d/v3d_power.c | 79 ++++++++++++++++++
> drivers/gpu/drm/v3d/v3d_submit.c | 19 ++++-
> 10 files changed, 291 insertions(+), 111 deletions(-)
> ---
> base-commit: a7352c849492a30b5d8491fcb9314ab376a3942f
> change-id: 20250728-v3d-power-management-eebb2024dc96
>
More information about the linux-arm-kernel
mailing list