drm/etnaviv: Add support for running a PPU flop reset
From: Gert Wollny
Date: Wed Jun 18 2025 - 16:42:31 EST
Dear all,
this is the second version of the patches to add a PPU flop reset to
drm/etnaviv. The first version of the series was send as an RFC to
etnaviv@xxxxxxxxxxxxxxxxxxxxx only.
This series adds running the PPU flop reset which is required for some
hardware. This implementation was tested with the STM vendor kernel based on
linux-6.6.48 that is provided with
https://github.com/STMicroelectronics/oe-manifest/
Release: openstlinux-6.6-yocto-scarthgap-mpu-v25.04.30
The command stream is based on the stream that is emitted in the acccording
code of the galcore kernel. Since I have only a stm32mp257f-ev1 board t
test this for all parts that are emitted conditionally in the galcore kernel
only the part that is required for this board is submitted here.
Changes since v1 (RFC):
- clean up some code according to comments by Lucas,
- move the ppu flop reset data into drm_private as suggested by Lucas
- initialize flop reset data only once if any GPU needs it,
For this is was also required to move the identification
of the hardware to etnaviv_gpu_bind,
- move VIVS_ definitions out of etnaviv_flop_reset.c,
- add a module parameter that makes it possible to force running the
PPU flop reset.
Thanks for any comments,
Gert