linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] iommu/arm-smmu: adreno-smmu page fault handling
@ 2020-11-24 19:15 Jordan Crouse
  2020-11-24 19:15 ` [PATCH v2 1/3] iommu/arm-smmu: Add support for driver IOMMU fault handlers Jordan Crouse
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Jordan Crouse @ 2020-11-24 19:15 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Robin Murphy, iommu, Will Deacon, Akhil P Oommen,
	Bjorn Andersson, Daniel Vetter, David Airlie, Emil Velikov,
	Eric Anholt, Greg Kroah-Hartman, Gustavo A. R. Silva,
	Joerg Roedel, Jonathan Marek, Krishna Reddy, Rob Clark,
	Rob Clark, Sai Prakash Ranjan, Sean Paul, Sharat Masetty,
	Thomas Zimmermann, dri-devel, freedreno, linux-arm-kernel,
	linux-kernel

This is a stack to add an Adreno GPU specific handler for pagefaults. The first
patch starts by wiring up report_iommu_fault for arm-smmu. The next patch adds
a adreno-smmu-priv function hook to capture a handful of important debugging
registers such as TTBR0, CONTEXTIDR, FSYNR0 and others. This is used by the
third patch to print more detailed information on page fault such as the TTBR0
for the pagetable that caused the fault and the source of the fault as
determined by a combination of the FSYNR1 register and an internal GPU
register.

This code provides a solid base that we can expand on later for even more
extensive GPU side page fault debugging capabilities.

v2: Fix comment wording and function pointer check per Rob Clark

Jordan Crouse (3):
  iommu/arm-smmu: Add support for driver IOMMU fault handlers
  drm/msm: Add an adreno-smmu-priv callback to get pagefault info
  drm/msm: Improve the a6xx page fault handler

 drivers/gpu/drm/msm/adreno/a5xx_gpu.c      |  4 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c      | 76 +++++++++++++++++++++-
 drivers/gpu/drm/msm/msm_iommu.c            | 11 +++-
 drivers/gpu/drm/msm/msm_mmu.h              |  4 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 19 ++++++
 drivers/iommu/arm/arm-smmu/arm-smmu.c      | 16 ++++-
 drivers/iommu/arm/arm-smmu/arm-smmu.h      |  2 +
 include/linux/adreno-smmu-priv.h           | 31 ++++++++-
 8 files changed, 151 insertions(+), 12 deletions(-)

-- 
2.25.1


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

end of thread, other threads:[~2021-01-26 18:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-24 19:15 [PATCH v2 0/3] iommu/arm-smmu: adreno-smmu page fault handling Jordan Crouse
2020-11-24 19:15 ` [PATCH v2 1/3] iommu/arm-smmu: Add support for driver IOMMU fault handlers Jordan Crouse
2021-01-22 12:41   ` Will Deacon
2021-01-22 12:53     ` Robin Murphy
2021-01-25 21:51       ` Jordan Crouse
2021-01-26 11:40         ` Robin Murphy
2021-01-26 16:05           ` Rob Clark
2021-01-26 16:31             ` Robin Murphy
2020-11-24 19:15 ` [PATCH v2 2/3] drm/msm: Add an adreno-smmu-priv callback to get pagefault info Jordan Crouse
2020-11-24 19:16 ` [PATCH v2 3/3] drm/msm: Improve the a6xx page fault handler Jordan Crouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).