[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201109222319.2630557-1-jcrouse@codeaurora.org>
Date: Mon, 9 Nov 2020 15:23:16 -0700
From: Jordan Crouse <jcrouse@...eaurora.org>
To: linux-arm-msm@...r.kernel.org
Cc: Robin Murphy <robin.murphy@....com>, Will Deacon <will@...nel.org>,
iommu@...ts.linux-foundation.org,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...ux.ie>,
Emil Velikov <emil.velikov@...labora.com>,
Eric Anholt <eric@...olt.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Joerg Roedel <joro@...tes.org>,
Jonathan Marek <jonathan@...ek.ca>,
Krishna Reddy <vdumpa@...dia.com>,
Rob Clark <robdclark@...omium.org>,
Rob Clark <robdclark@...il.com>,
Sai Prakash Ranjan <saiprakash.ranjan@...eaurora.org>,
Sam Ravnborg <sam@...nborg.org>, Sean Paul <sean@...rly.run>,
Sharat Masetty <smasetty@...eaurora.org>,
dri-devel@...ts.freedesktop.org, freedreno@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [RFC PATCH v1 0/3] iommu/arm-smmu: adreno-smmu page fault handling
This is an RFC 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.
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
Powered by blists - more mailing lists