From: Rob Clark <robdclark@gmail.com> To: dri-devel@lists.freedesktop.org, iommu@lists.linux-foundation.org Cc: freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Jordan Crouse <jordan@cosmicpenguin.net>, Rob Clark <robdclark@chromium.org>, Akhil P Oommen <akhilpo@codeaurora.org>, AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, Douglas Anderson <dianders@chromium.org>, Eric Anholt <eric@anholt.net>, "Isaac J. Manjarres" <isaacm@codeaurora.org>, Joerg Roedel <jroedel@suse.de>, John Stultz <john.stultz@linaro.org>, Jonathan Marek <jonathan@marek.ca>, Konrad Dybcio <konrad.dybcio@somainline.org>, Krishna Reddy <vdumpa@nvidia.com>, "Kristian H. Kristensen" <hoegsberg@google.com>, Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org (moderated list:ARM SMMU DRIVERS), linux-kernel@vger.kernel.org (open list), Marijn Suijten <marijn.suijten@somainline.org>, Robin Murphy <robin.murphy@arm.com>, Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>, Sharat Masetty <smasetty@codeaurora.org>, Will Deacon <will@kernel.org>, Zhenzhong Duan <zhenzhong.duan@gmail.com> Subject: [PATCH v5 0/5] iommu/arm-smmu: adreno-smmu page fault handling Date: Thu, 10 Jun 2021 14:44:08 -0700 [thread overview] Message-ID: <20210610214431.539029-1-robdclark@gmail.com> (raw) From: Rob Clark <robdclark@chromium.org> This picks up an earlier series[1] from Jordan, and adds additional support needed to generate GPU devcore dumps on iova faults. Original description: 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. v5: [Rob] Use RBBM_STATUS3.SMMU_STALLED_ON_FAULT to detect case where GPU snapshotting needs to avoid crashdumper, and check the RBBM_STATUS3.SMMU_STALLED_ON_FAULT in GPU hang irq paths v4: [Rob] Add support to stall SMMU on fault, and let the GPU driver resume translation after it has had a chance to snapshot the GPUs state v3: Always clear FSR even if the target driver is going to handle resume v2: Fix comment wording and function pointer check per Rob Clark [1] https://lore.kernel.org/dri-devel/20210225175135.91922-1-jcrouse@codeaurora.org/ Jordan Crouse (3): iommu/arm-smmu: Add support for driver IOMMU fault handlers iommu/arm-smmu-qcom: Add an adreno-smmu-priv callback to get pagefault info drm/msm: Improve the a6xx page fault handler Rob Clark (2): iommu/arm-smmu-qcom: Add stall support drm/msm: devcoredump iommu fault support drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 23 +++- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 110 +++++++++++++++++++- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 42 ++++++-- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 15 +++ drivers/gpu/drm/msm/msm_gem.h | 1 + drivers/gpu/drm/msm/msm_gem_submit.c | 1 + drivers/gpu/drm/msm/msm_gpu.c | 48 +++++++++ drivers/gpu/drm/msm/msm_gpu.h | 17 +++ drivers/gpu/drm/msm/msm_gpummu.c | 5 + drivers/gpu/drm/msm/msm_iommu.c | 22 +++- drivers/gpu/drm/msm/msm_mmu.h | 5 +- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 50 +++++++++ drivers/iommu/arm/arm-smmu/arm-smmu.c | 9 +- drivers/iommu/arm/arm-smmu/arm-smmu.h | 2 + include/linux/adreno-smmu-priv.h | 38 ++++++- 15 files changed, 367 insertions(+), 21 deletions(-) -- 2.31.1
next reply other threads:[~2021-06-10 21:44 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-10 21:44 Rob Clark [this message] 2021-06-10 21:44 ` [PATCH v5 1/5] iommu/arm-smmu: Add support for driver IOMMU fault handlers Rob Clark 2021-06-14 17:26 ` Bjorn Andersson 2021-06-10 21:44 ` [PATCH v5 2/5] iommu/arm-smmu-qcom: Add an adreno-smmu-priv callback to get pagefault info Rob Clark 2021-06-14 17:30 ` Bjorn Andersson 2021-06-10 21:44 ` [PATCH v5 3/5] drm/msm: Improve the a6xx page fault handler Rob Clark 2021-06-14 17:46 ` Bjorn Andersson 2021-06-25 3:39 ` Bjorn Andersson 2021-06-25 15:42 ` Rob Clark 2021-06-10 21:44 ` [PATCH v5 4/5] iommu/arm-smmu-qcom: Add stall support Rob Clark 2021-06-11 13:49 ` Jordan Crouse 2021-06-14 17:54 ` Bjorn Andersson 2021-06-10 21:44 ` [PATCH v5 5/5] drm/msm: devcoredump iommu fault support Rob Clark 2021-06-11 13:49 ` Jordan Crouse 2021-07-04 12:53 ` [PATCH v5 0/5] iommu/arm-smmu: adreno-smmu page fault handling Dmitry Baryshkov 2021-07-04 18:20 ` Rob Clark 2021-07-06 21:36 ` Bjorn Andersson 2021-07-07 5:12 ` John Stultz 2021-07-07 17:38 ` Rob Clark
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210610214431.539029-1-robdclark@gmail.com \ --to=robdclark@gmail.com \ --cc=akhilpo@codeaurora.org \ --cc=angelogioacchino.delregno@somainline.org \ --cc=bjorn.andersson@linaro.org \ --cc=dianders@chromium.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=eric@anholt.net \ --cc=freedreno@lists.freedesktop.org \ --cc=hoegsberg@google.com \ --cc=iommu@lists.linux-foundation.org \ --cc=isaacm@codeaurora.org \ --cc=john.stultz@linaro.org \ --cc=jonathan@marek.ca \ --cc=jordan@cosmicpenguin.net \ --cc=jroedel@suse.de \ --cc=konrad.dybcio@somainline.org \ --cc=lee.jones@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marijn.suijten@somainline.org \ --cc=robdclark@chromium.org \ --cc=robin.murphy@arm.com \ --cc=saiprakash.ranjan@codeaurora.org \ --cc=smasetty@codeaurora.org \ --cc=vdumpa@nvidia.com \ --cc=will@kernel.org \ --cc=zhenzhong.duan@gmail.com \ --subject='Re: [PATCH v5 0/5] iommu/arm-smmu: adreno-smmu page fault handling' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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).