pciio_get(D3)
pciio_get: pciio_intr_dev_get, pciio_intr_cpu_get, pciio_pio_dev_get, pciio_pio_slot_get, pciio_pio_space_get, pciio_pio_pciaddr_get, pciio_pio_mapsz_get, pciio_dma_dev_get, pciio_dma_slot_get, pciio_info_get, pciio_info_dev_get, pciio_info_bus_get, pciio_info_slot_get, pciio_info_function_get, pciio_info_vendor_id_get, pciio_info_device_id_get - interrogate PCI infrastructure
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME pciio_get: pciio_intr_dev_get, pciio_intr_cpu_get, pciio_pio_dev_get, pciio_pio_slot_get, pciio_pio_space_get, pciio_pio_pciaddr_get, pciio_pio_mapsz_get, pciio_dma_dev_get, pciio_dma_slot_get, pciio_info_get, pciio_info_dev_get, pciio_info_bus_get, pciio_info_slot_get, pciio_info_function_get, pciio_info_vendor_id_get, pciio_info_device_id_get - interrogate PCI infrastructure SYNOPSIS #include <sys/PCI/pciio.h> vertex_hdl_t pciio_intr_dev_get(pciio_intr_t intr) vertex_hdl_t pciio_intr_cpu_get(pciio_intr_t intr) vertex_hdl_t pciio_pio_dev_get(pciio_piomap_t piomap) pciio_slot_t pciio_pio_slot_get(pciio_piomap_t piomap) pciio_space_t pciio_pio_space_get(pciio_piomap_t piomap) iopaddr_t pciio_pio_pciaddr_get(pciio_piomap_t piomap) ulong pciio_pio_mapsz_get(pciio_piomap_t piomap) vertex_hdl_t pciio_dma_dev_get(pciio_dmamap_t dmamap) pciio_slot_t pciio_dma_slot_get(pciio_dmamap_t dmamap) pciio_info_t pciio_info_get(vertex_hdl_t vhdl) vertex_hdl_t pciio_info_dev_get(pciio_info_t info) pciio_bus_t pciio_info_bus_get(pciio_info_t info) pciio_slot_t pciio_info_slot_get(pciio_info_t info) pciio_function_t pciio_info_function_get(pciio_info_t info) pciio_vendor_id_t pciio_info_vendor_id_get(pciio_info_t info) pciio_device_id_t pciio_info_device_id_get(pciio_info_t info) Arguments intr A PCI interrupt object handle returned by pciio_intr_alloc(). piomap A PCI PIO map returned by pciio_piomap_alloc(). dmamap is a pciio_dmamap_t that was created by pciio_dmamap_alloc(). vhdl A pci connection point in the hardware graph, obtained as the parameter to the attach call. info A PCI info object returned by pciio_info_get(). DESCRIPTION These routines are used to pull specific useful bits of information out of the various opaque data structures used by the PCI infrastructure. Few drivers will need to make use of these routines, but having them available might save the driver from doing extra bookkeeping. Interrupt Queries Two functions fetch parameters from an interrupt object: o pciio_intr_dev_get() returns the connection point of the interrupt device. o pciio_intr_cpu_get() returns the CPU that is the target of interrupts for that PCI bus. PIO Map Queries Several functions return items based on a PIO map (see pciio_pio(D3)): o pciio_pio_dev_get() returns the connection point of the mapped device. o pciio_pio_mapsz_get() returns the map maximum size. o pciio_pio_pciaddr_get() returns the base address specified for the map. o pciio_pio_space_get() returns the target address space that was specified. o pciio_pio_slot_get() returns the slot number on the PCI bus for a device. DMA Map Queries Two functions return items based on a DMA as map (see pciio_dma(D3)): o pciio_dma_dev_get() returns the connection point of the mapped device. o pciio_dma_slot_get() returns the slot number on the PCI bus for a device. Info Structure Queries The PCI infrastructure stores a version-dependent information structure in the connection point for a PCI device. Several functions are provided to retrieve and interrogate this structure. Those most likely to be useful to a device driver are: o pciio_info_get() returns a handle to the information structure. The driver can save this handle at attach time to avoid the small overhead of looking it up each time it is needed. o pciio_info_dev_get() returns the vertex handle of the connection point (from which the information structure was originally retrieved). o pciio_info_bus_get() returns the bus number, always 0 unless the system has a PCI to PCI Bridge. o pciio_info_slot_get() returns the PCI card slot number of the device. o pciio_info_function_get() returns the PCI function number (0 unless this device is on a multifunction card). o pciio_info_vendor_id_get() returns the vendor ID configuration value of the device. o pciio_info_device_id_get() returns the device ID configuration value of the device. NOTES Bus numbers are arbitrary, not necessarily sequential, and may not be unique in large systems; they are only guaranteed to be unique across all busses that are connected by PCI-to-PCI Bridges. SEE ALSO pciio(D3), pciio_config(D3), pciio_dma(D3), pciio_error(D3), pciio_intr(D3), pciio_pio(D3). DIAGNOSTICS pciio_info_get() returns NULL if there is no pciio info structure attached to that vertex. Do not pass info as NULL to any of these functions, that would cause a kernel panic.