mbox series

[v6,0/2] Add optional reset for the drm/imagination driver

Message ID 20250418-apr_18_reset_img-v6-0-85a06757b698@samsung.com (mailing list archive)
Headers show
Series Add optional reset for the drm/imagination driver | expand

Message

Michal Wilczynski April 18, 2025, 11:22 a.m. UTC
This patch series introduces and documents optional reset support for
the drm/imagination driver. While developed as part of a larger effort
to enable the Imagination BXM-4-64 GPU upstream, these patches can merge
independently.

During the upstreaming process, we discovered that the T-HEAD TH1520 SoC
requires custom code to manage resets and clocks from the power-domain
driver [1]. Nevertheless, adding this reset capability is necessary, as
the GPU Device Tree node would own the reset control and would manage it
for boards like BPI-F3 that don't have custom requirements for handling
clocks and resets during their startup sequence.

For more context, please see the cover letter for the larger series [2].

[1] - https://lore.kernel.org/all/20250414-apr_14_for_sending-v2-0-70c5af2af96c@samsung.com/
[2] - https://lore.kernel.org/all/20250219140239.1378758-1-m.wilczynski@samsung.com/

This series is versioned to maintain continuity with the bigger patchset
it is a subseries of. Please find below changelog for the
drm/imagination reset part:

v6:
 - no changes, just a re-send, bumping version to avoid confusion

v5:
 - moved the recommended 1 microsecond delay after de-asserting GPU
   reset to the Imagination driver itself 

v4:
 - reverted reset-cells configuration to single cell as in v2
 - addressed minor implementation issues in the DRM/Imagination reset driver

v3:
 - refactored reset driver to use zero cells

v2:
 - updated the drm/imagination driver to act as a reset controller
   consumer. While this patchset is focused on the LPI4A board, the
   reset controller is designed to be useful for other boards, such as the
   BPI-3F, which also require a reset sequence after power-up.

---
Michal Wilczynski (2):
      dt-bindings: gpu: Add 'resets' property for GPU initialization
      drm/imagination: Add reset controller support for GPU initialization

 .../devicetree/bindings/gpu/img,powervr-rogue.yaml |  3 +++
 drivers/gpu/drm/imagination/pvr_device.c           | 21 +++++++++++++++++++++
 drivers/gpu/drm/imagination/pvr_device.h           |  9 +++++++++
 drivers/gpu/drm/imagination/pvr_power.c            | 22 +++++++++++++++++++++-
 4 files changed, 54 insertions(+), 1 deletion(-)
---
base-commit: fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2
change-id: 20250418-apr_18_reset_img-b102988052de

Best regards,