pci_write_config16()
Write 16-bit values to the configuration space of a device
Synopsis:
#include <hw/pci.h> int pci_write_config16( unsigned bus, unsigned dev_func, unsigned offset, unsigned count, char* buff );
Arguments:
- bus
- The bus number.
- dev_func
- The device or function ID. The device number is in bits 7 through 3, and the function number in bits 2 through 0.
- offset
- The offset into the configuration space. This must be aligned to a 16-bit boundary (that is 0, 2, 4, …, 254 bytes).
- count
- The number of 16-bit values to write.
- buff
- A pointer to a buffer containing the data to be written into the configuration space.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pci_write_config16() function writes individual 16-bit values to the configuration space of the specified device.
You must successfully call
pci_attach()
before calling any of the other PCI functions.
Returns:
- PCI_BAD_REGISTER_NUMBER
- An invalid register offset was given.
- PCI_BUFFER_TOO_SMALL
- The size argument is greater than 50 words.
- PCI_SUCCESS
- The device or function was found.
- -1
- You haven't called pci_attach() , or the call to it failed.
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |