Hi Maciej, Thanks for the patch.
I applied patch 3 to the 6.18.49 kernel I use on my MacBookPro14,3 (Radeon Pro 555, 1002:67ef, subsystem 106b:017a, rev c7). The kernel also carries my unrelated PCI and ACPI patches for this machine. After a cold boot, amdgpu logs "PCI CONFIG reset" and "GPU posting now..." while it loads, and VRAM ends up at 0xF400000000. MC_VM_FB_LOCATION reads 0xf47ff400 through debugfs. In my tests in September, a kernel without the reset left VRAM at 0 after a cold boot. I then suspended to RAM three times with rtcwake. After each resume MC_VM_FB_LOCATION was still 0xf47ff400, the screen came back, and the kernel log showed no VM faults, ring timeouts or GPU recovery. After the last one I ran glxgears for a minute and the gfx ring kept going. I also closed the lid for about ten minutes. After opening it the screen came back, MC_VM_FB_LOCATION was 0xf47ff400, and glxgears ran for a minute without errors. Before that I had also tried it after a warm reboot, with four rtcwake cycles and one 45-minute suspend from the idle timer. After each of those MC_VM_FB_LOCATION was 0xf47ff400 and the log showed no GPU errors. Finally, I reloaded amdgpu after a suspend, twice, with modprobe -r and modprobe. Each time amdgpu logged "PCI CONFIG reset" and "GPU posting now..." during the reload, VRAM was at 0xF400000000 and MC_VM_FB_LOCATION read 0xf47ff400. VRAM is no longer at 0 by then, so I think the reset came from the existing SMC check: with amdgpu unloaded, SMC_SYSCON_CLOCK_CNTL_0 read 0x01000000 and SMC_PC_C was about 0x205xx and changing (read through the MMIO BAR). After the second reload I logged in again and ran glxgears for a minute without errors. Tested-by: Francisco Beltrán Millalén <[email protected]> # MacBookPro14,3 Thanks again, Francisco
