#include <sys/cdefs.h>
#include <sys/stdint.h>
#include <sys/stddef.h>
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/module.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/condvar.h>
#include <sys/sysctl.h>
#include <sys/sx.h>
#include <sys/unistd.h>
#include <sys/callout.h>
#include <sys/malloc.h>
#include <sys/priv.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usb_core.h>
#include <dev/usb/usb_busdma.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/usb_util.h>
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
#include <dev/usb/usb_pci.h>
#include <dev/usb/controller/ehci.h>
#include <dev/usb/controller/ehcireg.h>
#include "usb_if.h"
Go to the source code of this file.
|
| __FBSDID ("$FreeBSD$") |
|
static const char * | ehci_pci_match (device_t self) |
|
static int | ehci_pci_probe (device_t self) |
|
static void | ehci_pci_ati_quirk (device_t self, uint8_t is_sb700) |
|
static void | ehci_pci_via_quirk (device_t self) |
|
static int | ehci_pci_attach (device_t self) |
|
static int | ehci_pci_detach (device_t self) |
|
static int | ehci_pci_take_controller (device_t self) |
|
| DRIVER_MODULE (ehci, pci, ehci_driver, ehci_devclass, 0, 0) |
|
| MODULE_DEPEND (ehci, usb, 1, 1, 1) |
|
◆ PCI_EHCI_VENDORID_ACERLABS
#define PCI_EHCI_VENDORID_ACERLABS 0x10b9 |
◆ PCI_EHCI_VENDORID_AMD
#define PCI_EHCI_VENDORID_AMD 0x1022 |
◆ PCI_EHCI_VENDORID_APPLE
#define PCI_EHCI_VENDORID_APPLE 0x106b |
◆ PCI_EHCI_VENDORID_ATI
#define PCI_EHCI_VENDORID_ATI 0x1002 |
◆ PCI_EHCI_VENDORID_CMDTECH
#define PCI_EHCI_VENDORID_CMDTECH 0x1095 |
◆ PCI_EHCI_VENDORID_HYGON
#define PCI_EHCI_VENDORID_HYGON 0x1d94 |
◆ PCI_EHCI_VENDORID_INTEL
#define PCI_EHCI_VENDORID_INTEL 0x8086 |
◆ PCI_EHCI_VENDORID_NEC
#define PCI_EHCI_VENDORID_NEC 0x1033 |
◆ PCI_EHCI_VENDORID_NVIDIA
#define PCI_EHCI_VENDORID_NVIDIA 0x12D2 |
◆ PCI_EHCI_VENDORID_NVIDIA2
#define PCI_EHCI_VENDORID_NVIDIA2 0x10DE |
◆ PCI_EHCI_VENDORID_OPTI
#define PCI_EHCI_VENDORID_OPTI 0x1045 |
◆ PCI_EHCI_VENDORID_PHILIPS
#define PCI_EHCI_VENDORID_PHILIPS 0x1131 |
◆ PCI_EHCI_VENDORID_SIS
#define PCI_EHCI_VENDORID_SIS 0x1039 |
◆ PCI_EHCI_VENDORID_VIA
#define PCI_EHCI_VENDORID_VIA 0x1106 |
◆ __FBSDID()
◆ DRIVER_MODULE()
◆ ehci_pci_ati_quirk()
static void ehci_pci_ati_quirk |
( |
device_t |
self, |
|
|
uint8_t |
is_sb700 |
|
) |
| |
|
static |
◆ ehci_pci_attach()
static int ehci_pci_attach |
( |
device_t |
self | ) |
|
|
static |
Definition at line 295 of file ehci_pci.c.
References usb_bus::bdev, usb_bus::devices, usb_bus::devices_max, usb_bus::dma_bits, ehci_init(), ehci_interrupt(), ehci_iterate_hw_softc, EHCI_MAX_DEVICES, ehci_pci_ati_quirk(), ehci_pci_detach, ehci_pci_match(), ehci_pci_take_controller, ehci_pci_via_quirk(), EHCI_SCFLG_IAADBUG, EHCI_SCFLG_LOSTINTRBUG, error, usb_bus::parent, PCI_CBMEM, PCI_EHCI_VENDORID_ACERLABS, PCI_EHCI_VENDORID_AMD, PCI_EHCI_VENDORID_APPLE, PCI_EHCI_VENDORID_ATI, PCI_EHCI_VENDORID_CMDTECH, PCI_EHCI_VENDORID_HYGON, PCI_EHCI_VENDORID_INTEL, PCI_EHCI_VENDORID_NEC, PCI_EHCI_VENDORID_NVIDIA, PCI_EHCI_VENDORID_NVIDIA2, PCI_EHCI_VENDORID_OPTI, PCI_EHCI_VENDORID_PHILIPS, PCI_EHCI_VENDORID_SIS, PCI_EHCI_VENDORID_VIA, PCI_USB_REV_1_0, PCI_USB_REV_1_1, PCI_USB_REV_2_0, PCI_USB_REV_MASK, PCI_USB_REV_PRE_1_0, PCI_USBREV, rid, ehci_softc::sc_bus, ehci_softc::sc_devices, ehci_softc::sc_flags, ehci_softc::sc_intr_hdl, ehci_softc::sc_io_hdl, ehci_softc::sc_io_res, ehci_softc::sc_io_size, ehci_softc::sc_io_tag, ehci_softc::sc_irq_res, ehci_softc::sc_vendor, usb_bus_mem_alloc_all(), and USB_GET_DMA_TAG.
◆ ehci_pci_detach()
static int ehci_pci_detach |
( |
device_t |
self | ) |
|
|
static |
◆ ehci_pci_match()
static const char * ehci_pci_match |
( |
device_t |
self | ) |
|
|
static |
◆ ehci_pci_probe()
static int ehci_pci_probe |
( |
device_t |
self | ) |
|
|
static |
◆ ehci_pci_take_controller()
static int ehci_pci_take_controller |
( |
device_t |
self | ) |
|
|
static |
Definition at line 532 of file ehci_pci.c.
References usb_bus::bdev, EHCI_EC_LEGSUP, EHCI_EECP_ID, EHCI_EECP_NEXT, EHCI_HCC_EECP, EHCI_HCCPARAMS, EHCI_LEGSUP_BIOS_SEM, EHCI_LEGSUP_OS_SEM, EREAD4, ehci_softc::sc_bus, and usb_pause_mtx().
◆ ehci_pci_via_quirk()
static void ehci_pci_via_quirk |
( |
device_t |
self | ) |
|
|
static |
◆ MODULE_DEPEND()
MODULE_DEPEND |
( |
ehci |
, |
|
|
usb |
, |
|
|
1 |
, |
|
|
1 |
, |
|
|
1 |
|
|
) |
| |
◆ ehci_devclass
◆ ehci_driver
Initial value:= {
.name = "ehci",
}
static device_method_t ehci_pci_methods[]
Definition at line 590 of file ehci_pci.c.
◆ ehci_pci_attach
device_attach_t ehci_pci_attach |
|
static |
◆ ehci_pci_detach
device_detach_t ehci_pci_detach |
|
static |
◆ ehci_pci_methods
device_method_t ehci_pci_methods[] |
|
static |
Initial value:= {
DEVMETHOD(device_suspend, bus_generic_suspend),
DEVMETHOD(device_resume, bus_generic_resume),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD_END
}
static device_attach_t ehci_pci_attach
static device_detach_t ehci_pci_detach
static device_probe_t ehci_pci_probe
static usb_take_controller_t ehci_pci_take_controller
Definition at line 577 of file ehci_pci.c.
◆ ehci_pci_probe
device_probe_t ehci_pci_probe |
|
static |
◆ ehci_pci_take_controller
usb_take_controller_t ehci_pci_take_controller |
|
static |