Lines Matching +full:index +full:- +full:power +full:- +full:of +full:- +full:two
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
11 .\" notice, this list of conditions and the following disclaimer in the
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
142 .Fn pci_pending_msix "device_t dev" "u_int index"
197 set of functions are used for managing PCI devices.
209 space of the device
215 specifying the size of the access.
222 space of the device
228 specifying the size of the access.
232 function is used to modify the value of a register in the PCI-express
233 capability register set of device
239 specifying the size of the access.
240 The new value of the register is computed by modifying bits set in
247 The previous value of the register is returned.
251 function is used to read the value of a register in the PCI-express
252 capability register set of device
258 specifying the size of the access.
264 to a register in the PCI-express capability register set of device
270 specifying the size of the access.
289 number actually refers to the number of the device on the bus,
291 in terms of a physical slot.
297 .Bd -literal -offset indent
313 number actually refers to the number of the device on the bus,
315 in terms of a physical slot.
331 function is used to locate the first instance of a PCI capability
336 Constant macros of the form
342 is set to the offset in configuration space of the capability register set,
351 function is used to locate the next instance of a PCI capability
370 supports power management.
374 function is used to locate the first instance of a PCI-express
379 Constant macros of the form
385 is set to the offset in configuration space of the extended capability
390 PCI-express device,
395 function is used to locate the next instance of a PCI-express
412 function is used to locate the first instance of a HyperTransport capability
417 Constant macros of the form
423 is set to the offset in configuration space of the capability register set,
432 function is used to locate the next instance of a HyperTransport capability
449 function walks up the PCI device hierarchy to locate the PCI-express root
450 port upstream of
464 .Bl -hang -width ".Dv PCI_ID_RID"
469 This is needed by some interrupt controllers to route MSI and MSI-X interrupts.
482 is set to point at a read-only, null-terminated copy of the identifier
495 function is used to fetch the value of a single VPD read-only keyword
498 The keyword to fetch is identified by the two character string
500 If the device supports VPD and provides a read-only value for the
504 is set to point at a read-only, null-terminated copy of the value,
521 device is not a PCI-express device,
535 pending flag in the PCI-express device status register.
557 is not a PCI-express device.
606 PCI-express device.
609 device is not a PCI-express device,
616 PCI-express device.
619 device is not a PCI-express device,
625 sets the PCI-express maximum read request size for
635 device is not a PCI-express device,
641 function returns the current power state of the device
643 If the device does not support power management capabilities, then the default
644 state of
647 The following power states are defined by PCI:
648 .Bl -hang -width ".Dv PCI_POWERSTATE_UNKNOWN"
651 It is receiving full power from the system and delivering
654 Class-specific low-power state in which device context may or
659 Class-specific low-power state in which device context may or
661 Attains greater power savings than
669 Device context is lost, and power from the device can
674 except power has been removed from the device.
676 State of the device is unknown.
683 to the PCI power state
685 If the device does not support power management capabilities or
686 it does not support the specific power state
694 of power management events.
698 function is used to enable generation of power management events before
705 supports PCI Single-Root I/O Virtualization
706 .Pq SR-IOV .
707 A driver that supports SR-IOV must implement the
717 still successfully attaches, but runs with SR-IOV disabled.
722 parameters are used to define what device-specific configuration parameters the
723 device driver accepts when SR-IOV is enabled for the Physical Function
738 will return an error and SR-IOV will not be available on the PF device.
741 The SR-IOV infrastructure takes ownership of the
750 function is a variant of
752 that allows the name of the associated character device in
758 function uses the name of
764 function is used to advise the SR-IOV infrastructure that the driver for the
765 given device is attempting to detach and that all SR-IOV resources for the
795 If the device is not in the fully-powered state
812 is not a PCI-express device or does not support Function Level Resets via
813 the PCI-express device control register,
830 busmastering is re-enabled and
853 .Pq MSI-X
858 resource with a resource ID of zero.
859 MSI and MSI-X interrupts are available to PCI devices as one or more
862 A driver must ask the PCI bus to allocate MSI or MSI-X interrupts
867 before it can use MSI or MSI-X
872 resource if MSI or MSI-X interrupts have been allocated,
873 and attempts to allocate MSI or MSI-X interrupts will fail if the
877 A driver is only allowed to use either MSI or MSI-X,
882 function returns the maximum number of MSI messages supported by the
902 or if the system has a shortage of available MSI messages.
905 is set to the number of messages allocated and
916 Note that MSI only supports message counts that are powers of two;
917 requests to allocate a non-power of two count of messages will fail.
921 function is used to release any allocated MSI or MSI-X messages back
923 If any MSI or MSI-X
935 function returns the maximum number of MSI-X messages supported by the
938 If the device does not support MSI-X,
945 function returns the offset in configuration space of the Base Address Register
947 containing the MSI-X Pending Bit Array (PBA) for device
954 If the device does not support MSI-X,
957 returns -1.
961 function returns the offset in configuration space of the BAR
962 containing the MSI-X vector table for device
969 If the device does not support MSI-X,
972 returns -1.
978 MSI-X messages for the device
986 or if the system has a shortage of available MSI-X messages.
989 is set to the number of messages allocated and
992 For MSI-X messages,
995 resource identifies the index in the MSI-X table of the
997 A resource ID of one maps to the first index of the MSI-X table;
998 a resource ID two identifies the second index in the table, etc.
1011 MSI-X does not require message counts that are powers of two.
1013 The BARs containing the MSI-X vector table and PBA must be
1028 to determine the pending status of the MSI-X message at table index
1029 .Fa index .
1031 this function returns a non-zero value;
1035 .Fa index
1038 As mentioned in the description of
1040 MSI-X messages are initially assigned to the first N table entries.
1041 A driver may use a different distribution of available messages to
1047 but before any of the
1060 The array maps directly to the MSI-X table in that the first entry in
1061 the array specifies the message used for the first entry in the MSI-X
1064 MSI-X table,
1066 The vector value in each array index can either be zero to indicate
1067 that no message should be assigned to the corresponding MSI-X table entry,
1073 to indicate which of the allocated messages should be assigned to the
1074 corresponding MSI-X table entry.
1079 each MSI-X table entry with a non-zero vector will have an associated
1081 resource whose resource ID corresponds to the table index as described
1084 MSI-X table entries that with a vector of zero will not have an
1089 if any of the original messages allocated by
1091 are not used in the new distribution of messages in the MSI-X table,
1095 the driver must use a single, contiguous range of messages beginning
1104 This includes the creation of Virtual Functions via SR-IOV.
1112 object of the relevant PCI device as
1134 .%U https://docs.freebsd.org/en/books/developers-handbook/
1141 .%I Addison-Wesley
1142 .%O ISBN 0-201-30974-2
1145 .An -nosplit
1151 The kernel PCI code has a number of references to
1153 These do not refer to the geographic location of PCI devices,
1154 but to the device number assigned by the combination of the PCI IDSEL
1156 This should be taken note of when working with the kernel PCI code.
1158 The PCI bus driver should allocate the MSI-X vector table and PBA internally