drm-kmod icon indicating copy to clipboard operation
drm-kmod copied to clipboard

amdgpu: kernel panic on load for 890M

Open vrachnis opened this issue 10 months ago • 4 comments

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.

vrachnis avatar Feb 21 '25 22:02 vrachnis

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.

kenrap avatar Feb 22 '25 01:02 kenrap

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?

vrachnis avatar Feb 23 '25 22:02 vrachnis

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. 👍

kenrap avatar Feb 24 '25 01:02 kenrap

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!

vrachnis avatar Feb 24 '25 21:02 vrachnis