git: d9addaa0ba45 - stable/13 - Add new USB host controller PCI ID's.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 24 Feb 2022 10:04:17 UTC
The branch stable/13 has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=d9addaa0ba450aad9ed40371059cbea0d10d3d2e commit d9addaa0ba450aad9ed40371059cbea0d10d3d2e Author: Hans Petter Selasky <hselasky@FreeBSD.org> AuthorDate: 2022-02-24 09:58:16 +0000 Commit: Hans Petter Selasky <hselasky@FreeBSD.org> CommitDate: 2022-02-24 09:58:16 +0000 Add new USB host controller PCI ID's. Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Sponsored by: NVIDIA Networking (cherry picked from commit 42cf33dd1a8d6ff2548c8a7fb267879734ddfde3) --- sys/dev/usb/controller/ehci_pci.c | 2 ++ sys/dev/usb/controller/xhci_pci.c | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/controller/ehci_pci.c b/sys/dev/usb/controller/ehci_pci.c index 7783c157046f..dbc2def5b8d2 100644 --- a/sys/dev/usb/controller/ehci_pci.c +++ b/sys/dev/usb/controller/ehci_pci.c @@ -117,6 +117,8 @@ ehci_pci_match(device_t self) return ("AMD CS5536 (Geode) USB 2.0 controller"); case 0x78081022: return ("AMD FCH USB 2.0 controller"); + case 0x79081022: + return ("AMD FCH USB 2.0 controller"); case 0x43451002: return "ATI SB200 USB 2.0 controller"; diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c index f1c567ac6ded..b5d327ad6cd7 100644 --- a/sys/dev/usb/controller/xhci_pci.c +++ b/sys/dev/usb/controller/xhci_pci.c @@ -62,6 +62,9 @@ __FBSDID("$FreeBSD$"); #include <dev/usb/controller/xhcireg.h> #include "usb_if.h" +#define PCI_XHCI_VENDORID_AMD 0x1022 +#define PCI_XHCI_VENDORID_INTEL 0x8086 + static device_probe_t xhci_pci_probe; static device_detach_t xhci_pci_detach; static usb_take_controller_t xhci_pci_take_controller; @@ -102,6 +105,8 @@ xhci_pci_match(device_t self) return ("AMD 300 Series USB 3.0 controller"); case 0x78141022: return ("AMD FCH USB 3.0 controller"); + case 0x79141022: + return ("AMD FCH USB 3.0 controller"); case 0x145f1d94: return ("Hygon USB 3.0 controller"); @@ -358,7 +363,21 @@ xhci_pci_attach(device_t self) } device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); - sprintf(sc->sc_vendor, "0x%04x", pci_get_vendor(self)); + switch (pci_get_vendor(self)) { + case PCI_XHCI_VENDORID_AMD: + strlcpy(sc->sc_vendor, "AMD", sizeof(sc->sc_vendor)); + break; + case PCI_XHCI_VENDORID_INTEL: + strlcpy(sc->sc_vendor, "Intel", sizeof(sc->sc_vendor)); + break; + default: + if (bootverbose) + device_printf(self, "(New XHCI DeviceId=0x%08x)\n", + pci_get_devid(self)); + snprintf(sc->sc_vendor, sizeof(sc->sc_vendor), + "(0x%04x)", pci_get_vendor(self)); + break; + } if (sc->sc_irq_res != NULL) { err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,