From: Ce Sun <cesun102@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: <Hawking.Zhang@amd.com>, Ce Sun <cesun102@amd.com>
Subject: [PATCH v4 0/4] upport for multi-GPU interconnection to trigger dpc recovery
Date: Fri, 21 Mar 2025 11:24:29 +0800 [thread overview]
Message-ID: <cover.1742526761.git.cesun102@amd.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="y", Size: 2942 bytes --]
This section describes the DPC high-level workflow for Multi-GPU configurations.
The GPUs are connected to root ports or switches using PCIe, and there are xGMI
links between the GPUs.
Multi-GPU DPC Workflow:
1.When an uncorrectable AER error occurs (assuming GPU-a encountered the error),
the error is reported to the root port or switch downstream port
2.The root port or switch downstream port disables the PCIe link to GPU-a and
sends an interrupt to the OS kernel
3.In GPU-a:
(a) PMFW receives PMI from PCIe link down event
(b) PMFW log the DPC event
(c) PMFW runs the link reset sequence, which resets PCIe and related IP blocks
(d) PMFW runs mode-1 reset flow
4.In the OS kernel and driver:
(a) DPC error handler notifies GPU driver with per-registered callback function
(b) The driver stops or halts any uncompleted activities, and triggers SW-UP
link reset on other GPUs in the same hive.
(c) Start DPC recovery sequence and release PCIe link, the link training starts
(d) PCIe error callback notifies GPU driver to wait for GPU recovery
5.In other GPUs:
(a) PMFW runs SW-UP link reset sequence
(b) PMFW runs mode-1 reset flow
6.After the PCIe link is up and the mode-1 reset is completed, the GPU driver
initializes the device and gets it back to normal state.
problem:
[ 188.024875] amdgpu 0000:38:00.0: amdgpu: [mmhub0] no-retry page fault (src_id:0 ring:158 vmid:0 pasid:0)
[ 188.035550] amdgpu 0000:38:00.0: amdgpu: in page starting at address 0x0000000000000000 from IH client 0x12 (VMC)
[ 188.047297] amdgpu 0000:38:00.0: amdgpu: cookie node_id 4 fault from die AID1
[ 188.055531] amdgpu 0000:38:00.0: amdgpu: VM_L2_PROTECTION_FAULT_STATUS:0x0000DB3D
[ 188.063957] amdgpu 0000:38:00.0: amdgpu: Faulty UTCL2 client ID: VCNU0 (0x6d)
[ 188.072188] amdgpu 0000:38:00.0: amdgpu: MORE_FAULTS: 0x1
[ 188.078458] amdgpu 0000:38:00.0: amdgpu: WALKER_ERROR: 0x6
[ 188.084835] amdgpu 0000:38:00.0: amdgpu: PERMISSION_FAULTS: 0x3
[ 188.091698] amdgpu 0000:38:00.0: amdgpu: MAPPING_ERROR: 0x1
[ 188.098172] amdgpu 0000:38:00.0: amdgpu: RW: 0x0
Solved by patch-4
Ce Sun (4):
drm/amd/pm: Add link reset for SMU 13.0.6
drm/amdgpu: refactor amdgpu_device_gpu_recover
drm/amdgpu: Multi-GPU DPC recovery support
drm/amdgpu/vcn: during dpc recovery will corrupt VCPU buffer
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 11 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 411 +++++++++++-------
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 +-
drivers/gpu/drm/amd/amdgpu/soc15.c | 5 +
drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 28 ++
drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h | 2 +
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 26 ++
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 23 +-
.../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 22 +
9 files changed, 377 insertions(+), 155 deletions(-)
--
2.34.1
next reply other threads:[~2025-03-21 3:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-21 3:24 Ce Sun [this message]
2025-03-21 3:25 ` [PATCH v4 1/4] drm/amd/pm: Add link reset for SMU 13.0.6 Ce Sun
2025-03-21 3:25 ` [PATCH v4 2/4] drm/amdgpu: refactor amdgpu_device_gpu_recover Ce Sun
2025-03-21 3:26 ` [PATCH v4 3/4] drm/amdgpu: Multi-GPU DPC recovery support Ce Sun
2025-03-21 3:27 ` [PATCH v4 4/4] drm/amdgpu/vcn: during dpc recovery will corrupt VCPU buffer Ce Sun
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=cover.1742526761.git.cesun102@amd.com \
--to=cesun102@amd.com \
--cc=Hawking.Zhang@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.