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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Mon Dec 4 11:42:12 UTC 2023


Changes in v4:
 - Added checks for is_suspended bits in hardirqs
 - Added GPU suspended bit (and handling of it)
 - Reordered panfrost_drv_comp_bits entries
 - Commit description fixes

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@collabora.com/

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 | 10 ++++++
 drivers/gpu/drm/panfrost/panfrost_gpu.c    | 40 ++++++++++++++++------
 drivers/gpu/drm/panfrost/panfrost_gpu.h    |  1 +
 drivers/gpu/drm/panfrost/panfrost_job.c    | 26 +++++++++++---
 drivers/gpu/drm/panfrost/panfrost_job.h    |  1 +
 drivers/gpu/drm/panfrost/panfrost_mmu.c    | 32 ++++++++++++-----
 drivers/gpu/drm/panfrost/panfrost_mmu.h    |  1 +
 8 files changed, 91 insertions(+), 23 deletions(-)

-- 
2.43.0



More information about the dri-devel mailing list