[PATCH 0/3] Power Management for Raspberry Pi V3D GPU
Maíra Canal
mcanal at igalia.com
Mon Jul 28 17:30:35 PDT 2025
Hi Stefan,
On 28/07/25 18:00, Stefan Wahren wrote:
> 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]
Yeah, sure! I'll add your patch to v2.
Best Regards,
- Maíra
>
> [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