mbox series

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

Message ID 20240628214848.4075651-1-quic_abhinavk@quicinc.com (mailing list archive)
Headers show
Series drm/msm: add a display mmu fault handler | expand

Message

Abhinav Kumar June 28, 2024, 9:48 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 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_iommu.c | 32 +++++++++++++++++++++++++++++---
 drivers/gpu/drm/msm/msm_kms.c   | 19 ++++++++++++++++++-
 drivers/gpu/drm/msm/msm_kms.h   |  3 +++
 drivers/gpu/drm/msm/msm_mmu.h   |  1 +
 4 files changed, 51 insertions(+), 4 deletions(-)

Comments

Dmitry Baryshkov July 1, 2024, 7:40 p.m. UTC | #1
On Fri, Jun 28, 2024 at 02:48:42PM GMT, Abhinav Kumar wrote:
> 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 since RFC:

RFC was v1, so technically this is v2.

> 	- 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_iommu.c | 32 +++++++++++++++++++++++++++++---
>  drivers/gpu/drm/msm/msm_kms.c   | 19 ++++++++++++++++++-
>  drivers/gpu/drm/msm/msm_kms.h   |  3 +++
>  drivers/gpu/drm/msm/msm_mmu.h   |  1 +
>  4 files changed, 51 insertions(+), 4 deletions(-)
> 
> -- 
> 2.44.0
>