freebsd / drm-kmod

drm driver for FreeBSD
148 stars 68 forks source link

Power off not working after upgrade drm-61-kmod-6.1.69_2 -> drm-61-kmod-6.1.92 #304

Open jalvermark opened 3 weeks ago

jalvermark commented 3 weeks ago

Describe the bug My laptop does not power off when issuing "poweroff" or "shutdown -p now" when amdgpu.ko from drm-61-kmod-6.1.92 is loaded. It worked before with drm-61-kmod-6.1.69_2

FreeBSD version 15.0-CURRENT FreeBSD 15.0-CURRENT #32 main-n270598-41dfea24eec2-dirty: Wed Jun 5 09:52:45 CEST 2024 root@bob:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64 1500019 1500019

PCI Info

pciconf -lv hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e8 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI none0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e9 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = base peripheral subclass = IOMMU hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib1@pci0:0:2:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ee subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib2@pci0:0:2:4: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ee subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib3@pci0:0:3:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ef subvendor=0x1022 subdevice=0x1453 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 19h USB4/Thunderbolt PCIe tunnel' class = bridge subclass = PCI-PCI none1@pci0:0:3:2: class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000 class = old subclass = non-VGA display device none2@pci0:0:3:3: class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000 class = old subclass = non-VGA display device none3@pci0:0:3:4: class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000 class = old subclass = non-VGA display device hostb4@pci0:0:4:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib4@pci0:0:4:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ef subvendor=0x1022 subdevice=0x1453 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 19h USB4/Thunderbolt PCIe tunnel' class = bridge subclass = PCI-PCI hostb5@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib5@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib6@pci0:0:8:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib7@pci0:0:8:3: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x71 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SMBus Controller' class = serial bus subclass = SMBus none4@pci0:0:20:3: class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH LPC Bridge' class = bridge subclass = PCI-ISA hostb6@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f0 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb7@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f1 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb8@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f2 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f3 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f4 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f5 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb12@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f6 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb13@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f7 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI none5@pci0:1:0:0: class=0x028000 rev=0x01 hdr=0x00 vendor=0x17cb device=0x1103 subvendor=0x17aa subdevice=0x9309 vendor = 'Qualcomm Technologies, Inc' device = 'QCNFA765 Wireless Network Adapter' class = network nvme0@pci0:2:0:0: class=0x010802 rev=0x01 hdr=0x00 vendor=0x1e0f device=0x0010 subvendor=0x1e0f subdevice=0x0001 vendor = 'KIOXIA Corporation' device = 'NVMe SSD Controller XG8' class = mass storage subclass = NVM vgapci0@pci0:195:0:0: class=0x030000 rev=0xdd hdr=0x00 vendor=0x1002 device=0x15bf subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Phoenix1' class = display subclass = VGA hdac0@pci0:195:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1640 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Rembrandt Radeon High Definition Audio Controller' class = multimedia subclass = HDA none6@pci0:195:0:2: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c7 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 19h (Model 74h) CCP/PSP 3.0 Device' class = encrypt/decrypt xhci0@pci0:195:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b9 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB xhci1@pci0:195:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15ba subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB none7@pci0:195:0:5: class=0x048000 rev=0x63 hdr=0x00 vendor=0x1022 device=0x15e2 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'ACP/ACP3X/ACP6x Audio Coprocessor' class = multimedia hdac1@pci0:195:0:6: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h/19h HD Audio Controller' class = multimedia subclass = HDA none8@pci0:196:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ec subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = non-essential instrumentation none9@pci0:196:0:1: class=0x118000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1502 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'AMD IPU Device' class = dasp none10@pci0:197:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ec subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = non-essential instrumentation xhci2@pci0:197:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c0 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB xhci3@pci0:197:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c1 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB none11@pci0:197:0:5: class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1668 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Pink Sardine USB4/Thunderbolt NHI controller' class = serial bus subclass = USB none12@pci0:197:0:6: class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1669 subvendor=0x17aa subdevice=0x50d0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Pink Sardine USB4/Thunderbolt NHI controller' class = serial bus subclass = USB

DRM KMOD version drm-61-kmod 6.1.92

To Reproduce Steps to reproduce the behavior: Run "poweroff" or "shutdown -p now" while amdgpu.ko from drm-61-kmod 6.1.92 is loaded.

Screenshots N/A

Additional context Add any other context about the problem here.

evadot commented 3 weeks ago

No problems here on my side, can you git bisect the 6.1-lts branch ? Thanks.

jalvermark commented 3 weeks ago

Bisecting points to this commit: commit 2aaea5d18c21608d2959dd5e5bffa2370068a544 (HEAD) Author: Mario Limonciello mario.limonciello@amd.com Date: Thu May 2 13:32:17 2024 -0500

dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 use

rs

[ Upstream commit cd94d1b182d2986378550c9087571991bfee01d4 ]

Limit the workaround introduced by commit 31729e8c21ec ("drm/amd/pm: fixes
a random hang in S4 for SMU v13.0.4/11") to only run in the s4 path.

Cc: Tim Huang <Tim.Huang@amd.com>
Fixes: 31729e8c21ec ("drm/amd/pm: fixes a random hang in S4 for SMU v13.0.4/11")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3351
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c index 21b374d121..5de3196131 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c @@ -222,7 +222,7 @@ static int smu_v13_0_4_system_features_control(struct smu_context smu, bool en) struct amdgpu_device adev = smu->adev; int ret = 0;

evadot commented 3 weeks ago

So the supposed fix for the problem you're seeing is actually the bad commit ???

jalvermark commented 3 weeks ago

Yes, it seems strange, but if i revert 2aaea5d18c21608d2959dd5e5bffa2370068a544 it works as expected.