Merged overnight for Linux 7.0 and set to be back-ported to existing Linux stable kernel versions is a fix for aging AMD GCN 1.0 “Hainan” GPU models. This closes a 2021 bug report that was long neglected and ended up being just a small tweak to fix the issue reported of GPU hangs.
Hainan was part of the AMD GCN 1.0 line-up along with Oland, Cape Verge, Pitcairn, and Tahiti for the “Southern Islands” generation. Since 2021 was a bug report over the Radeon R5 M430 mobile discrete GPU hanging when on its high performance level.This had been happening around Linux 5.4 and newer but was okay back during Linux 4.xx kernel releases. There wasn’t much activity on that bug report until this week when it was now resolved thanks to the latest code.
With AMD GCN 1.0 GPUs being supported by both the legacy Radeon kernel graphics driver and the modern AMDGPU kernel graphics driver, the same fix was applied to both of these drivers. All that ended up being needed to fix the reported Hainan GPU hang was a small patch to each driver adjusting some rules around the max shader clock speed for some additional PCI device IDs. Adding the 0x6660 and 0x666F Hainan GPU device IDs to this shader clock workaround was enough to address the years old bug report of GPU hangs.
The easy fix to both the Radeon and AMDGPU code was merged to Linux 7.0 as part of this week’s DRM fixes pull. It’s also marked for stable kernels so in the coming days should work its way to stable kernel versions too for helping those with aging Radeon Hainan GPUs of device IDs 0x6660 or 0x666F.
