Re: Reuse framebuffer after a kexec (amdgpu / efifb)
From: Felix Kuehling <felix.kuehling@amd.com>
Date: 2021-12-11 00:54:41
Also in:
dri-devel, kexec, linux-fbdev
From: Felix Kuehling <felix.kuehling@amd.com>
Date: 2021-12-11 00:54:41
Also in:
dri-devel, kexec, linux-fbdev
On 2021-12-10 10:13 a.m., Christian König wrote:
Am 10.12.21 um 15:25 schrieb Guilherme G. Piccoli:quoted
On 10/12/2021 11:16, Alex Deucher wrote:> [...]quoted
Why not just reload the driver after kexec? AlexBecause the original issue is the kdump case, and we want a very very tiny kernel - also, the crash originally could have been caused by amdgpu itself, so if it's a GPU issue, we don't want to mess with that in kdump. And I confess I tried modprobe amdgpu after a kdump, no success - kdump won't call shutdown handlers, so GPU will be in a "rogue" state... My question was about regular kexec because it's much simpler usually, we can do whatever we want there. My line of thought was: if I make it work in regular kexec with a simple framebuffer, I might be able to get it working on kdump hehehHow about issuing a PCIe reset and re-initializing the ASIC with just the VBIOS? That should be pretty straightforward I think.
Do you actually need to restore the exact boot-up mode? If you have the same framebuffer memory layout (width, height, bpp, stride) the precise display timing doesn't really matter. So we "just" need to switch to a mode that's compatible with the efifb framebuffer parameters and point the display engine at the efifb as the scan-out buffer. Regards, Felix
Christian.