Lines Matching full:driver
1 The PCI Express Port Bus Driver Guide HOWTO
7 This guide describes the basics of the PCI Express Port Bus driver
9 register/unregister with the PCI Express Port Bus Driver.
13 3. What is the PCI Express Port Bus Driver
30 be handled by a single complex driver or be individually distributed
33 4. Why use the PCI Express Port Bus Driver?
35 In existing Linux kernels, the Linux Device Driver Model allows a
36 physical device to be handled by only a single driver. The PCI
39 may have its own software service driver. In this case several
42 driver is loaded first, it claims a PCI-PCI Bridge Root Port. The
46 using the current driver model.
49 having a PCI Express Port Bus driver, which manages all populated
52 advantages of using the PCI Express Port Bus driver are listed below:
60 - Allow one service driver to run on multiple PCI-PCI Bridge
66 5. Configuring the PCI Express Port Bus Driver vs. Service Drivers
68 5.1 Including the PCI Express Port Bus Driver Support into the Kernel
70 Including the PCI Express Port Bus driver depends on whether the PCI
72 automatically include the PCI Express Port Bus driver as a kernel
73 driver when the PCI Express support is enabled in the kernel.
75 5.2 Enabling Service Driver Support
77 PCI device drivers are implemented based on Linux Device Driver Model.
79 impossible to load any service driver once the kernel has loaded the
80 PCI Express Port Bus Driver. To meet the PCI Express Port Bus Driver
84 A service driver is required to use the two APIs shown below to
85 register its service with the PCI Express Port Bus driver (see
86 section 5.2.1 & 5.2.2). It is important that a service driver
90 the PCI Express Port Bus driver from loading a service driver.
96 This API replaces the Linux Driver Model's pci_register_driver API. A
97 service driver should always calls pcie_port_service_register at
98 module init. Note that after service driver being loaded, calls
100 necessary since these calls are executed by the PCI Port Bus driver.
106 pcie_port_service_unregister replaces the Linux Driver Model's
107 pci_unregister_driver. It's always called by service driver when a
112 Below is sample service driver code to initialize the port service
113 driver data structure.
135 driver.
166 The MSI capability structure enables a device software driver to call
168 are enabled on a device, it stays in this mode until a device driver
171 port share the same physical device, if an individual service driver
175 request MSI based interrupts. A service driver may not know whether
177 of them calls pci_disable_msi, it puts the other service driver
181 switch interrupt mode on its device. The PCI Express Port Bus driver
185 is passed in when the PCI Express Port Bus driver probes each service
186 driver. Service drivers should use (struct pcie_device*)dev->irq to
192 Similar to the MSI a device driver for an MSI-X capable device can
195 Express Port Bus driver is responsible for determining the interrupt
197 by service driver to call pci_enable_msix/pci_disable_msix may
208 other service driver's configuration settings.
212 Each service driver runs its PCI config operations on its own
216 will be well behaved and not overwrite other service driver's