Page MenuHomeFreeBSD

xhci pci: Add some amd xhci controller device ids
ClosedPublic

Authored by thj on Fri, Jul 11, 11:41 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jul 22, 9:08 AM
Unknown Object (File)
Sun, Jul 20, 7:53 PM
Unknown Object (File)
Sun, Jul 20, 2:19 AM
Unknown Object (File)
Sun, Jul 20, 1:20 AM
Unknown Object (File)
Sun, Jul 20, 12:06 AM
Unknown Object (File)
Thu, Jul 17, 6:42 AM
Unknown Object (File)
Mon, Jul 14, 8:05 AM
Subscribers

Details

Summary

There are lots of controllers in the wild which we don't have a name for an attach as "xhci generic".

These were posted on https://reviews.freebsd.org/D51255, Linux doesn't have strings for them so I've taken the values from pciconf:

xhci0@pci0:10:0:0: class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x1022 device=0x43f7 subvendor=0x1b21 subdevice=0x1142
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = '600 Series Chipset USB 3.2 Controller'
    class      = serial bus
    subclass   = USB

    class      = encrypt/decrypt
xhci1@pci0:13:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b6 subvendor=0x1043 subdevice=0x8877
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raphael/Granite Ridge USB 3.1 xHCI'
    class      = serial bus
    subclass   = USB
xhci2@pci0:13:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b7 subvendor=0x1043 subdevice=0x8877
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raphael/Granite Ridge USB 3.1 xHCI'
    class      = serial bus
    subclass   = USB
xhci3@pci0:14:0:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b8 subvendor=0x1043 subdevice=0x8877
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raphael/Granite Ridge USB 2.0 xHCI'
    class      = serial bus
    subclass   = USB

I don't quite understand the "USB2.0 xHCI" in the final controller, I suspect that means it is a USB 2 bus with an xHCI interface. It does carry xecp and supports debug so I guess it makes sense. It's the only one in the file right now.

I'm not 100% on this, usually I mirror the linux id string in someway, I'm happy to hear the right way to do this.

Test Plan

Hopefully James will have time to smoke test this on his machine.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

thj requested review of this revision.Fri, Jul 11, 11:41 AM
thj created this revision.

LGTM. I am thinking of modify the code to match all devices directly like class == SERIAL && subclass == USB since it makes sense. However, it is unrelated to this patch, please go ahead.

This revision is now accepted and ready to land.Sat, Jul 12, 12:15 AM