freebsd / drm-kmod

drm driver for FreeBSD
148 stars 68 forks source link

Kernel panic with attempted load of i915kms after amdgpu #289

Open grahamperrin opened 4 months ago

grahamperrin commented 4 months ago

Describe the bug

If amdgpu is loaded, then kldload i915kms results in a system crash.

Apple MacBookPro8,3 probed this morning https://bsd-hardware.info/?probe=89647876db,

FreeBSD version

FreeBSD 13.3-RC1 releng/13.3-n257425-8997b0270dae GENERIC

PCI Info

pciconf -lv ```text hostb0@pci0:0:0:0: class=0x060000 rev=0x09 hdr=0x00 vendor=0x8086 device=0x0104 subvendor=0x106b subdevice=0x00de vendor = 'Intel Corporation' device = '2nd Generation Core Processor Family DRAM Controller' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:0: class=0x060400 rev=0x09 hdr=0x01 vendor=0x8086 device=0x0101 subvendor=0x106b subdevice=0x00de vendor = 'Intel Corporation' device = 'Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port' class = bridge subclass = PCI-PCI pcib2@pci0:0:1:1: class=0x060400 rev=0x09 hdr=0x01 vendor=0x8086 device=0x0105 subvendor=0x106b subdevice=0x00de vendor = 'Intel Corporation' device = 'Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port' class = bridge subclass = PCI-PCI vgapci1@pci0:0:2:0: class=0x030000 rev=0x09 hdr=0x00 vendor=0x8086 device=0x0126 subvendor=0x106b subdevice=0x00de vendor = 'Intel Corporation' device = '2nd Generation Core Processor Family Integrated Graphics Controller' class = display subclass = VGA none0@pci0:0:22:0: class=0x078000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1c3a subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family MEI Controller' class = simple comms uhci0@pci0:0:26:0: class=0x0c0300 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c2c subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family USB Universal Host Controller' class = serial bus subclass = USB ehci0@pci0:0:26:7: class=0x0c0320 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c2d subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller' class = serial bus subclass = USB hdac1@pci0:0:27:0: class=0x040300 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c20 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family High Definition Audio Controller' class = multimedia subclass = HDA pcib3@pci0:0:28:0: class=0x060400 rev=0xb5 hdr=0x01 vendor=0x8086 device=0x1c10 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family PCI Express Root Port 1' class = bridge subclass = PCI-PCI pcib4@pci0:0:28:1: class=0x060400 rev=0xb5 hdr=0x01 vendor=0x8086 device=0x1c12 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family PCI Express Root Port 2' class = bridge subclass = PCI-PCI pcib5@pci0:0:28:2: class=0x060400 rev=0xb5 hdr=0x01 vendor=0x8086 device=0x1c14 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family PCI Express Root Port 3' class = bridge subclass = PCI-PCI pcib6@pci0:0:28:3: class=0x060400 rev=0xb5 hdr=0x01 vendor=0x8086 device=0x1c16 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family PCI Express Root Port 4' class = bridge subclass = PCI-PCI uhci1@pci0:0:29:0: class=0x0c0300 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c27 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family USB Universal Host Controller' class = serial bus subclass = USB ehci1@pci0:0:29:7: class=0x0c0320 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c26 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller' class = serial bus subclass = USB isab0@pci0:0:31:0: class=0x060100 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c49 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = 'HM65 Express Chipset LPC Controller' class = bridge subclass = PCI-ISA ahci0@pci0:0:31:2: class=0x010601 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c03 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller' class = mass storage subclass = SATA ichsmb0@pci0:0:31:3: class=0x0c0500 rev=0x05 hdr=0x00 vendor=0x8086 device=0x1c22 subvendor=0x8086 subdevice=0x7270 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family SMBus Controller' class = serial bus subclass = SMBus vgapci0@pci0:1:0:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x6740 subvendor=0x106b subdevice=0x00f9 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Whistler [Radeon HD 6730M/6770M/7690M XT]' class = display subclass = VGA hdac0@pci0:1:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0xaa90 subvendor=0x0000 subdevice=0xaa90 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series]' class = multimedia subclass = HDA bge0@pci0:2:0:0: class=0x020000 rev=0x10 hdr=0x00 vendor=0x14e4 device=0x16b4 subvendor=0x14e4 subdevice=0x16b4 vendor = 'Broadcom Inc. and subsidiaries' device = 'NetXtreme BCM57765 Gigabit Ethernet PCIe' class = network subclass = ethernet bwn_pci0@pci0:3:0:0: class=0x028000 rev=0x02 hdr=0x00 vendor=0x14e4 device=0x4331 subvendor=0x14e4 subdevice=0x4331 vendor = 'Broadcom Inc. and subsidiaries' device = 'BCM4331 802.11a/b/g/n' class = network none1@pci0:4:0:0: class=0x0c0010 rev=0x08 hdr=0x00 vendor=0x11c1 device=0x5901 subvendor=0x11c1 subdevice=0x5900 vendor = 'LSI Corporation' device = 'FW643 [TrueFire] PCIe 1394b Controller' class = serial bus subclass = FireWire ```

DRM KMOD version

drm-kmod 20220907_2

To Reproduce

Condensed steps, from memory:

  1. install 13.3-RC1 with GELI encryption for the OS and for swap
  2. install poudriere, git, gdb, kde5, xorg, sddm, htop, lsblk, hw-probe, usbutils, sysutils, etc
  3. use poudriere to create a matching jail
  4. use poudriere to build graphics/drm-kmod
  5. use the resulting repository to install drm-kmod
  6. configure /etc/rc.conf to target the non-encrypted swap device for dumps
  7. restart the OS
  8. kldload amdgpu
  9. kldload i915kms

Additional context

Dump header from device: /dev/ada0p2
  Architecture: amd64
  Architecture Version: 2
  Dump Length: 679612416
  Blocksize: 512
  Compression: none
  Dumptime: 2024-03-02 21:41:12 +0000
  Hostname: mowa219-gjp4-macbookpro17
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 13.3-RC1 releng/13.3-n257425-8997b0270dae GENERIC
  Panic String: page fault
  Dump Parity: 2813906000
  Bounds: 1
  Dump Status: good

core.txt.1.txt

Maybe compare with:

grahamperrin commented 4 months ago

Cross-reference FreeBSD bug 271897 – graphics/drm-510-kmod: loading amdgpu and i915kms kernel modules simultaneously causes the system to crash