On Wed, Sep 16, 2020 at 02:03:21PM -0500, Scott Cheloha wrote:
> Yesterday I enabled witness(4) to debug something unrelated and
> started seeing traces during boot.
> 
> My kernel is up-to-date as of yesterday night.  My inteldrm firmware
> is also up-to-date.
> 
> The traces appear during every cold boot.  Here is the most recent set
> from my last reboot, plucked from the dmesg:

linux style SINGLE_DEPTH_NESTING annotations do not map cleanly
to witness.

All the drm witness traces never seem to be helpful but there
is no way to indicate that people should not report them.

> 
> root on sd0a (847a92f1384e1964.a) swap on sd0b dump on sd0b
> witness: lock order reversal:
>  1st 0xfffffd844b4aad98 i915_active (&ref->mutex)
>  2nd 0xffff80000026ff10 vmlk (&vm->mutex)
> lock order "&vm->mutex"(rwlock) -> "&ref->mutex"(rwlock) first seen at:
> #0  witness_checkorder+0x466
> #1  rw_enter+0x67
> #2  i915_active_acquire+0x47
> #3  i915_vma_pin+0x2c4
> #4  i915_ggtt_pin+0x62
> #5  intel_gt_init+0xb9
> #6  i915_gem_init+0xa3
> #7  i915_driver_probe+0x821
> #8  inteldrm_attachhook+0x45
> #9  config_process_deferred_mountroot+0x6b
> #10 main+0x723
> lock order "&ref->mutex"(rwlock) -> "&vm->mutex"(rwlock) first seen at:
> #0  witness_checkorder+0x466
> #1  rw_enter+0x67
> #2  i915_vma_pin+0x250
> #3  i915_ggtt_pin+0x62
> #4  intel_ring_pin+0x65
> #5  __intel_context_active+0x33
> #6  i915_active_acquire+0x85
> #7  __intel_context_do_pin+0x3b
> #8  intel_engines_init+0x4e1
> #9  intel_gt_init+0x130
> #10 i915_gem_init+0xa3
> #11 i915_driver_probe+0x821
> #12 inteldrm_attachhook+0x45
> #13 config_process_deferred_mountroot+0x6b
> #14 main+0x723
> witness: acquiring duplicate lock of same type: "&ref->mutex"
>  1st i915_active
>  2nd i915_active
> Starting stack trace...
> witness_checkorder(ffff800000eb23c8,9,0) at witness_checkorder+0x809
> rw_enter(ffff800000eb23b8,11) at rw_enter+0x67
> i915_active_acquire(ffff800000eb23b0) at i915_active_acquire+0x47
> __intel_context_active(fffffd844b4aad80) at __intel_context_active+0x4d
> i915_active_acquire(fffffd844b4aad80) at i915_active_acquire+0x85
> __intel_context_do_pin(fffffd844b4aacb0) at __intel_context_do_pin+0x3b
> intel_engines_init(ffff800000272060) at intel_engines_init+0x4e1
> intel_gt_init(ffff800000272060) at intel_gt_init+0x130
> i915_gem_init(ffff80000026d000) at i915_gem_init+0xa3
> i915_driver_probe(ffff80000026d000,ffffffff82029be8) at 
> i915_driver_probe+0x821
> inteldrm_attachhook(ffff80000026d000) at inteldrm_attachhook+0x45
> config_process_deferred_mountroot() at config_process_deferred_mountroot+0x6b
> main(0) at main+0x723
> end trace frame: 0x0, count: 244
> End of stack trace.
> inteldrm0: 2560x1440, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> iwm0: hw rev 0x230, fw ver 34.0.1, address 98:3b:8f:ef:6b:ef
> witness: acquiring duplicate lock of same type: "&wf->mutex"
>  1st wakeref.mutex
>  2nd wakeref.mutex
> Starting stack trace...
> witness_checkorder(ffff800000272500,9,0) at witness_checkorder+0x809
> rw_enter_write(ffff8000002724f0) at rw_enter_write+0x43
> __intel_wakeref_get_first(ffff8000002724e8) at __intel_wakeref_get_first+0x28
> __engine_unpark(ffff80000086c180) at __engine_unpark+0x46
> __intel_wakeref_get_first(ffff80000086c180) at __intel_wakeref_get_first+0x4a
> i915_active_acquire_preallocate_barrier(fffffd83d3bf5d88,ffff80000086c000) at 
> i915_active_acquire_preallocate_barrier+0xa8
> __intel_context_do_pin(fffffd83d3bf5cb8) at __intel_context_do_pin+0xa6
> i915_gem_do_execbuffer(ffff80000026d078,ffff800001364000,ffff8000451ff000,ffff80000135a800,0)
>  at i915_gem_do_execbuffer+0x288f
> i915_gem_execbuffer2_ioctl(ffff80000026d078,ffff8000451ff000,ffff800001364000)
>  at i915_gem_execbuffer2_ioctl+0x1da
> drm_do_ioctl(ffff80000026d078,100,80406469,ffff8000451ff000) at 
> drm_do_ioctl+0x274
> drmioctl(15700,80406469,ffff8000451ff000,3,ffff8000452c2f98) at drmioctl+0xdc
> VOP_IOCTL(fffffd83d1e435c8,80406469,ffff8000451ff000,3,fffffd8450fa8480,ffff8000452c2f98)
>  at VOP_IOCTL+0x55
> vn_ioctl(fffffd83d22725f8,80406469,ffff8000451ff000,ffff8000452c2f98) at 
> vn_ioctl+0x75
> sys_ioctl(ffff8000452c2f98,ffff8000451ff110,ffff8000451ff170) at 
> sys_ioctl+0x2d4
> syscall(ffff8000451ff1e0) at syscall+0x389
> Xsyscall() at Xsyscall+0x128
> end of kernel
> end trace frame: 0x7f7ffffca3a0, count: 241
> End of stack trace.
> witness: acquiring duplicate lock of same type: "&rq->lock"
>  1st &rq->lock
>  2nd &rq->lock
> Starting stack trace...
> witness_checkorder(ffff80000147a628,9,0) at witness_checkorder+0x809
> mtx_enter(ffff80000147a618) at mtx_enter+0x3c
> i915_active_ref(ffff8000014a2bf0,ffff800001477000,ffff80000147a2e8) at 
> i915_active_ref+0x1fd
> i915_vma_move_to_active(ffff8000014a2af8,ffff80000147a2e8,80000018) at 
> i915_vma_move_to_active+0x5c
> i915_gem_do_execbuffer(ffff80000026d078,ffff800001364000,ffff8000451ff000,ffff800001483000,0)
>  at i915_gem_do_execbuffer+0x323a
> i915_gem_execbuffer2_ioctl(ffff80000026d078,ffff8000451ff000,ffff800001364000)
>  at i915_gem_execbuffer2_ioctl+0x1da
> drm_do_ioctl(ffff80000026d078,100,80406469,ffff8000451ff000) at 
> drm_do_ioctl+0x274
> drmioctl(15700,80406469,ffff8000451ff000,3,ffff8000452c2f98) at drmioctl+0xdc
> VOP_IOCTL(fffffd83d1e435c8,80406469,ffff8000451ff000,3,fffffd8450fa8480,ffff8000452c2f98)
>  at VOP_IOCTL+0x55
> vn_ioctl(fffffd83d22725f8,80406469,ffff8000451ff000,ffff8000452c2f98) at 
> vn_ioctl+0x75
> sys_ioctl(ffff8000452c2f98,ffff8000451ff110,ffff8000451ff170) at 
> sys_ioctl+0x2d4
> syscall(ffff8000451ff1e0) at syscall+0x389
> Xsyscall() at Xsyscall+0x128
> end of kernel
> end trace frame: 0x7f7ffffca190, count: 244
> End of stack trace.
> 
> Here's my full dmesg, traces and all:
> 
> OpenBSD 6.8-beta (GENERIC.MP) #145: Wed Sep 16 13:36:34 CDT 2020
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 16895528960 (16112MB)
> avail mem = 16238313472 (15486MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x9f03b000 (63 entries)
> bios0: vendor LENOVO version "N23ET59W (1.34 )" date 11/08/2018
> bios0: LENOVO 20KHCTO1WW
> acpi0 at bios0: ACPI 5.0
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP SSDT SSDT TPM2 UEFI SSDT SSDT HPET APIC MCFG ECDT 
> SSDT SSDT BOOT BATB SSDT SSDT SSDT LPIT WSMT SSDT SSDT SSDT DBGP DBG2 MSDM 
> DMAR NHLT ASF! FPDT UEFI
> acpi0: wakeup devices GLAN(S4) XHC_(S3) XDCI(S4) HDAS(S4) RP01(S4) PXSX(S4) 
> RP02(S4) PXSX(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4) RP06(S4) 
> PXSX(S4) RP07(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 23999999 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1796.65 MHz, 06-8e-0a
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 24MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1795.82 MHz, 06-8e-0a
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 4 (application processor)
> cpu2: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1795.84 MHz, 06-8e-0a
> cpu2: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 2, package 0
> cpu3 at mainbus0: apid 6 (application processor)
> cpu3: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1795.82 MHz, 06-8e-0a
> cpu3: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 0, core 3, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf0000000, bus 0-127
> acpiec0 at acpi0
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus 2 (RP01)
> acpiprt2 at acpi0: bus -1 (RP02)
> acpiprt3 at acpi0: bus -1 (RP03)
> acpiprt4 at acpi0: bus -1 (RP04)
> acpiprt5 at acpi0: bus 4 (RP05)
> acpiprt6 at acpi0: bus -1 (RP06)
> acpiprt7 at acpi0: bus -1 (RP07)
> acpiprt8 at acpi0: bus -1 (RP08)
> acpiprt9 at acpi0: bus -1 (RP09)
> acpiprt10 at acpi0: bus -1 (RP10)
> acpiprt11 at acpi0: bus -1 (RP11)
> acpiprt12 at acpi0: bus -1 (RP12)
> acpiprt13 at acpi0: bus -1 (RP13)
> acpiprt14 at acpi0: bus -1 (RP14)
> acpiprt15 at acpi0: bus -1 (RP15)
> acpiprt16 at acpi0: bus -1 (RP16)
> acpiprt17 at acpi0: bus -1 (RP17)
> acpiprt18 at acpi0: bus -1 (RP18)
> acpiprt19 at acpi0: bus -1 (RP19)
> acpiprt20 at acpi0: bus -1 (RP20)
> acpiprt21 at acpi0: bus -1 (RP21)
> acpiprt22 at acpi0: bus -1 (RP22)
> acpiprt23 at acpi0: bus -1 (RP23)
> acpiprt24 at acpi0: bus -1 (RP24)
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
>      0x7f - 0xff
> extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0
>      0xcf8 - 0xcff
>      0x10000 - 0xffffffff
> extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0
>      0x0 - 0x9ffff
>      0xc0000 - 0xac7fffff
>      0xf0000000 - 0xfcffffff
>      0xfe800000 - 0x1fffffffff
>      0x3000000000 - 0xffffffffffffffff
> acpithinkpad0 at acpi0: version 2.0
> acpiac0 at acpi0: AC unit online
> acpibat0 at acpi0: BAT0 model "01AV430" serial  3080 type LiP oem "SMP"
> "LEN0100" at acpi0 not configured
> "INT3403" at acpi0 not configured
> acpicmos0 at acpi0
> "ALPS0000" at acpi0 not configured
> "INT0E0C" at acpi0 not configured
> acpibtn0 at acpi0: SLPB
> "PNP0C14" at acpi0 not configured
> acpibtn1 at acpi0: LID_
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT3400" at acpi0 not configured
> "STM7304" at acpi0 not configured
> acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu3 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpipwrres0 at acpi0: PUBS, resource for XHC_
> acpitz0 at acpi0: critical temperature is 128 degC
> acpivideo0 at acpi0: GFX0
> acpivout0 at acpivideo0: DD1F
> cpu0: using VERW MDS workaround (except on vmm entry)
> cpu0: Enhanced SpeedStep 1796 MHz: speeds: 2101, 2100, 1900, 1800, 1700, 
> 1600, 1500, 1400, 1200, 1100, 1000, 800, 700, 600, 500, 400 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 8G Host" rev 0x08
> inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics 620" rev 0x07
> drm0 at inteldrm0
> inteldrm0: msi, KABYLAKE, gen 9
> "Intel Core 6G Thermal" rev 0x08 at pci0 dev 4 function 0 not configured
> "Intel Core GMM" rev 0x00 at pci0 dev 8 function 0 not configured
> xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI" rev 0x21: msi, xHCI 
> 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 
> addr 1
> pchtemp0 at pci0 dev 20 function 2 "Intel 100 Series Thermal" rev 0x21
> "Intel 100 Series MEI" rev 0x21 at pci0 dev 22 function 0 not configured
> ppb0 at pci0 dev 28 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
> pci1 at ppb0 bus 2
> iwm0 at pci1 dev 0 function 0 "Intel Dual Band Wireless-AC 8265" rev 0x78, msi
> ppb1 at pci0 dev 28 function 4 "Intel 100 Series PCIE" rev 0xf1: msi
> pci2 at ppb1 bus 4
> nvme0 at pci2 dev 0 function 0 "Samsung SM981/PM981 NVMe" rev 0x00: msix, 
> NVMe 1.2
> nvme0: SAMSUNG MZVLB1T0HALR-000L7, firmware 4L2QEXA7, serial S3TPNX0K919907
> scsibus1 at nvme0: 2 targets, initiator 0
> sd0 at scsibus1 targ 1 lun 0: <NVMe, SAMSUNG MZVLB1T0, 4L2Q>
> sd0: 976762MB, 512 bytes/sector, 2000409264 sectors
> pcib0 at pci0 dev 31 function 0 "Intel 200 Series LPC" rev 0x21
> "Intel 100 Series PMC" rev 0x21 at pci0 dev 31 function 2 not configured
> azalia0 at pci0 dev 31 function 3 "Intel 200 Series HD Audio" rev 0x21: msi
> azalia0: codecs: Realtek ALC285, Intel/0x280b, using Realtek ALC285
> audio0 at azalia0
> ichiic0 at pci0 dev 31 function 4 "Intel 100 Series SMBus" rev 0x21: apic 2 
> int 16
> iic0 at ichiic0
> em0 at pci0 dev 31 function 6 "Intel I219-LM" rev 0x21: msi, address 
> e8:6a:64:78:68:5f
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> wsmouse1 at pms0 mux 0
> pms0: Synaptics clickpad, firmware 9.16, 0x1e2a1 0x940300 0x33d840 0xf00ba3 
> 0x12e800
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> uvideo0 at uhub0 port 5 configuration 1 interface 0 "SunplusIT Inc Integrated 
> IR Camera" rev 2.01/0.12 addr 2
> video0 at uvideo0
> ugen0 at uhub0 port 7 "Intel Bluetooth" rev 2.00/0.10 addr 3
> uvideo1 at uhub0 port 8 configuration 1 interface 0 "Chicony Electronics 
> Co.,Ltd. Integrated Camera" rev 2.01/0.12 addr 4
> video1 at uvideo1
> ugen1 at uhub0 port 9 "Synaptics product 0x009a" rev 2.00/1.64 addr 5
> umass0 at uhub0 port 15 configuration 1 interface 0 "Generic USB3.0-CRW" rev 
> 3.00/29.08 addr 6
> umass0: using SCSI over Bulk-Only
> scsibus2 at umass0: 2 targets, initiator 0
> sd1 at scsibus2 targ 1 lun 0: <Generic-, SD/MMC CRW, 1.00> removable 
> serial.0bda0328008282014000
> vscsi0 at root
> scsibus3 at vscsi0: 256 targets
> softraid0 at root
> scsibus4 at softraid0: 256 targets
> root on sd0a (847a92f1384e1964.a) swap on sd0b dump on sd0b
> witness: lock order reversal:
>  1st 0xfffffd844b4aad98 i915_active (&ref->mutex)
>  2nd 0xffff80000026ff10 vmlk (&vm->mutex)
> lock order "&vm->mutex"(rwlock) -> "&ref->mutex"(rwlock) first seen at:
> #0  witness_checkorder+0x466
> #1  rw_enter+0x67
> #2  i915_active_acquire+0x47
> #3  i915_vma_pin+0x2c4
> #4  i915_ggtt_pin+0x62
> #5  intel_gt_init+0xb9
> #6  i915_gem_init+0xa3
> #7  i915_driver_probe+0x821
> #8  inteldrm_attachhook+0x45
> #9  config_process_deferred_mountroot+0x6b
> #10 main+0x723
> lock order "&ref->mutex"(rwlock) -> "&vm->mutex"(rwlock) first seen at:
> #0  witness_checkorder+0x466
> #1  rw_enter+0x67
> #2  i915_vma_pin+0x250
> #3  i915_ggtt_pin+0x62
> #4  intel_ring_pin+0x65
> #5  __intel_context_active+0x33
> #6  i915_active_acquire+0x85
> #7  __intel_context_do_pin+0x3b
> #8  intel_engines_init+0x4e1
> #9  intel_gt_init+0x130
> #10 i915_gem_init+0xa3
> #11 i915_driver_probe+0x821
> #12 inteldrm_attachhook+0x45
> #13 config_process_deferred_mountroot+0x6b
> #14 main+0x723
> witness: acquiring duplicate lock of same type: "&ref->mutex"
>  1st i915_active
>  2nd i915_active
> Starting stack trace...
> witness_checkorder(ffff800000eb23c8,9,0) at witness_checkorder+0x809
> rw_enter(ffff800000eb23b8,11) at rw_enter+0x67
> i915_active_acquire(ffff800000eb23b0) at i915_active_acquire+0x47
> __intel_context_active(fffffd844b4aad80) at __intel_context_active+0x4d
> i915_active_acquire(fffffd844b4aad80) at i915_active_acquire+0x85
> __intel_context_do_pin(fffffd844b4aacb0) at __intel_context_do_pin+0x3b
> intel_engines_init(ffff800000272060) at intel_engines_init+0x4e1
> intel_gt_init(ffff800000272060) at intel_gt_init+0x130
> i915_gem_init(ffff80000026d000) at i915_gem_init+0xa3
> i915_driver_probe(ffff80000026d000,ffffffff82029be8) at 
> i915_driver_probe+0x821
> inteldrm_attachhook(ffff80000026d000) at inteldrm_attachhook+0x45
> config_process_deferred_mountroot() at config_process_deferred_mountroot+0x6b
> main(0) at main+0x723
> end trace frame: 0x0, count: 244
> End of stack trace.
> inteldrm0: 2560x1440, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> iwm0: hw rev 0x230, fw ver 34.0.1, address 98:3b:8f:ef:6b:ef
> witness: acquiring duplicate lock of same type: "&wf->mutex"
>  1st wakeref.mutex
>  2nd wakeref.mutex
> Starting stack trace...
> witness_checkorder(ffff800000272500,9,0) at witness_checkorder+0x809
> rw_enter_write(ffff8000002724f0) at rw_enter_write+0x43
> __intel_wakeref_get_first(ffff8000002724e8) at __intel_wakeref_get_first+0x28
> __engine_unpark(ffff80000086c180) at __engine_unpark+0x46
> __intel_wakeref_get_first(ffff80000086c180) at __intel_wakeref_get_first+0x4a
> i915_active_acquire_preallocate_barrier(fffffd83d3bf5d88,ffff80000086c000) at 
> i915_active_acquire_preallocate_barrier+0xa8
> __intel_context_do_pin(fffffd83d3bf5cb8) at __intel_context_do_pin+0xa6
> i915_gem_do_execbuffer(ffff80000026d078,ffff800001364000,ffff8000451ff000,ffff80000135a800,0)
>  at i915_gem_do_execbuffer+0x288f
> i915_gem_execbuffer2_ioctl(ffff80000026d078,ffff8000451ff000,ffff800001364000)
>  at i915_gem_execbuffer2_ioctl+0x1da
> drm_do_ioctl(ffff80000026d078,100,80406469,ffff8000451ff000) at 
> drm_do_ioctl+0x274
> drmioctl(15700,80406469,ffff8000451ff000,3,ffff8000452c2f98) at drmioctl+0xdc
> VOP_IOCTL(fffffd83d1e435c8,80406469,ffff8000451ff000,3,fffffd8450fa8480,ffff8000452c2f98)
>  at VOP_IOCTL+0x55
> vn_ioctl(fffffd83d22725f8,80406469,ffff8000451ff000,ffff8000452c2f98) at 
> vn_ioctl+0x75
> sys_ioctl(ffff8000452c2f98,ffff8000451ff110,ffff8000451ff170) at 
> sys_ioctl+0x2d4
> syscall(ffff8000451ff1e0) at syscall+0x389
> Xsyscall() at Xsyscall+0x128
> end of kernel
> end trace frame: 0x7f7ffffca3a0, count: 241
> End of stack trace.
> witness: acquiring duplicate lock of same type: "&rq->lock"
>  1st &rq->lock
>  2nd &rq->lock
> Starting stack trace...
> witness_checkorder(ffff80000147a628,9,0) at witness_checkorder+0x809
> mtx_enter(ffff80000147a618) at mtx_enter+0x3c
> i915_active_ref(ffff8000014a2bf0,ffff800001477000,ffff80000147a2e8) at 
> i915_active_ref+0x1fd
> i915_vma_move_to_active(ffff8000014a2af8,ffff80000147a2e8,80000018) at 
> i915_vma_move_to_active+0x5c
> i915_gem_do_execbuffer(ffff80000026d078,ffff800001364000,ffff8000451ff000,ffff800001483000,0)
>  at i915_gem_do_execbuffer+0x323a
> i915_gem_execbuffer2_ioctl(ffff80000026d078,ffff8000451ff000,ffff800001364000)
>  at i915_gem_execbuffer2_ioctl+0x1da
> drm_do_ioctl(ffff80000026d078,100,80406469,ffff8000451ff000) at 
> drm_do_ioctl+0x274
> drmioctl(15700,80406469,ffff8000451ff000,3,ffff8000452c2f98) at drmioctl+0xdc
> VOP_IOCTL(fffffd83d1e435c8,80406469,ffff8000451ff000,3,fffffd8450fa8480,ffff8000452c2f98)
>  at VOP_IOCTL+0x55
> vn_ioctl(fffffd83d22725f8,80406469,ffff8000451ff000,ffff8000452c2f98) at 
> vn_ioctl+0x75
> sys_ioctl(ffff8000452c2f98,ffff8000451ff110,ffff8000451ff170) at 
> sys_ioctl+0x2d4
> syscall(ffff8000451ff1e0) at syscall+0x389
> Xsyscall() at Xsyscall+0x128
> end of kernel
> end trace frame: 0x7f7ffffca190, count: 244
> End of stack trace.
> 
> And here's pcidump -v:
> 
> Domain /dev/pci0:
>  0:0:0: Intel Core 8G Host
>       0x0000: Vendor ID: 8086, Product ID: 5914
>       0x0004: Command: 0006, Status: 2090
>       0x0008: Class: 06 Bridge, Subclass: 00 Host,
>               Interface: 00, Revision: 08
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR empty (00000000)
>       0x0014: BAR empty (00000000)
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
>       0x00e0: Capability 0x09: Vendor Specific
>  0:2:0: Intel UHD Graphics 620
>       0x0000: Vendor ID: 8086, Product ID: 5917
>       0x0004: Command: 0007, Status: 0010
>       0x0008: Class: 03 Display, Subclass: 00 VGA,
>               Interface: 00, Revision: 07
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002ffe000000/0x01000000
>       0x0018: BAR mem prefetchable 64bit addr: 0x00000000c0000000/0x20000000
>       0x0020: BAR io addr: 0x0000e000/0x0040
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 00 Max Lat: 00
>       0x0040: Capability 0x09: Vendor Specific
>       0x0070: Capability 0x10: PCI Express
>       0x0100: Enhanced Capability 0x1b: Process Address Space ID
>       0x0200: Enhanced Capability 0x0f: Address Translation Services
>       0x0300: Enhanced Capability 0x13: Page Request Interface
>       0x00ac: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>       0x00d0: Capability 0x01: Power Management
>               State: D0
>  0:4:0: Intel Core 6G Thermal
>       0x0000: Vendor ID: 8086, Product ID: 1903
>       0x0004: Command: 0000, Status: 0090
>       0x0008: Class: 11 DASP, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 08
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff010000/0x00008000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0090: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: no
>       0x00d0: Capability 0x01: Power Management
>               State: D0
>       0x00e0: Capability 0x09: Vendor Specific
>  0:8:0: Intel Core GMM
>       0x0000: Vendor ID: 8086, Product ID: 1911
>       0x0004: Command: 0000, Status: 0010
>       0x0008: Class: 08 System, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 00
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff01f000/0x00001000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0090: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: no
>       0x00dc: Capability 0x01: Power Management
>               State: D0
>       0x00f0: Capability 0x13: PCI Advanced Features
>  0:20:0: Intel 100 Series xHCI
>       0x0000: Vendor ID: 8086, Product ID: 9d2f
>       0x0004: Command: 0006, Status: 0290
>       0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
>               Interface: 30, Revision: 21
>       0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x00000000e0220000/0x00010000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0070: Capability 0x01: Power Management
>               State: D0
>       0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>  0:20:2: Intel 100 Series Thermal
>       0x0000: Vendor ID: 8086, Product ID: 9d31
>       0x0004: Command: 0006, Status: 0010
>       0x0008: Class: 11 DASP, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff01e000/0x00001000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 03 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0050: Capability 0x01: Power Management
>               State: D0
>       0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: no
>  0:22:0: Intel 100 Series MEI
>       0x0000: Vendor ID: 8086, Product ID: 9d3a
>       0x0004: Command: 0004, Status: 0010
>       0x0008: Class: 07 Communications, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff01d000/0x00001000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0050: Capability 0x01: Power Management
>               State: D0
>       0x008c: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: no
>  0:28:0: Intel 100 Series PCIE
>       0x0000: Vendor ID: 8086, Product ID: 9d10
>       0x0004: Command: 0007, Status: 0010
>       0x0008: Class: 06 Bridge, Subclass: 04 PCI,
>               Interface: 00, Revision: f1
>       0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR empty (00000000)
>       0x0014: BAR empty (00000000)
>       0x0018: Primary Bus: 0, Secondary Bus: 2, Subordinate Bus: 2,
>               Secondary Latency Timer: 00
>       0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 2000
>       0x0020: Memory Base: e010, Memory Limit: e010
>       0x0024: Prefetch Memory Base: fff1, Prefetch Memory Limit: 0001
>       0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
>       0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
>       0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
>       0x0038: Expansion ROM Base Address: 00000000
>       0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
>       0x0040: Capability 0x10: PCI Express
>               Link Speed: 2.5 / 8.0 GT/s, Link Width: x1 / x1
>       0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>       0x0140: Enhanced Capability 0x0d: Access Control Services
>       0x0200: Enhanced Capability 0x1e: L1 PM
>       0x0220: Enhanced Capability 0x19: Secondary PCIe Capability
>       0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>       0x0090: Capability 0x0d: PCI-PCI
>       0x00a0: Capability 0x01: Power Management
>               State: D0
>  0:28:4: Intel 100 Series PCIE
>       0x0000: Vendor ID: 8086, Product ID: 9d14
>       0x0004: Command: 0007, Status: 0010
>       0x0008: Class: 06 Bridge, Subclass: 04 PCI,
>               Interface: 00, Revision: f1
>       0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR empty (00000000)
>       0x0014: BAR empty (00000000)
>       0x0018: Primary Bus: 0, Secondary Bus: 4, Subordinate Bus: 4,
>               Secondary Latency Timer: 00
>       0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 2000
>       0x0020: Memory Base: e000, Memory Limit: e000
>       0x0024: Prefetch Memory Base: fff1, Prefetch Memory Limit: 0001
>       0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
>       0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
>       0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
>       0x0038: Expansion ROM Base Address: 00000000
>       0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
>       0x0040: Capability 0x10: PCI Express
>               Link Speed: 5.0 / 8.0 GT/s, Link Width: x4 / x4
>       0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>       0x0140: Enhanced Capability 0x0d: Access Control Services
>       0x0200: Enhanced Capability 0x1e: L1 PM
>       0x0220: Enhanced Capability 0x19: Secondary PCIe Capability
>       0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>       0x0090: Capability 0x0d: PCI-PCI
>       0x00a0: Capability 0x01: Power Management
>               State: D0
>  0:31:0: Intel 200 Series LPC
>       0x0000: Vendor ID: 8086, Product ID: 9d4e
>       0x0004: Command: 0007, Status: 0200
>       0x0008: Class: 06 Bridge, Subclass: 01 ISA,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR empty (00000000)
>       0x0014: BAR empty (00000000)
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
>  0:31:2: Intel 100 Series PMC
>       0x0000: Vendor ID: 8086, Product ID: 9d21
>       0x0004: Command: 0000, Status: 0000
>       0x0008: Class: 05 Memory, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 32bit addr: 0xe0230000/0x00004000
>       0x0014: BAR empty (00000000)
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
>  0:31:3: Intel 200 Series HD Audio
>       0x0000: Vendor ID: 8086, Product ID: 9d71
>       0x0004: Command: 0006, Status: 0010
>       0x0008: Class: 04 (unknown), Subclass: 03 (unknown),
>               Interface: 80, Revision: 21
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff018000/0x00004000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR mem 64bit addr: 0x0000002fff000000/0x00010000
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0050: Capability 0x01: Power Management
>               State: D0
>       0x0060: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>  0:31:4: Intel 100 Series SMBus
>       0x0000: Vendor ID: 8086, Product ID: 9d23
>       0x0004: Command: 0001, Status: 0280
>       0x0008: Class: 0c Serial Bus, Subclass: 05 SMBus,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x0000002fff01c000/0x00000100
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR io addr: 0x0000efa0/0x0020
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>  0:31:6: Intel I219-LM
>       0x0000: Vendor ID: 8086, Product ID: 15d7
>       0x0004: Command: 0006, Status: 0010
>       0x0008: Class: 02 Network, Subclass: 00 Ethernet,
>               Interface: 00, Revision: 21
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 32bit addr: 0xe0200000/0x00020000
>       0x0014: BAR empty (00000000)
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 17aa Product ID: 225c
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x00c8: Capability 0x01: Power Management
>               State: D0
>       0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>       0x00e0: Capability 0x13: PCI Advanced Features
>  2:0:0: Intel Dual Band Wireless-AC 8265
>       0x0000: Vendor ID: 8086, Product ID: 24fd
>       0x0004: Command: 0006, Status: 0010
>       0x0008: Class: 02 Network, Subclass: 80 Miscellaneous,
>               Interface: 00, Revision: 78
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x00000000e0100000/0x00002000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 8086 Product ID: 0010
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x00c8: Capability 0x01: Power Management
>               State: D0
>       0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: yes
>       0x0040: Capability 0x10: PCI Express
>               Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
>       0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>       0x0140: Enhanced Capability 0x03: Device Serial Number
>               Serial Number: 983b8fffffef6bef
>       0x014c: Enhanced Capability 0x18: Latency Tolerance Reporting
>       0x0154: Enhanced Capability 0x1e: L1 PM
>  4:0:0: Samsung SM981/PM981 NVMe
>       0x0000: Vendor ID: 144d, Product ID: a808
>       0x0004: Command: 0006, Status: 0010
>       0x0008: Class: 01 Mass Storage, Subclass: 08 NVM,
>               Interface: 02, Revision: 00
>       0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
>               Cache Line Size: 00
>       0x0010: BAR mem 64bit addr: 0x00000000e0000000/0x00004000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 144d Product ID: a801
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
>       0x0040: Capability 0x01: Power Management
>               State: D0
>       0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
>               Enabled: no
>       0x0070: Capability 0x10: PCI Express
>               Link Speed: 5.0 / 8.0 GT/s, Link Width: x4 / x4
>       0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>       0x0148: Enhanced Capability 0x03: Device Serial Number
>               Serial Number: 0000000000000000
>       0x0158: Enhanced Capability 0x04: Power Budgeting
>       0x0168: Enhanced Capability 0x19: Secondary PCIe Capability
>       0x0188: Enhanced Capability 0x18: Latency Tolerance Reporting
>       0x0190: Enhanced Capability 0x1e: L1 PM
>       0x00b0: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
>               Enabled: yes; table size 33 (BAR 0:12288)
> 
> 

Reply via email to