Continuing the discussion from Looking Glass - Guides, Help and Support:
I can confirm the patch works great on Fedora 27 with both nvidia 1080/1080ti, Radeon Pro WX5100, Fury and Vega.
In addition it “kind of” works for pci bus resets of other devices like nvme. I was able to hot remove an already-installed nvme and re-add it issuing only a pcie bus reset to get it working again (previously, it would go offline alltogether). Hot plugging a new device will not work because it needs some hotplug support in UEFI.
I was also able to confirm, I think, the pcie bus reset that can occur in some situations with an overheating 10 gig intel X540 is also resolved.
Strictly speaking I haven’t tested this non-graphics PCIe stuff on Kernel 4.15 at all so it is possible other kernel patches and updates solve other TR-related PCIe issues, not Geoff’s patch, but for now I’m calling this a win for Geoff.
I had to modify the patch slightly for fedora, here is a quickie mini-howto on fedora:
# sudo dnf install fedpkg fedora-packager rpmdevtools ncurses-devel pesign
# sudo dnf install rpm-build flex perl-devel perl-generators openssl-devel hmaccalc elfutils-devel
# fedpkg clone -a kernel
# cd kernel
# fedpkg switch-branch master
# # or possibly something like fedpkg switch-branch f27 -- the main thing here is you get kernel 4.15.something. At the time of this mini-how-to 4.15 is nooott quiiiitteee out but close enough for us yokels.
# vi kernel.spec
# -- in here you want to uncomment the define line for .local and I changed .local to trpatch
# then find the patches section and toward the end add Patch999: tr.patch
# tr.patch is attached to this message :D and adapted from Geoff's patch to apply to
# this slightly different "the fedora way"
once that’s done do a
fedpkg local
and rpm -i the appropriate rpms from arch/x86_64 … and you should be good to go. The usual steps for enabling iommu, vfio-pci, etc all still apply.
tr.patch (3.4 KB)
and my PCIe tree for all this bridge hot plug madness:
\-[0000:00]-+-00.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Root Complex
+-00.2 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) I/O Memory Management Unit
+-01.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-01.1-[01-07]--+-00.0 Advanced Micro Devices, Inc. [AMD] Device 43ba
| +-00.1 Advanced Micro Devices, Inc. [AMD] Device 43b6
| \-00.2-[02-07]--+-00.0-[03]--
| +-01.0-[04]----00.0 Intel Corporation I211 Gigabit Network Connection
| +-02.0-[05]----00.0 Intel Corporation Wireless 8265 / 8275
| +-03.0-[06]----00.0 Intel Corporation I211 Gigabit Network Connection
| \-04.0-[07]--
+-01.2-[08]----00.0 OCZ Technology Group, Inc. RD400/400A SSD
+-01.3-[09-0a]--+-00.0 Intel Corporation Ethernet Controller 10-Gigabit X540-AT2
| \-00.1 Intel Corporation Ethernet Controller 10-Gigabit X540-AT2
+-02.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-03.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-04.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-07.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-07.1-[0b]--+-00.0 Advanced Micro Devices, Inc. [AMD] Device 145a
| +-00.2 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor
| \-00.3 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller
+-08.0 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
+-08.1-[0c]--+-00.0 Advanced Micro Devices, Inc. [AMD] Device 1455
| +-00.2 Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
| \-00.3 Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
+-14.0 Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller
+-14.3 Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge