[PATCH 0/8] drm/amdgpu: enable dedicated ras controller interrupt

Hawking Zhang Hawking.Zhang at amd.com
Mon Aug 26 03:54:52 UTC 2019


ras_controller_interrupt and SDP err_event_athub_interrupt are two dedicated interrupt for VG20 RAS controller

ras_controller interrupt will be triggered when there is NBIF error. Driver can leverage this interrupt to query and log necessary error count and other information.

err_event_athub interrupt will be triggered when sdp err_event received from ATHUB. This is an very important ras interrupt for all hw block (except BIF and SDMA) when uncorrectable error happens and hw probably freeze. Driver can leverage this interrupt to query and log necessary error count before reset GPU.

BIF ring was designed and dedicated for both interrupts. However, it can't be enabled due to known HW bug. Driver has to poll BIF_DOORBELL_INT_CNTL register to check whether the interrupt is triggered or not.

Hawking Zhang (8):
  drm/amdgpu: add new amdgpu nbio header file
  drm/amdgpu: switch to new amdgpu_nbio structure
  drm/amdgpu/nbio: add functions to query ras specific interrupt status
  drm/amdgpu: add nbif v7_4 irq source header for vega20
  drm/amdgpu: update nbio v7_4 ip header files
  drm/amdgpu: add ras_controller and err_event_athub interrupt support
  drm/amdgpu: enable/disable ras_controller_irq and err_event_athub_irq
  drm/amdgpu: poll ras_controller_irq and err_event_athub_irq status

 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |  63 +-------
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c            |  12 ++
 drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h           |  93 ++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c            |  14 ++
 drivers/gpu/drm/amd/amdgpu/df_v3_6.c               |  16 +--
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c             |  14 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c              |   6 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c             |   6 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c              |  20 ++-
 drivers/gpu/drm/amd/amdgpu/navi10_ih.c             |   4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c             |   1 -
 drivers/gpu/drm/amd/amdgpu/nbio_v2_3.h             |   1 +
 drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c             |   3 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v6_1.h             |   1 +
 drivers/gpu/drm/amd/amdgpu/nbio_v7_0.c             |   1 -
 drivers/gpu/drm/amd/amdgpu/nbio_v7_0.h             |   1 +
 drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c             | 160 ++++++++++++++++++++-
 drivers/gpu/drm/amd/amdgpu/nbio_v7_4.h             |   1 +
 drivers/gpu/drm/amd/amdgpu/nv.c                    |  34 ++---
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c             |   6 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c             |   8 +-
 drivers/gpu/drm/amd/amdgpu/soc15.c                 |  71 ++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c              |   2 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c              |   2 +-
 drivers/gpu/drm/amd/amdgpu/vega10_ih.c             |   2 +-
 .../amd/include/asic_reg/nbio/nbio_7_4_offset.h    |   4 +-
 .../amd/include/asic_reg/nbio/nbio_7_4_sh_mask.h   |   6 +-
 .../amd/include/ivsrcid/nbio/irqsrcs_nbif_7_4.h    |  42 ++++++
 drivers/gpu/drm/amd/powerplay/amdgpu_smu.c         |   2 +-
 .../gpu/drm/amd/powerplay/smumgr/smu10_smumgr.c    |   2 +-
 .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c   |   2 +-
 .../gpu/drm/amd/powerplay/smumgr/vega12_smumgr.c   |   2 +-
 .../gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c   |   4 +-
 33 files changed, 447 insertions(+), 159 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h
 create mode 100644 drivers/gpu/drm/amd/include/ivsrcid/nbio/irqsrcs_nbif_7_4.h

-- 
2.7.4



More information about the amd-gfx mailing list