Skip to content

Commit 1d9aa00

Browse files
committed
news: add 2024-06-17-amd-gpu-reset
1 parent 1bc9890 commit 1d9aa00

File tree

3 files changed

+152
-0
lines changed

3 files changed

+152
-0
lines changed
2.82 MB
Loading
+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
categories:
3+
- news
4+
title: "请您测试:龙架构 AMD 显卡稳定性修复"
5+
date: 2024-06-17T22:19:13-08:00
6+
important: false
7+
draft: false
8+
---
9+
![](/assets/news/2024-06-17-amd-gpu-reset.jpg)
10+
经排查,我们终于定位到了龙架构用户在使用 AMD GCN 2.0(如 R7 360)、GCN 3.0(如 R9 Nano)及 GCN 4.0(如 RX 400/500 系列及 WX 2100/3100/4100/5100/7100)架构显卡且有高图形负载(如 3D 游戏和高清视频)时偶发驱动复位和桌面重启等不稳定现象的症结并提出了修复;如确定修复可用,使用 AMD 显卡的各位用户朋友们终于可以舒心地发挥您显卡的机能了(先前我们针对这些显卡默认关闭了动态电源管理规避稳定性问题)!
11+
12+
## 波及范围
13+
14+
如果您使用如下型号的 AMD 显卡,该测试修复可解决您在龙架构设备上的显卡复位问题;由于 AMD 显卡产品线庞杂,故有如此之长的列表,请见谅!
15+
16+
您也可以使用 TechPowerUp 的 GPU 参数数据库 (GPU Specs Database) 查询 [GCN 2.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%202.0&sort=generation)[GCN 3.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%203.0&sort=generation)[GCN 4.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%204.0&sort=generation) 对应的显卡列表以确定您的显卡是否受影响。
17+
18+
**AMD Radeon 系列:**
19+
20+
- HD7790, HD8770
21+
22+
- R7 260, R7 260X, R7 360
23+
24+
- R9 285, R9 285X, R9 290, R9 290X, R9 295X2, R9 360, R9 380, R9 380X, R9 390, R9 390X
25+
26+
- R9 Fury, R9 Fury X, R9 Nano
27+
28+
- RX 455, RX 460, RX 470, RX 470D, RX480
29+
30+
- RX 540, RX 550, RX 550X, RX 560, RX 560D, RX 570, RX 580, RX 590, RX 590 GME
31+
32+
- 530, 530X, 535, 620, 625, 630, 640
33+
34+
**AMD FirePro 系列:**
35+
36+
- S7100X, S7150, S7150 X2
37+
38+
- S9100, S9150, S9170, S9300 X2
39+
40+
- W4300, W5100, W7100, W8100, W9100
41+
42+
**AMD Radeon Pro 系列:**
43+
44+
- WX 2100, WX 3100, WX 3200, WX 4100, RX 5100, WX 7100, WX 8200, WX 9100
45+
46+
- Duo, SSG
47+
48+
实际上,[GCN 1.0 ](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%201.0&sort=generation) 系列显卡(如 R7 240)也受此问题影响,但造成问题的原因可能不同,我们仍在定位这一问题并将努力研究解决方案。
49+
50+
## 测试指引
51+
52+
请打开终端并输入如下命令:
53+
54+
```bash
55+
oma topics --opt-in linux-kernel-6.10
56+
```
57+
58+
并按照指引更新系统;内核包版本应为 6.10.0-0.4,请留意 oma 确认界面。
59+
60+
## 技术分析
61+
62+
我们在 Linux 内核相关支持代码中发现,AMD 在 2015 年分别引入的 amdgpu gfx7/cik (GCN2) 支持 ¹ 及 gfx8 (GCN4) 代码 ² 中分别包含同样的规避性代码,在写入内存及发出中断请求前执行了额外的 EVENT_WRITE_EOP (Write and End-of-Pipe) 指令重复写入内存,以期解决一处(AMD 完全没有进行解释的)潜在硬件问题。
63+
64+
这一修复在搭载龙芯 7A 桥片的龙架构上产生了副作用:两次额外的写操作在已知中断请求及 DMA 数据处理顺序有概率发生错误 ³ 的龙芯 7A 桥片上可能造成数据不一致问题,进而导致先前遇到的驱动超时、崩溃及复位问题。
65+
66+
为此,社区维护者郑兴达针对 gfx7 及 gfx8 架构显卡编写了两个补丁 ⁴,在保持两次写入的规避代码的设定下,让两次写入的数据保持一致,规避龙架构上可能发生数据不一致的问题。
67+
68+
———
69+
70+
¹ AMD 在 [amdgpu](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2e73f56fa6282481927ec43aa9362c03c2e2104)[radeon](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9c73a0e022c33954835e66fec3cd744af90ec98) 内核模块针对 gfx7/cik (GCN 2.0/3.0) 架构显卡的规避补丁
71+
72+
² AMD 针对 [gfx8 (GCN 4.0) 架构显卡的规避补丁](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf26da927a1cd57c9deb2db29ae8cf276ba8b17b)
73+
74+
³ 从龙芯中科陈华才老师[针对7A 桥片平台的 radeon 内核模块的修复](https://github.com/chenhuacai/linux/commit/da63bd7429f2bb7ce7988a95d125f50426466555)说明可见,7A 桥片中断请求及 DMA 数据处理顺序有概率出现问题
75+
76+
⁴ 郑兴达针对 [amdgpu](https://github.com/AOSC-Tracking/linux/commit/1d0e4bb75b29ef80b7129d76c9a0609d9b912eeb)[radeon](https://github.com/AOSC-Tracking/linux/commit/c7772bb8b1a27d59bbb32ef8612a9a41fecb6410) 内核模块的修复补丁
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
categories:
3+
- news
4+
title: "请您测试:龙架构 AMD 显卡稳定性修复"
5+
date: 2024-06-17T22:19:13-08:00
6+
important: false
7+
draft: false
8+
---
9+
![](/assets/news/2024-06-17-amd-gpu-reset.jpg)
10+
经排查,我们终于定位到了龙架构用户在使用 AMD GCN 2.0(如 R7 360)、GCN 3.0(如 R9 Nano)及 GCN 4.0(如 RX 400/500 系列及 WX 2100/3100/4100/5100/7100)架构显卡且有高图形负载(如 3D 游戏和高清视频)时偶发驱动复位和桌面重启等不稳定现象的症结并提出了修复;如确定修复可用,使用 AMD 显卡的各位用户朋友们终于可以舒心地发挥您显卡的机能了(先前我们针对这些显卡默认关闭了动态电源管理规避稳定性问题)!
11+
12+
## 波及范围
13+
14+
如果您使用如下型号的 AMD 显卡,该测试修复可解决您在龙架构设备上的显卡复位问题;由于 AMD 显卡产品线庞杂,故有如此之长的列表,请见谅!
15+
16+
您也可以使用 TechPowerUp 的 GPU 参数数据库 (GPU Specs Database) 查询 [GCN 2.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%202.0&sort=generation)[GCN 3.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%203.0&sort=generation)[GCN 4.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%204.0&sort=generation) 对应的显卡列表以确定您的显卡是否受影响。
17+
18+
**AMD Radeon 系列:**
19+
20+
- HD7790, HD8770
21+
22+
- R7 260, R7 260X, R7 360
23+
24+
- R9 285, R9 285X, R9 290, R9 290X, R9 295X2, R9 360, R9 380, R9 380X, R9 390, R9 390X
25+
26+
- R9 Fury, R9 Fury X, R9 Nano
27+
28+
- RX 455, RX 460, RX 470, RX 470D, RX480
29+
30+
- RX 540, RX 550, RX 550X, RX 560, RX 560D, RX 570, RX 580, RX 590, RX 590 GME
31+
32+
- 530, 530X, 535, 620, 625, 630, 640
33+
34+
**AMD FirePro 系列:**
35+
36+
- S7100X, S7150, S7150 X2
37+
38+
- S9100, S9150, S9170, S9300 X2
39+
40+
- W4300, W5100, W7100, W8100, W9100
41+
42+
**AMD Radeon Pro 系列:**
43+
44+
- WX 2100, WX 3100, WX 3200, WX 4100, RX 5100, WX 7100, WX 8200, WX 9100
45+
46+
- Duo, SSG
47+
48+
实际上,[GCN 1.0 ](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%201.0&sort=generation) 系列显卡(如 R7 240)也受此问题影响,但造成问题的原因可能不同,我们仍在定位这一问题并将努力研究解决方案。
49+
50+
## 测试指引
51+
52+
请打开终端并输入如下命令:
53+
54+
```bash
55+
oma topics --opt-in linux-kernel-6.10
56+
```
57+
58+
并按照指引更新系统;内核包版本应为 6.10.0-0.4,请留意 oma 确认界面。
59+
60+
## 技术分析
61+
62+
我们在 Linux 内核相关支持代码中发现,AMD 在 2015 年分别引入的 amdgpu gfx7/cik (GCN2) 支持 ¹ 及 gfx8 (GCN4) 代码 ² 中分别包含同样的规避性代码,在写入内存及发出中断请求前执行了额外的 EVENT_WRITE_EOP (Write and End-of-Pipe) 指令重复写入内存,以期解决一处(AMD 完全没有进行解释的)潜在硬件问题。
63+
64+
这一修复在搭载龙芯 7A 桥片的龙架构上产生了副作用:两次额外的写操作在已知中断请求及 DMA 数据处理顺序有概率发生错误 ³ 的龙芯 7A 桥片上可能造成数据不一致问题,进而导致先前遇到的驱动超时、崩溃及复位问题。
65+
66+
为此,社区维护者郑兴达针对 gfx7 及 gfx8 架构显卡编写了两个补丁 ⁴,在保持两次写入的规避代码的设定下,让两次写入的数据保持一致,规避龙架构上可能发生数据不一致的问题。
67+
68+
———
69+
70+
¹ AMD 在 [amdgpu](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2e73f56fa6282481927ec43aa9362c03c2e2104)[radeon](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9c73a0e022c33954835e66fec3cd744af90ec98) 内核模块针对 gfx7/cik (GCN 2.0/3.0) 架构显卡的规避补丁
71+
72+
² AMD 针对 [gfx8 (GCN 4.0) 架构显卡的规避补丁](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf26da927a1cd57c9deb2db29ae8cf276ba8b17b)
73+
74+
³ 从龙芯中科陈华才老师[针对7A 桥片平台的 radeon 内核模块的修复](https://github.com/chenhuacai/linux/commit/da63bd7429f2bb7ce7988a95d125f50426466555)说明可见,7A 桥片中断请求及 DMA 数据处理顺序有概率出现问题
75+
76+
⁴ 郑兴达针对 [amdgpu](https://github.com/AOSC-Tracking/linux/commit/1d0e4bb75b29ef80b7129d76c9a0609d9b912eeb)[radeon](https://github.com/AOSC-Tracking/linux/commit/c7772bb8b1a27d59bbb32ef8612a9a41fecb6410) 内核模块的修复补丁

0 commit comments

Comments
 (0)