[PATCH v3 0/8] panfrost: Locking and runtime PM fixes
Rob Herring
robh at kernel.org
Mon Aug 26 22:33:09 UTC 2019
With further testing of recent changes with lockdep identified some
locking issues. Avoiding lockdep issues means we need to avoid some
locks in panfrost_mmu_unmap which in turn means avoiding runtime PM
resume. In the process of re-working runtime PM several runtime PM
and locking clean-ups have been identified.
v3:
- Applied patches 1, 4, 5, and 6
- Fix race in job timeout handling with ISR
- Remove some no longer needed locks
- Fix panfrost_mmu_unmap when autosuspend delay is > 0
- Disable AS MMU when freeing page tables
v2:
- Drop already applied 'drm/panfrost: Fix sleeping while atomic in
panfrost_gem_open'
- Runtime PM clean-ups
- Keep panfrost_gem_purge and use mutex_trylock there
- Rework panfrost_mmu_unmap runtime PM
Rob
Rob Herring (8):
drm/panfrost: Rework runtime PM initialization
drm/panfrost: Hold runtime PM reference until jobs complete
drm/panfrost: Remove unnecessary mmu->lock mutex
drm/panfrost: Rework page table flushing and runtime PM interaction
drm/panfrost: Split mmu_hw_do_operation into locked and unlocked
version
drm/panfrost: Add cache/TLB flush before switching address space
drm/panfrost: Flush and disable address space when freeing page tables
drm/panfrost: Remove unnecessary hwaccess_lock spin_lock
drivers/gpu/drm/panfrost/panfrost_device.c | 10 ---
drivers/gpu/drm/panfrost/panfrost_device.h | 3 -
drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++-
drivers/gpu/drm/panfrost/panfrost_job.c | 43 ++++++----
drivers/gpu/drm/panfrost/panfrost_mmu.c | 91 ++++++++++------------
5 files changed, 76 insertions(+), 81 deletions(-)
--
2.20.1
More information about the dri-devel
mailing list