Commit 0de604d
drm/amd/pm: Disable MMIO access during SMU Mode 1 reset
During Mode 1 reset, the ASIC undergoes a reset cycle and becomes
temporarily inaccessible via PCIe. Any attempt to access MMIO registers
during this window (e.g., from interrupt handlers or other driver threads)
can result in uncompleted PCIe transactions, leading to NMI panics or
system hangs.
To prevent this, set the `no_hw_access` flag to true immediately after
triggering the reset. This signals other driver components to skip
register accesses while the device is offline.
A memory barrier `smp_mb()` is added to ensure the flag update is
globally visible to all cores before the driver enters the sleep/wait
state.
Signed-off-by: Perry Yuan <perry.yuan@amd.com>
Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 7edb503)1 parent 72d7f45 commit 0de604d
3 files changed
Lines changed: 16 additions & 3 deletions
File tree
- drivers/gpu/drm/amd
- amdgpu
- pm/swsmu
- smu13
- smu14
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5867 | 5867 | | |
5868 | 5868 | | |
5869 | 5869 | | |
| 5870 | + | |
| 5871 | + | |
| 5872 | + | |
5870 | 5873 | | |
5871 | 5874 | | |
5872 | 5875 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2923 | 2923 | | |
2924 | 2924 | | |
2925 | 2925 | | |
2926 | | - | |
| 2926 | + | |
| 2927 | + | |
| 2928 | + | |
| 2929 | + | |
| 2930 | + | |
2927 | 2931 | | |
| 2932 | + | |
2928 | 2933 | | |
2929 | 2934 | | |
2930 | 2935 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2143 | 2143 | | |
2144 | 2144 | | |
2145 | 2145 | | |
2146 | | - | |
| 2146 | + | |
2147 | 2147 | | |
2148 | | - | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
2149 | 2153 | | |
| 2154 | + | |
2150 | 2155 | | |
2151 | 2156 | | |
2152 | 2157 | | |
| |||
0 commit comments