[PATCH v3 0/3] drm/panfrost: Fix poweroff and sync IRQs for suspend

From: AngeloGioacchino Del Regno
Date: Fri Dec 01 2023 - 05:40:38 EST


Changes in v3:
- Removed useless GPU_INT_CLEAR write in suspend path
- Changed to clear suspend bits in job/mmu reset path

This series contains a fast fix for the basic GPU poweroff functionality
and goes further by implementing interrupt masking and synchronization
before suspend.

For more information, please look at the conversation at [1], which
explains the regression seen with the poweroff commit and the initial
approaches taken to solve that.

Cheers!

[1]: https://lore.kernel.org/all/20231123095320.41433-1-angelogioacchino.delregno@xxxxxxxxxxxxx/

AngeloGioacchino Del Regno (3):
drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq
drm/panfrost: Add gpu_irq, mmu_irq to struct panfrost_device
drm/panfrost: Synchronize and disable interrupts before powering off

drivers/gpu/drm/panfrost/panfrost_device.c | 3 +++
drivers/gpu/drm/panfrost/panfrost_device.h | 9 +++++++
drivers/gpu/drm/panfrost/panfrost_gpu.c | 28 ++++++++++++++-------
drivers/gpu/drm/panfrost/panfrost_gpu.h | 1 +
drivers/gpu/drm/panfrost/panfrost_job.c | 20 ++++++++++++---
drivers/gpu/drm/panfrost/panfrost_job.h | 1 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 29 ++++++++++++++++------
drivers/gpu/drm/panfrost/panfrost_mmu.h | 1 +
8 files changed, 72 insertions(+), 20 deletions(-)

--
2.43.0