freebsd / drm-kmod

drm driver for FreeBSD
155 stars 69 forks source link

DRM kmod 5.10 fails to fully attach AMD R7 250E #195

Closed stesser closed 2 years ago

stesser commented 2 years ago

Describe the bug After installing drm-510-kmod my Radeon R7 250E does not detect the connected LCD display. It works without any problems with drm-54-kmod.

FreeBSD version FreeBSD se 14.0-CURRENT FreeBSD 14.0-CURRENT #105 main-n256889-17a4a163df85-dirty: Sun Jul 24 08:35:01 CEST 2022 root@se:/usr/obj/usr/git/src/amd64.amd64/sys/SE amd64

PCI Info

pciconf -lv hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1480 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Root Complex' class = bridge subclass = HOST-PCI amdiommu0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1481 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse IOMMU' class = base peripheral subclass = IOMMU hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse GPP Bridge' class = bridge subclass = PCI-PCI pcib2@pci0:0:1:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse GPP Bridge' class = bridge subclass = PCI-PCI hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib10@pci0:0:3:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse GPP Bridge' class = bridge subclass = PCI-PCI hostb4@pci0:0:4:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb5@pci0:0:5:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb6@pci0:0:7:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib11@pci0:0:7:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]' class = bridge subclass = PCI-PCI hostb7@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib12@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]' class = bridge subclass = PCI-PCI intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x61 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1043 subdevice=0x87c0 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=0x1043 subdevice=0x87c0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH LPC Bridge' class = bridge subclass = PCI-ISA hostb8@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1440 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 0' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1441 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 1' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1442 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 2' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1443 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 3' class = bridge subclass = HOST-PCI hostb12@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1444 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 4' class = bridge subclass = HOST-PCI hostb13@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1445 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 5' class = bridge subclass = HOST-PCI hostb14@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1446 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 6' class = bridge subclass = HOST-PCI hostb15@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1447 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 7' class = bridge subclass = HOST-PCI nvme0@pci0:1:0:0: class=0x010802 rev=0x01 hdr=0x00 vendor=0x1987 device=0x5012 subvendor=0x1987 subdevice=0x5012 vendor = 'Phison Electronics Corporation' device = 'E12 NVMe Controller' class = mass storage subclass = NVM xhci0@pci0:2:0:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x43ee subvendor=0x1b21 subdevice=0x1142 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '500 Series Chipset USB 3.1 XHCI Controller' class = serial bus subclass = USB ahci0@pci0:2:0:1: class=0x010601 rev=0x00 hdr=0x00 vendor=0x1022 device=0x43eb subvendor=0x1b21 subdevice=0x1062 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '500 Series Chipset SATA Controller' class = mass storage subclass = SATA pcib3@pci0:2:0:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43e9 subvendor=0x1b21 subdevice=0x0201 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '500 Series Chipset Switch Upstream Port' class = bridge subclass = PCI-PCI pcib4@pci0:3:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib5@pci0:3:1:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib6@pci0:3:2:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib7@pci0:3:3:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib8@pci0:3:8:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib9@pci0:3:9:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x43ea subvendor=0x1b21 subdevice=0x3308 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI xhci1@pci0:4:0:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1b21 device=0x2142 subvendor=0x1b21 subdevice=0x2142 vendor = 'ASMedia Technology Inc.' device = 'ASM2142 USB 3.1 Host Controller' class = serial bus subclass = USB re0@pci0:6:0:0: class=0x020000 rev=0x0c hdr=0x00 vendor=0x10ec device=0x8168 subvendor=0x10ec subdevice=0x0123 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet igb0@pci0:7:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x1533 subvendor=0x103c subdevice=0x0003 vendor = 'Intel Corporation' device = 'I210 Gigabit Network Connection' class = network subclass = ethernet iwlwifi0@pci0:8:0:0: class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2725 subvendor=0x8086 subdevice=0x0024 vendor = 'Intel Corporation' device = 'Wi-Fi 6 AX210/AX211/AX411 160MHz' class = network none0@pci0:9:0:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x1043 subdevice=0x87d7 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8125 2.5GbE Controller' class = network subclass = ethernet vgapci0@pci0:10:0:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x683f subvendor=0x174b subdevice=0xa001 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]' class = display subclass = VGA none1@pci0:10:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0xaab0 subvendor=0x174b subdevice=0xaab0 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]' class = multimedia subclass = HDA none2@pci0:11:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x148a subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Function' class = non-essential instrumentation none3@pci0:12:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1485 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Reserved SPP' class = non-essential instrumentation none4@pci0:12:0:1: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1486 subvendor=0x1043 subdevice=0x8808 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Cryptographic Coprocessor PSPCPP' class = encrypt/decrypt xhci2@pci0:12:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1043 subdevice=0x87c0 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse USB 3.0 Host Controller' class = serial bus subclass = USB hdac0@pci0:12:0:4: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1487 subvendor=0x1043 subdevice=0x8797 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse HD Audio Controller' class = multimedia subclass = HDA

DRM KMOD version drm-510-kmod 5.10.113_1

To Reproduce Reboot system with R7 250E GPU, drm-510-kmod, and graphics driver xf86-video-amdgpu-22.0.0.

Screenshots

Additional context Relevant part of the boot message log:

hdac1: <ATI (0xaab0) HDA Controller> mem 0xfce60000-0xfce63fff irq 55 at device 0.1 on pci10 hdac1: hdac_get_capabilities: Invalid corb size (0) device_attach: hdac1 attach returned 6 [drm] radeon kernel modesetting enabled. drmn0: on vgapci0 vgapci0: child drmn0 requested pci_enable_io vgapci0: child drmn0 requested pci_enable_io sysctl_warn_reuse: can't re-use a leaf (hw.dri.debug)! [drm] initializing kernel modesetting (VERDE 0x1002:0x683F 0x174B:0xA001 0x00). [drm ERROR :radeon_atombios_init] Unable to find PCI I/O BAR; using MMIO for ATOM IIO ATOM BIOS: C44501 drmn0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used) drmn0: GTT: 2048M 0x0000000040000000 - 0x00000000BFFFFFFF [drm] Detected VRAM RAM=1024M, BAR=256M [drm] RAM width 128bits DDR [TTM] Zone kernel: Available graphics memory: 50262760 KiB [TTM] Zone dma32: Available graphics memory: 2097152 KiB [TTM] Initializing pool allocator [drm] radeon: 1024M of VRAM memory ready [drm] radeon: 2048M of GTT memory ready. [drm] Loading verde Microcode drmn0: successfully loaded firmware image 'radeon/verde_pfp.bin' drmn0: successfully loaded firmware image 'radeon/verde_me.bin' drmn0: successfully loaded firmware image 'radeon/verde_ce.bin' drmn0: successfully loaded firmware image 'radeon/verde_rlc.bin' drmn0: successfully loaded firmware image 'radeon/verde_mc.bin' drmn0: successfully loaded firmware image 'radeon/verde_smc.bin' [drm] Internal thermal controller without fan control [drm] radeon: dpm initialized drmn0: successfully loaded firmware image 'radeon/TAHITI_uvd.bin' drmn0: successfully loaded firmware image 'radeon/TAHITI_vce.bin' [drm] Found VCE firmware/feedback version 50.0.1 / 17! [drm] GART: num cpu pages 524288, num gpu pages 524288 [drm] PCIE GART of 2048M enabled (table at 0x00000000001D6000). drmn0: WB enabled drmn0: fence driver on ring 0 use gpu addr 0x0000000040000c00 drmn0: fence driver on ring 1 use gpu addr 0x0000000040000c04 drmn0: fence driver on ring 2 use gpu addr 0x0000000040000c08 drmn0: fence driver on ring 3 use gpu addr 0x0000000040000c0c drmn0: fence driver on ring 4 use gpu addr 0x0000000040000c10 drmn0: fence driver on ring 5 use gpu addr 0x0000000000075a18 drmn0: fence driver on ring 6 use gpu addr 0x0000000040000c18 drmn0: fence driver on ring 7 use gpu addr 0x0000000040000c1c drmn0: radeon: MSI limited to 32-bit drmn0: radeon: using MSI. [drm] radeon: irq initialized. [drm] ring test on 0 succeeded in 1 usecs [drm] ring test on 1 succeeded in 1 usecs [drm] ring test on 2 succeeded in 1 usecs [drm] ring test on 3 succeeded in 10 usecs [drm] ring test on 4 succeeded in 4 usecs [drm] ring test on 5 succeeded in 1 usecs [drm] UVD initialized successfully. [drm] ring test on 6 succeeded in 19 usecs [drm] ring test on 7 succeeded in 4 usecs [drm] VCE initialized successfully. [drm] ib test on ring 0 succeeded in 0 usecs [drm] ib test on ring 1 succeeded in 0 usecs [drm] ib test on ring 2 succeeded in 0 usecs [drm] ib test on ring 3 succeeded in 0 usecs [drm] ib test on ring 4 succeeded in 0 usecs [drm] ib test on ring 5 succeeded [drm] ib test on ring 6 succeeded [drm] ib test on ring 7 succeeded lkpi_iic0: on drm1 iicbus0: on lkpi_iic0 iic0: <I2C generic I/O> on iicbus0 iicsmb0: on iicbus0 smbus0: on iicsmb0 smb0: <SMBus generic I/O> on smbus0 [drm] Radeon Display Connectors [drm] Connector 0: [drm] DP-1 [drm] HPD4 [drm] DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c 0x654c [drm] Encoders: [drm] DFP1: INTERNAL_UNIPHY2 [drm] Connector 1: [drm] HDMI-A-1 [drm] HPD1 [drm] DDC: 0x6570 0x6570 0x6574 0x6574 0x6578 0x6578 0x657c 0x657c [drm] Encoders: [drm] DFP2: INTERNAL_UNIPHY2 [drm] Connector 2: [drm] DVI-I-1 [drm] HPD2 [drm] DDC: 0x6560 0x6560 0x6564 0x6564 0x6568 0x6568 0x656c 0x656c [drm] Encoders: [drm] DFP3: INTERNAL_UNIPHY [drm] CRT1: INTERNAL_KLDSCP_DAC1 drmn0: [drm] Cannot find any crtc or sizes [drm] Initialized radeon 2.50.0 20080528 for drmn0 on minor 0


Working driver attach with drm-54-kmod displays an identical message log except for the last few lines:

[drm] Encoders: [drm] DFP3: INTERNAL_UNIPHY [drm] CRT1: INTERNAL_KLDSCP_DAC1 [drm] fb mappable at 0xE0503000 [drm] vram apper at 0xE0000000 [drm] size 33177600 [drm] fb depth is 24 [drm] pitch is 15360 [drm] Initialized amdgpu 3.36.0 20150101 for drmn0 on minor 0

stesser commented 2 years ago

See [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265920] for another report of a similar issue.

It seems that only DVI and HDMI are affected - DisplayPort works with drm-510-kmod.

evadot commented 2 years ago

Fixed in src by finishing i2c bitbanging code.