Lines Matching +full:device +full:- +full:width

106 .Fn pci_find_device "uint16_t vendor" "uint16_t device"
144 .Fn pci_read_config "device_t dev" "int reg" "int width"
158 .Fn pci_write_config "device_t dev" "int reg" "uint32_t val" "int width"
165 .Fa "int width"
172 .Fn pcie_read_config "device_t dev" "int reg" "int width"
176 .Fn pcie_write_config "device_t dev" "int reg" "uint32_t val" "int width"
201 device information,
202 device configuration,
209 space of the device
214 .Fa width
222 space of the device
227 .Fa width
232 function is used to modify the value of a register in the PCI-express
233 capability register set of device
238 .Fa width
251 function is used to read the value of a register in the PCI-express
252 capability register set of device
257 .Fa width
264 to a register in the PCI-express capability register set of device
269 .Fa width
273 Device drivers should only use these functions for functionality that
282 of a PCI device, given its
289 number actually refers to the number of the device on the bus,
297 .Bd -literal -offset indent
305 of a PCI device, given its
313 number actually refers to the number of the device on the bus,
321 of a PCI device, given its
324 .Fa device
327 only returns the first matching device.
328 .Ss Device Information
332 register set for the device
346 If the capability is not found or the device does not support capabilities,
352 register set for the device
374 function is used to locate the first instance of a PCI-express
375 extended capability register set for the device
389 If the extended capability is not found or the device is not a
390 PCI-express device,
395 function is used to locate the next instance of a PCI-express
396 extended capability register set for the device
413 register set for the device
427 If the capability is not found or the device is not a HyperTransport device,
433 register set for the device
449 function walks up the PCI device hierarchy to locate the PCI-express root
459 function is used to read an identifier from a device.
464 .Bl -hang -width ".Dv PCI_ID_RID"
466 Read the routing identifier for the device.
469 This is needed by some interrupt controllers to route MSI and MSI-X interrupts.
474 function is used to fetch a device's Vital Product Data
477 If the device
482 is set to point at a read-only, null-terminated copy of the identifier
487 If the device does not support VPD or does not provide an identifier
495 function is used to fetch the value of a single VPD read-only keyword
496 for the device
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,
508 If the device does not support VPD or does not provide the requested
516 function returns the maximum completion timeout configured for the device
521 device is not a PCI-express device,
533 device to complete.
535 pending flag in the PCI-express device status register.
557 is not a PCI-express device.
558 .Ss Device Configuration
561 function enables PCI bus mastering for the device
574 function enables memory or I/O port address decoding for the device
593 Device drivers should generally not use these routines directly.
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
648 .Bl -hang -width ".Dv PCI_POWERSTATE_UNKNOWN"
650 State in which device is on and running.
654 Class-specific low-power state in which device context may or
659 Class-specific low-power state in which device context may or
668 State in which the device is off and not running.
669 Device context is lost, and power from the device can
672 State of the device is unknown.
677 function is used to transition the device
681 If the device does not support power management capabilities or
695 suspending a device.
699 function is used to advertise that the given device
700 .Pq and associated device driver
701 supports PCI Single-Root I/O Virtualization
702 .Pq SR-IOV .
703 A driver that supports SR-IOV must implement the
712 If this function returns an error, it is recommended that the device driver
713 still successfully attaches, but runs with SR-IOV disabled.
718 parameters are used to define what device-specific configuration parameters the
719 device driver accepts when SR-IOV is enabled for the Physical Function
734 will return an error and SR-IOV will not be available on the PF device.
735 If a driver does not accept configuration parameters for either the PF device
736 or the VF devices, the driver must pass an empty schema for that device.
737 The SR-IOV infrastructure takes ownership of the
748 that allows the name of the associated character device in
756 as the device name.
760 function is used to advise the SR-IOV infrastructure that the driver for the
761 given device is attempting to detach and that all SR-IOV resources for the
762 device must be released.
767 was successfully called on the device and
769 has not subsequently been called on the device and returned no error.
776 previously failed with an error on the given device, or if
778 was never called on the device.
784 functions can be used by a device driver to save and restore standard PCI
788 function must be invoked while the device has valid state before
791 If the device is not in the fully-powered state
796 then the device will be transitioned to
808 is not a PCI-express device or does not support Function Level Resets via
809 the PCI-express device control register,
814 before resetting the device.
826 busmastering is re-enabled and
835 the device is reset despite the timeout.
849 .Pq MSI-X
855 MSI and MSI-X interrupts are available to PCI devices as one or more
858 A driver must ask the PCI bus to allocate MSI or MSI-X interrupts
863 before it can use MSI or MSI-X
868 resource if MSI or MSI-X interrupts have been allocated,
869 and attempts to allocate MSI or MSI-X interrupts will fail if the
873 A driver is only allowed to use either MSI or MSI-X,
879 device
881 If the device does not support MSI,
890 MSI messages for the device
895 reasons including requests for more messages than the device
913 requests to allocate a non-power of two count of messages will fail.
917 function is used to release any allocated MSI or MSI-X messages back
919 If any MSI or MSI-X
931 function returns the maximum number of MSI-X messages supported by the
932 device
934 If the device does not support MSI-X,
943 containing the MSI-X Pending Bit Array (PBA) for device
950 If the device does not support MSI-X,
953 returns -1.
958 containing the MSI-X vector table for device
965 If the device does not support MSI-X,
968 returns -1.
974 MSI-X messages for the device
979 reasons including requests for more messages than the device
982 or if the system has a shortage of available MSI-X messages.
988 For MSI-X messages,
991 resource identifies the index in the MSI-X table of the
993 A resource ID of one maps to the first index of the MSI-X table;
1007 MSI-X does not require message counts that are powers of two.
1009 The BARs containing the MSI-X vector table and PBA must be
1023 device's PBA
1024 to determine the pending status of the MSI-X message at table index
1027 this function returns a non-zero value;
1036 MSI-X messages are initially assigned to the first N table entries.
1056 The array maps directly to the MSI-X table in that the first entry in
1057 the array specifies the message used for the first entry in the MSI-X
1060 MSI-X table,
1063 that no message should be assigned to the corresponding MSI-X table entry,
1070 corresponding MSI-X table entry.
1075 each MSI-X table entry with a non-zero vector will have an associated
1080 MSI-X table entries that with a vector of zero will not have an
1087 are not used in the new distribution of messages in the MSI-X table,
1096 .Ss Device Events
1099 event handler is invoked every time a new PCI device is added to the system.
1100 This includes the creation of Virtual Functions via SR-IOV.
1104 event handler is invoked every time a PCI device is removed from the system.
1108 object of the relevant PCI device as
1123 .Xr device 9 ,
1130 .%U https://docs.freebsd.org/en/books/developers-handbook/
1137 .%I Addison-Wesley
1138 .%O ISBN 0-201-30974-2
1141 .An -nosplit
1150 but to the device number assigned by the combination of the PCI IDSEL
1154 The PCI bus driver should allocate the MSI-X vector table and PBA internally