All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] panfrost: Locking and runtime PM fixes
@ 2019-08-26 22:33 Rob Herring
  2019-08-26 22:33 ` [PATCH v3 1/8] drm/panfrost: Rework runtime PM initialization Rob Herring
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Rob Herring @ 2019-08-26 22:33 UTC (permalink / raw)
  To: dri-devel
  Cc: Tomeu Vizoso, David Airlie, Steven Price, Alyssa Rosenzweig,
	Robin Murphy

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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2019-08-28 13:17 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-26 22:33 [PATCH v3 0/8] panfrost: Locking and runtime PM fixes Rob Herring
2019-08-26 22:33 ` [PATCH v3 1/8] drm/panfrost: Rework runtime PM initialization Rob Herring
2019-08-27 10:59   ` Robin Murphy
2019-08-28 10:39   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 2/8] drm/panfrost: Hold runtime PM reference until jobs complete Rob Herring
2019-08-28 10:40   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 3/8] drm/panfrost: Remove unnecessary mmu->lock mutex Rob Herring
2019-08-27 11:00   ` Robin Murphy
2019-08-28 10:42   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 4/8] drm/panfrost: Rework page table flushing and runtime PM interaction Rob Herring
2019-08-27 11:06   ` Robin Murphy
2019-08-28 10:54   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 5/8] drm/panfrost: Split mmu_hw_do_operation into locked and unlocked version Rob Herring
2019-08-28 10:54   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 6/8] drm/panfrost: Add cache/TLB flush before switching address space Rob Herring
2019-08-27 11:30   ` Robin Murphy
2019-08-28 13:17   ` Steven Price
2019-08-26 22:33 ` [PATCH v3 7/8] drm/panfrost: Flush and disable address space when freeing page tables Rob Herring
2019-08-27 11:24   ` Robin Murphy
2019-08-28 10:55   ` Steven Price
2019-08-28 12:35     ` Rob Herring
2019-08-28 13:12       ` Steven Price
2019-08-26 22:33 ` [PATCH v3 8/8] drm/panfrost: Remove unnecessary hwaccess_lock spin_lock Rob Herring
2019-08-28 10:59   ` Steven Price
2019-08-26 23:35 ` [PATCH v3 0/8] panfrost: Locking and runtime PM fixes Alyssa Rosenzweig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.