amdgpu: kernel panic on load for 890M
Describe the bug
I recently got my hands on an AMD Ryzen AI 9 HX 370 laptop and tried to see if FreeBSD works on it. At the moment I'm having problems with a reproducible kernel panic when running kldload amdgpu on CURRENT. I'm guessing that I need a newer version to make this work, but I tried the 6.6 branch without any success. Is there any chance of getting this to work under FreeBSD?
FreeBSD version
Paste the output of uname -aKU
FreeBSD gp4 15.0-CURRENT FreeBSD 15.0-CURRENT main-n275584-21b5b8b38b1c GENERIC amd64 1500033 1500033
PCI Info
pciconf -lv
hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1507 subvendor=0x1022 subdevice=0x1507
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Root Complex'
class = bridge
subclass = HOST-PCI
none0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1508 subvendor=0x1022 subdevice=0x1508
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo IOMMU'
class = base peripheral
subclass = IOMMU
hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1509 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib1@pci0:0:1:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150a subvendor=0x1022 subdevice=0x150a
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo PCIe USB4 Bridge'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:1:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150a subvendor=0x1022 subdevice=0x150a
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo PCIe USB4 Bridge'
class = bridge
subclass = PCI-PCI
hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1509 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib3@pci0:0:2:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150b subvendor=0x1022 subdevice=0x1453
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:2:3: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150b subvendor=0x1022 subdevice=0x1453
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib5@pci0:0:2:4: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150b subvendor=0x1022 subdevice=0x1453
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo GPP Bridge'
class = bridge
subclass = PCI-PCI
hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1509 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
hostb4@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1509 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib6@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150c subvendor=0x1022 subdevice=0x150c
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Internal GPP Bridge to Bus [C:A]'
class = bridge
subclass = PCI-PCI
pcib7@pci0:0:8:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150c subvendor=0x1022 subdevice=0x150c
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Internal GPP Bridge to Bus [C:A]'
class = bridge
subclass = PCI-PCI
pcib8@pci0:0:8:3: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x150c subvendor=0x1022 subdevice=0x150c
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo Internal GPP Bridge to Bus [C:A]'
class = bridge
subclass = PCI-PCI
intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x71 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1022 subdevice=0x790b
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH SMBus Controller'
class = serial bus
subclass = SMBus
isab0@pci0:0:20:3: class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0x1022 subdevice=0x790e
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH LPC Bridge'
class = bridge
subclass = PCI-ISA
hostb5@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16f8 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 0'
class = bridge
subclass = HOST-PCI
hostb6@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16f9 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 1'
class = bridge
subclass = HOST-PCI
hostb7@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16fa subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 2'
class = bridge
subclass = HOST-PCI
hostb8@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16fb subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 3'
class = bridge
subclass = HOST-PCI
hostb9@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16fc subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 4'
class = bridge
subclass = HOST-PCI
hostb10@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16fd subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 5'
class = bridge
subclass = HOST-PCI
hostb11@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16fe subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 6'
class = bridge
subclass = HOST-PCI
hostb12@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x16ff subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix Data Fabric; Function 7'
class = bridge
subclass = HOST-PCI
nvme0@pci0:193:0:0: class=0x010802 rev=0x01 hdr=0x00 vendor=0x15b7 device=0x5041 subvendor=0x15b7 subdevice=0x5041
vendor = 'Sandisk Corp'
device = 'WD Blue SN580 NVMe SSD (DRAM-less)'
class = mass storage
subclass = NVM
iwlwifi0@pci0:194:0:0: class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2725 subvendor=0x8086 subdevice=0x0024
vendor = 'Intel Corporation'
device = 'Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak]'
class = network
none1@pci0:195:0:0: class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x10ec subdevice=0x0123
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8125 2.5GbE Controller'
class = network
subclass = ethernet
vgapci0@pci0:196:0:0: class=0x038000 rev=0xc1 hdr=0x00 vendor=0x1002 device=0x150e subvendor=0x1002 subdevice=0x0124
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Strix [Radeon 880M / 890M]'
class = display
hdac0@pci0:196:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1640 subvendor=0x1002 subdevice=0x1640
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Rembrandt Radeon High Definition Audio Controller'
class = multimedia
subclass = HDA
none2@pci0:196:0:2: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x17e0 subvendor=0x1022 subdevice=0x17e0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Krackan/Strix Halo CCP/ASP'
class = encrypt/decrypt
xhci0@pci0:196:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151e subvendor=0x1022 subdevice=0x15b9
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
hdac1@pci0:196:0:6: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0x1fdb subdevice=0x0006
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Family 17h/19h/1ah HD Audio Controller'
class = multimedia
subclass = HDA
none3@pci0:197:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x150d subvendor=0x1022 subdevice=0x150d
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Strix Halo PCIe Dummy Function'
class = non-essential instrumentation
none4@pci0:197:0:1: class=0x118000 rev=0x10 hdr=0x00 vendor=0x1022 device=0x17f0 subvendor=0x1022 subdevice=0x17f0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Strix/Krackan/Strix Halo Neural Processing Unit'
class = dasp
xhci1@pci0:198:0:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151f subvendor=0x1022 subdevice=0x15b9
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
xhci2@pci0:198:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151a subvendor=0x1022 subdevice=0x151a
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
xhci3@pci0:198:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151b subvendor=0x1022 subdevice=0x151b
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
none5@pci0:198:0:5: class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151c subvendor=0x1022 subdevice=0x151c
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
none6@pci0:198:0:6: class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x151d subvendor=0x1022 subdevice=0x151d
vendor = 'Advanced Micro Devices, Inc. [AMD]'
class = serial bus
subclass = USB
DRM KMOD version
Paste the output of pkg query -x '%n %v' 'drm.*kmod'
drm-61-kmod 6.1.128.1500032
drm-kmod 20220907_3
To Reproduce
Steps to reproduce the behavior:
kldload amdgpu
Screenshots If applicable, add screenshots to help explain your problem.
Not a screenshot, but these are the messages when loading the driver:
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1
<6>[drm] amdgpu kernel modesetting enabled.
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
<6>[drm] initializing kernel modesetting (IP DISCOVERY 0x1002:0x150E 0x1002:0x0124 0xC1).
<6>[drm] register mmio base: 0xDC400000
<6>[drm] register mmio size: 524288
drmn0: Fatal error during GPU init
drmn0: amdgpu: finishing device.
panic: Start of segment isn't less than end (start: 0 end: 0)
cpuid = 21
time 1740176404
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01d54d3650
vpanic() at vpanic+0x136/frame 0xfffffe01d54d3780
panic() at panic+0x43/frame 0xfffffe01d54d37e0
vm_phys_fictitious_unreg_range() at vm_phys_fictitious_unreg_range+0x37a/frame 0xfffffe01d54d3810
unregister_fictitious_range() at unregister_fictitious_range+0xc/frame 0xfffffe01d54d3820
amdgpu_device_fini_hw() at amdgpu_device_fini_hw+0x190/frame 0xfffffe01d54d3870
amdgpu_driver_load_kms() at amdgpu_driver_load_kms+0x84/frame 0xfffffe01d54d38a0
amdgpu_pci_probe() at amdgpu_pci_probe+0x290/frame 0xfffffe01d54d38e0
linux_pci_attach_device() at linux_pci_attach_device+0x430/frame 0xfffffe01d54d3930
device_attach() at device_attach+0x45b/frame 0xfffffe01d543980
bus_generic_driver_added() at bus_generic_driver_added+0x90/frame 0xfffffe01d54d39a0
devclass_driver_added() at devclass_driver_added+0x29/frame 0xfffffe01d54d39d0
devclass_add_driver() at devclass_add_driver+0x138/frame 0xfffffe01d54d3a10
_linux_pci_register_driver() at _linux_pci_register_driver+0xc1/frame 0xfffffe01d54d3a40
amdgpu_evh() at amdgpu_evh+0x80/frame 0xfffffe01d54d3a50
module_register_init() at module_register_init+0xb0/frame 0xfffffe01d54d3a80
linker_load_module() at linker_load_module+0xc51/frame 0xfffffe01d54d3d80
kern_kldload() at kern_kldload+0x16e/frame 0xfffffe01d54d3dd0
sys_kldload() at sys_kldload+0x59/frame 0xfffffe01d54d3e00
amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe01d54d3f30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01d54d3f30
--- syscall (304, FreeBSD ELF64, kldload), rip = 0x179116cecada, rsp = 0x17911418ba78, rbp = 0x17911418bff0 ---
KDB: enter: panic
[ thread pid 3578 tid 100922 ]
Stopped at kdb_enter+0x33: movq $0,0x10520b2(%rip)
db>
Additional context Add any other context about the problem here.
Since your installed drm-61-kmod package has the __FreeBSD_version suffix at 1500032 and your CURRENT's kernel version is at 1500033, I would suggest rebuilding the drm-61-kmod package through ports to match your kernel's API. Or wait for an updated package with version at the 1500033 version suffix.
Ah, good catch! I hadn't realized that the package was outdated. I did just rebuild graphics/drm-61-kmod from ports, but unfortunately it has the exact same behaviour - it complains that Start of segment isn't less than end.
Is there anything else that I could try to get this working?
Thanks for trying and confirming that.
So, rather than me guessing a solution, I decided lookup about your integrated GPU. Since it's based on RDNA 3.5, AMD had rolled out support for that in Linux 6.7. So, you'd want to subscribe to #332 and show your love for it. 👍
Aha! that's exactly what I'm looking for. I suspected that it's a case of needing a newer version. I'll monitor #332 for updates. Thanks!