Lines Matching +full:on +full:- +full:device
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
99 .Fn pci_find_device "uint16_t vendor" "uint16_t device"
192 device information,
193 device configuration,
200 space of the device
213 space of the device
223 function is used to modify the value of a register in the PCI-express
224 capability register set of device
242 function is used to read the value of a register in the PCI-express
243 capability register set of device
255 to a register in the PCI-express capability register set of device
264 Device drivers should only use these functions for functionality that
273 of a PCI device, given its
280 number actually refers to the number of the device on the bus,
288 .Bd -literal -offset indent
296 of a PCI device, given its
304 number actually refers to the number of the device on the bus,
312 of a PCI device, given its
315 .Fa device
318 only returns the first matching device.
319 .Ss Device Information
323 register set for the device
337 If the capability is not found or the device does not support capabilities,
343 register set for the device
359 function is used to locate the first instance of a PCI-express
360 extended capability register set for the device
374 If the extended capability is not found or the device is not a
375 PCI-express device,
380 function is used to locate the next instance of a PCI-express
381 extended capability register set for the device
398 register set for the device
412 If the capability is not found or the device is not a HyperTransport device,
418 register set for the device
434 function walks up the PCI device hierarchy to locate the PCI-express root
444 function is used to read an identifier from a device.
449 .Bl -hang -width ".Dv PCI_ID_RID"
451 Read the routing identifier for the device.
454 This is needed by some interrupt controllers to route MSI and MSI-X interrupts.
459 function is used to fetch a device's Vital Product Data
462 If the device
467 is set to point at a read-only, null-terminated copy of the identifier
472 If the device does not support VPD or does not provide an identifier
480 function is used to fetch the value of a single VPD read-only keyword
481 for the device
485 If the device supports VPD and provides a read-only value for the
489 is set to point at a read-only, null-terminated copy of the value,
493 If the device does not support VPD or does not provide the requested
501 function returns the maximum completion timeout configured for the device
506 device is not a PCI-express device,
518 device to complete.
520 pending flag in the PCI-express device status register.
542 is not a PCI-express device.
543 .Ss Device Configuration
546 function enables PCI bus mastering for the device
559 function enables memory or I/O port address decoding for the device
578 Device drivers should generally not use these routines directly.
591 PCI-express device.
594 device is not a PCI-express device,
601 PCI-express device.
604 device is not a PCI-express device,
610 sets the PCI-express maximum read request size for
620 device is not a PCI-express device,
626 function returns the current power state of the device
628 If the device does not support power management capabilities, then the default
633 .Bl -hang -width ".Dv PCI_POWERSTATE_UNKNOWN"
635 State in which device is on and running.
639 Class-specific low-power state in which device context may or
644 Class-specific low-power state in which device context may or
653 State in which the device is off and not running.
654 Device context is lost, and power from the device can
657 State of the device is unknown.
662 function is used to transition the device
666 If the device does not support power management capabilities or
674 function is used to advertise that the given device
675 .Pq and associated device driver
676 supports PCI Single-Root I/O Virtualization
677 .Pq SR-IOV .
678 A driver that supports SR-IOV must implement the
687 If this function returns an error, it is recommended that the device driver
688 still successfully attaches, but runs with SR-IOV disabled.
693 parameters are used to define what device-specific configuration parameters the
694 device driver accepts when SR-IOV is enabled for the Physical Function
701 for details on how to construct the schema.
709 will return an error and SR-IOV will not be available on the PF device.
710 If a driver does not accept configuration parameters for either the PF device
711 or the VF devices, the driver must pass an empty schema for that device.
712 The SR-IOV infrastructure takes ownership of the
723 that allows the name of the associated character device in
731 as the device name.
735 function is used to advise the SR-IOV infrastructure that the driver for the
736 given device is attempting to detach and that all SR-IOV resources for the
737 device must be released.
742 was successfully called on the device and
744 has not subsequently been called on the device and returned no error.
751 previously failed with an error on the given device, or if
753 was never called on the device.
759 functions can be used by a device driver to save and restore standard PCI
763 function must be invoked while the device has valid state before
766 If the device is not in the fully-powered state
771 then the device will be transitioned to
783 is not a PCI-express device or does not support Function Level Resets via
784 the PCI-express device control register,
789 before resetting the device.
801 busmastering is re-enabled and
810 the device is reset despite the timeout.
824 .Pq MSI-X
830 MSI and MSI-X interrupts are available to PCI devices as one or more
833 A driver must ask the PCI bus to allocate MSI or MSI-X interrupts
838 before it can use MSI or MSI-X
843 resource if MSI or MSI-X interrupts have been allocated,
844 and attempts to allocate MSI or MSI-X interrupts will fail if the
848 A driver is only allowed to use either MSI or MSI-X,
854 device
856 If the device does not support MSI,
865 MSI messages for the device
870 reasons including requests for more messages than the device
888 requests to allocate a non-power of two count of messages will fail.
892 function is used to release any allocated MSI or MSI-X messages back
894 If any MSI or MSI-X
902 function returns zero on success and an error on failure.
906 function returns the maximum number of MSI-X messages supported by the
907 device
909 If the device does not support MSI-X,
918 containing the MSI-X Pending Bit Array (PBA) for device
925 If the device does not support MSI-X,
928 returns -1.
933 containing the MSI-X vector table for device
940 If the device does not support MSI-X,
943 returns -1.
949 MSI-X messages for the device
954 reasons including requests for more messages than the device
957 or if the system has a shortage of available MSI-X messages.
963 For MSI-X messages,
966 resource identifies the index in the MSI-X table of the
968 A resource ID of one maps to the first index of the MSI-X table;
982 MSI-X does not require message counts that are powers of two.
984 The BARs containing the MSI-X vector table and PBA must be
998 device's PBA
999 to determine the pending status of the MSI-X message at table index
1002 this function returns a non-zero value;
1011 MSI-X messages are initially assigned to the first N table entries.
1023 function returns zero on success,
1024 or an error on failure.
1031 The array maps directly to the MSI-X table in that the first entry in
1032 the array specifies the message used for the first entry in the MSI-X
1035 MSI-X table,
1038 that no message should be assigned to the corresponding MSI-X table entry,
1045 corresponding MSI-X table entry.
1050 each MSI-X table entry with a non-zero vector will have an associated
1055 MSI-X table entries that with a vector of zero will not have an
1062 are not used in the new distribution of messages in the MSI-X table,
1071 .Ss Device Events
1074 event handler is invoked every time a new PCI device is added to the system.
1075 This includes the creation of Virtual Functions via SR-IOV.
1079 event handler is invoked every time a PCI device is removed from the system.
1083 object of the relevant PCI device as
1098 .Xr device 9 ,
1105 .%U https://docs.freebsd.org/en/books/developers-handbook/
1112 .%I Addison-Wesley
1113 .%O ISBN 0-201-30974-2
1116 .An -nosplit
1125 but to the device number assigned by the combination of the PCI IDSEL
1129 The PCI bus driver should allocate the MSI-X vector table and PBA internally