]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/imagination: Add power domain control
authorMatt Coster <matt.coster@imgtec.com>
Thu, 10 Apr 2025 09:55:04 +0000 (10:55 +0100)
committerMatt Coster <matt.coster@imgtec.com>
Tue, 15 Apr 2025 11:21:50 +0000 (12:21 +0100)
commit330e76d3169721a55658c3b4fed872df6b0d6239
tree3eddadaaa393e4304c74bd03e4dc5f6f7feaf200
parent2e8c6b27478c3acf411eb130ddd4817c518f2824
drm/imagination: Add power domain control

The first supported GPU only used a single power domain so this was
automatically handled by the device runtime.

In order to support multiple power domains, they must be enumerated from
devicetree and linked to both the GPU device and each other to ensure
correct power sequencing at start time.

For all Imagination Rogue GPUs, power domains are named "a", "b", etc. and
the sequence A->B->... is always valid for startup with the reverse true
for shutdown. Note this is not always the *only* valid sequence, but it's
simple and does not require special-casing for different GPU power
topologies.

Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Link: https://lore.kernel.org/r/20250410-sets-bxs-4-64-patch-v1-v6-5-eda620c5865f@imgtec.com
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
drivers/gpu/drm/imagination/pvr_device.h
drivers/gpu/drm/imagination/pvr_drv.c
drivers/gpu/drm/imagination/pvr_power.c
drivers/gpu/drm/imagination/pvr_power.h