Re: pci passthrough Mediatek MT7922 doesn't work

From: Peter Miller <feurry_at_gmail.com>
Date: Tue, 23 Apr 2024 19:12:21 UTC
O.K. thanks for that info.

With pptdevs="1/0/0"

Before bhyve is started.

ppt0@pci0:1:0:0:    class=0x028000 rev=0x02 hdr=0x00 vendor=0x14c3
device=0x0616 subvendor=0x14c3 subdevice=0x223c
    vendor     = 'MEDIATEK Corp.'
    device     = 'MT7922 802.11ax PCI Express Wireless Network Adapter'
    class      = network
    bar   [10] = type Prefetchable Memory, range 64, base
0x7f30800000, size 1048576, enabled
    bar   [18] = type Memory, range 64, base 0x60900000, size 32768, enabled
    cap 10[80] = PCI-Express 2 endpoint max data 128(128) FLR RO NS
                 max read 512
                 link x1(x1) speed 5.0(5.0) ASPM L1(L0s/L1) ClockPM enabled
    cap 05[e0] = MSI supports 32 messages, 64 bit, vector masks
    cap 01[f8] = powerspec 3  supports D0 D3  current D0
    ecap 000b[100] = Vendor [1] ID 1556 Rev 1 Length 8
    ecap 0018[108] = LTR 1
    ecap 001e[110] = L1 PM Substates 1
    ecap 0001[200] = AER 2 0 fatal 0 non-fatal 1 corrected
  PCI-e errors = Correctable Error Detected
                 Unsupported Request Detected
     Corrected = Advisory Non-Fatal Error

After bhyve is started.

ppt0@pci0:1:0:0:    class=0x028000 rev=0x02 hdr=0x00 vendor=0x14c3
device=0x0616 subvendor=0x14c3 subdevice=0x223c
    vendor     = 'MEDIATEK Corp.'
    device     = 'MT7922 802.11ax PCI Express Wireless Network Adapter'
    class      = network
    bar   [10] = type Prefetchable Memory, range 64, base
0x7f30800000, size 1048576, enabled
    bar   [18] = type Memory, range 64, base 0x60900000, size 32768, enabled
    PCI errors = Master Data Parity Error
                 Sent Target-Abort
                 Received Target-Abort
                 Received Master-Abort
                 Signalled System Error
                 Detected Parity Error

Now, without pptdevs. This matches the 'before bhyve' aside from the
device name.

none0@pci0:1:0:0:    class=0x028000 rev=0x02 hdr=0x00 vendor=0x14c3
device=0x0616 subvendor=0x14c3 subdevice=0x223c
    vendor     = 'MEDIATEK Corp.'
    device     = 'MT7922 802.11ax PCI Express Wireless Network Adapter'
    class      = network
    bar   [10] = type Prefetchable Memory, range 64, base
0x7f30800000, size 1048576, enabled
    bar   [18] = type Memory, range 64, base 0x60900000, size 32768, enabled
    cap 10[80] = PCI-Express 2 endpoint max data 128(128) FLR RO NS
                 max read 512
                 link x1(x1) speed 5.0(5.0) ASPM L1(L0s/L1) ClockPM enabled
    cap 05[e0] = MSI supports 32 messages, 64 bit, vector masks
    cap 01[f8] = powerspec 3  supports D0 D3  current D0
    ecap 000b[100] = Vendor [1] ID 1556 Rev 1 Length 8
    ecap 0018[108] = LTR 1
    ecap 001e[110] = L1 PM Substates 1
    ecap 0001[200] = AER 2 0 fatal 0 non-fatal 1 corrected
  PCI-e errors = Correctable Error Detected
                 Unsupported Request Detected
     Corrected = Advisory Non-Fatal Error

There's also this message in /var/log/messages, which appears to be
happening when pptdevs is enabled.

kernel: pci0:1:0:0: Transactions pending after FLR!
-- 
Thanks
Peter