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@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 | 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