[SRU][K][PATCH 0/1] amdgpu: fix screen freezes with unsupported IP blocks

Kleber Sacilotto de Souza kleber.souza at canonical.com
Fri Jan 20 10:22:49 UTC 2023


[Impact]
>From "Mario Limonciello mario.limonciello at amd.com"
https://lists.ubuntu.com/archives/kernel-team/2023-January/136434.html.

There is a problem in amdgpu that if not all of IP blocks are supported or not
all of the firmware is present then the framebuffer is destroyed and the screen
freezes. In more recent kernels the amdgpu driver loads for all PCI VGA class
AMD devices.

This effectively means that unless you have all the pieces you need to support a
GPU then the installer freezes unless you do nomodeset.

This problem is to be fully fixed in kernel 6.3 with a ~47 patch series that is
currently in drm-next. This does two basic things:
1) If the IP blocks isn't supported, don't destroy the framebuffer.
2) If firmware for any IP blocks aren't present, don't destroy the framebuffer.

The whole patch series still needs more time to back in drm-next, but the most
important part of the series is the first patch which accomplishes "1".

This patch went out to stable 6.1.y as well:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/gpu/drm/amd?h=linux-6.1.y&id=dcfeba477b3e3df526e0f543b58fa71c045dff8b

My reasoning is that it will ensure that if someone picks up a newer GPU such as
Ryzen 7000 desktop or RDNA3 based they can at least install Ubuntu without
needing to use "Safe Graphics Mode" at the installer.

Sure; they won't have hardware acceleration without the rest of the kernel and
framework, but that's a separate problem to a basic display.

[Fix]
Cherry-pick/backport commit 1923bc5a56daeeabd7e9093bad2febcd6af2416a "drm/amd:
Delay removal of the firmware framebuffer" to Ubuntu Kinetic 5.19 kernel.

[Test case]
Boot kernel in a system with one of the amdgpu affected adapters.

[Where problems can occur]
The aforementioned commit could introduce other regressions on the support for
AMD GPUs.

[Additional Info]
Test-built against all arches.

Mario Limonciello (1):
  drm/amd: Delay removal of the firmware framebuffer

 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 ++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    | 6 ------
 2 files changed, 8 insertions(+), 6 deletions(-)

-- 
2.37.2




More information about the kernel-team mailing list