mbox series

[v3,0/5] drm/msm: add a display mmu fault handler

Message ID 20250219-abhinavk-smmu-fault-handler-v3-0-aa3f0bf4434a@quicinc.com (mailing list archive)
Headers show
Series drm/msm: add a display mmu fault handler | expand

Message

Jessica Zhang Feb. 19, 2025, 7:49 p.m. UTC
To debug display mmu faults, this series introduces a display fault
handler similar to the gpu one.

This series has been tested on sc7280 chromebook by using triggering
a smmu fault by forcing an incorrect stride on the planes.

---
Changes in v3:
- Move resetting of fault_snapshot_capture to before prepare_commit()
  call (Dmitry)
- Change fault_snapshot_capture from int to atomic_t (Dmitry, Abhinav)
- Link to v2: https://lore.kernel.org/r/20241217-abhinavk-smmu-fault-handler-v2-0-451377666cad@quicinc.com

Changes in v2:
- Reset fault_snapshot_capture flag in atomic commit tail (Rob)

changes since RFC:
	- move msm_mmu_set_fault_handler() to msm_kms_init_aspace
	- make msm_kms_fault_handler return -ENOSYS
	- use msm_disp_snapshot_state() instead of msm_disp_snapshot_state_sync()
	  because smmu fault handler should not sleep
	- add a rate limiter for the snapshot to avoid spam

---
Abhinav Kumar (5):
      drm/msm: register a fault handler for display mmu faults
      drm/msm/iommu: rename msm_fault_handler to msm_gpu_fault_handler
      drm/msm/iommu: introduce msm_iommu_disp_new() for msm_kms
      drm/msm: switch msm_kms to use msm_iommu_disp_new()
      drm/msm/dpu: rate limit snapshot capture for mmu faults

 drivers/gpu/drm/msm/msm_atomic.c |  2 ++
 drivers/gpu/drm/msm/msm_iommu.c  | 32 +++++++++++++++++++++++++++++---
 drivers/gpu/drm/msm/msm_kms.c    | 18 +++++++++++++++++-
 drivers/gpu/drm/msm/msm_kms.h    |  3 +++
 drivers/gpu/drm/msm/msm_mmu.h    |  1 +
 5 files changed, 52 insertions(+), 4 deletions(-)
---
base-commit: 866e43b945bf98f8e807dfa45eca92f931f3a032
change-id: 20241217-abhinavk-smmu-fault-handler-ade75fef9809

Best regards,