The programmed I/O functions are:
Return the number of register sets a device has
Return the size of a device's register
Set up a mapping for a register address space
Free a previously mapped register address space
Copy data from one device register to another device register
Zero fill the device
Check data access handle
Read 8-bit data from mapped memory, device register, or DMA memory
Read 16-bit data from mapped memory, device register, or DMA memory
Read 32-bit data from mapped memory, device register, or DMA memory
Read 64-bit data from mapped memory, device register, or DMA memory
Write 8-bit data to mapped memory, device register, or DMA memory
Write 16-bit data to mapped memory, device register, or DMA memory
Write 32-bit data to mapped memory, device register, or DMA memory
Write 64-bit data to mapped memory, device register, or DMA memory
Read multiple 8-bit data from mapped memory, device register, or DMA memory
Read multiple 16-bit data from mapped memory, device register, or DMA memory
Read multiple 32-bit data from mapped memory, device register, or DMA memory
Read multiple 64-bit data from mapped memory, device register, or DMA memory
Write multiple 8-bit data to mapped memory, device register, or DMA memory
Write multiple 16-bit data to mapped memory, device register, or DMA memory
Write multiple 32-bit data to mapped memory, device register, or DMA memory
Write multiple 64-bit data to mapped memory, device register, or DMA memory
Cautiously read an 8-bit value from a location
Cautiously read a 16-bit value from a location
Cautiously read a 32-bit value from a location
Cautiously read a 64-bit value from a location
Cautiously write an 8-bit value to a location
Cautiously write a 16-bit value to a location
Cautiously write a 32-bit value to a location
Cautiously write a 64-bit value to a location
The general programmed I/O functions listed above can always be used rather than the mem, io, and pci_config functions that follow. However, the following functions can be used as alternatives in cases where the type of access is known at compile time.
Read 8-bit data from a mapped device register in I/O space
Read 16-bit data from a mapped device register in I/O space
Read 32-bit data from a mapped device register in I/O space
Write 8-bit data to a mapped device register in I/O space
Write 16-bit data to a mapped device register in I/O space
Write 32-bit data to a mapped device register in I/O space
Read multiple 8-bit data from a mapped device register in I/O space
Read multiple 16-bit data from a mapped device register in I/O space
Read multiple 32-bit data from a mapped device register in I/O space
Write multiple 8-bit data to a mapped device register in I/O space
Write multiple 16-bit data to a mapped device register in I/O space
Write multiple 32-bit data to a mapped device register in I/O space
Read 8-bit data from a mapped device in memory space or DMA memory
Read 16-bit data from a mapped device in memory space or DMA memory
Read 32-bit data from a mapped device in memory space or DMA memory
Read 64-bit data from a mapped device in memory space or DMA memory
Write 8-bit data to a mapped device in memory space or DMA memory
Write 16-bit data to a mapped device in memory space or DMA memory
Write 32-bit data to a mapped device in memory space or DMA memory
Write 64-bit data to a mapped device in memory space or DMA memory
Read multiple 8-bit data from a mapped device in memory space or DMA memory
Read multiple 16-bit data from a mapped device in memory space or DMA memory
Read multiple 32-bit data from a mapped device in memory space or DMA memory
Read multiple 64-bit data from a mapped device in memory space or DMA memory
Write multiple 8-bit data to a mapped device in memory space or DMA memory
Write multiple 16-bit data to a mapped device in memory space or DMA memory
Write multiple 32-bit data to a mapped device in memory space or DMA memory
Write multiple 64-bit data to a mapped device in memory space or DMA memory
Set up access to PCI Local Bus Configuration space
Tear down access to PCI Local Bus Configuration space
Read 8-bit data from the PCI Local Bus Configuration space
Read 16-bit data from the PCI Local Bus Configuration space
Read 32-bit data from the PCI Local Bus Configuration space
Read 64-bit data from the PCI Local Bus Configuration space
Write 8-bit data to the PCI Local Bus Configuration space
Write 16-bit data to the PCI Local Bus Configuration space
Write 32-bit data to the PCI Local Bus Configuration space
Write 64-bit data to the PCI Local Bus Configuration space