template <>
class WireSyncBufferClientImpl
Defined at line 4504 of file fidling/gen/sdk/fidl/fuchsia.hardware.pci/fuchsia.hardware.pci/cpp/fidl/fuchsia.hardware.pci/cpp/wire_messaging.h
Public Methods
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetDeviceInfo> GetDeviceInfo ()
Returns a structure containing device information from the configuration header.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetBar> GetBar (uint32_t bar_id)
Retrieves information for a specified Base Address Register (BAR). If the BAR contains
MSI-X capability tables then an attempt will be made to return an MMIO region excluding
those tables, if possible. Otherwise, an error will be returned.
Parameters:
|bar_id|: The id of the BAR being requested. Valid range is [0, 6).
Errors:
|ZX_ERR_ACCESS_DENIED|: The specified BAR does not have a driver-accessible region due to
the presence of MSI-X tables. To use MSI-X see the |SetInterruptMode| method.
|ZX_ERR_INTERNAL|: A bus driver error has occurred.
|ZX_ERR_INVALID_ARGS|: The |bar_id| specified is outside of the acceptable range.
|ZX_ERR_NOT_FOUND|: The specified |bar_id| does not exist for this device.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::SetBusMastering> SetBusMastering (bool enabled)
Enables or disables the bus mastering capability for the device.
Parameters:
|enable|: true to enable bus mastering, false to disable.
Errors:
|ZX_ERR_BAD_STATE|: Method was called while the device is disabled.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::ResetDevice> ResetDevice ()
Initiates a function level reset for the device. This is a synchronous
operation that will not return ontil the reset is complete. Interrupt
operation of the device must be disabled before initiating a reset.
Errors:
|ZX_ERR_BAD_STATE|: Interrupts were not disabled before calling |ResetDevice|.
|ZX_ERR_NOT_SUPPORTED|: The device does not support reset.
|ZX_ERR_TIMED_OUT|: The device did not complete its reset in the
expected amount of time and is presumed to no longer be operating
properly.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::AckInterrupt> AckInterrupt ()
Alerts the bus driver to deassert the raised legacy interrupt so that it
may be waited on again. Only used if |SetInterruptMode| was called with
|PCI_INTERRUPT_MODE_LEGACY|.
Errors:
|ZX_ERR_BAD_STATE|: device is not configured to use the Legacy interrupt mode.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::MapInterrupt> MapInterrupt (uint32_t which_irq)
Maps a device's interrupt to a zx:interrupt. The device's interrupt mode
must already be configured with |SetInterruptMode|, and |which_irq| must
be >= to the number of interrupts reported for that interrupt mode by
|GetInterruptModes|. A Legacy interrupt may be mapped multiple times,
but the handles will point to the same interrupt object. MSI
&
MSI-X
interrupts may only have one outstanding mapping at a time per
interrupt. Outstanding MSI
&
MSI-X interrupt handles must be closed
before attempting to change the interrupt mode in a subsequent call to
|SetInterruptMode|.
Parameters:
|which_irq|: The id of the interrupt to map.
Errors:
|ZX_ERR_ALREADY_BOUND|: The interrupt specified by |which_irq| is
already mapped to a valid handle.
|ZX_ERR_BAD_STATE|: interrupts are currently disabled for the device.
|ZX_ERR_INVALID_ARGS|: |which_irq| is invalid for the mode.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetInterruptModes> GetInterruptModes ()
Returns the supported interrupt modes for a device.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::SetInterruptMode> SetInterruptMode (::fuchsia_hardware_pci::wire::InterruptMode mode, uint32_t requested_irq_count)
Configures the interrupt mode for a device. When changing from one
interrupt mode to another the driver must ensure existing interrupt
handles are closed beforehand.
Parameters:
|mode|: The |InterruptMode| to request from the bus driver.
|requested_irq_count|: The number of interrupts requested.
Errors:
|ZX_ERR_BAD_STATE|: The driver attempted to change interrupt mode while
existing handles to mapped MSIs exist.
|ZX_ERR_INVALID_ARGS|: |requested_irq_count| is 0.
|ZX_ERR_NOT_SUPPORTED|: The provided |mode| is not supported, or invalid.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::ReadConfig8> ReadConfig8 (uint16_t offset)
Reads a byte from the device's configuration space. |Offset| must be
within [0x0, 0xFF] if PCI, or [0x0, 0xFFF) if PCIe. In most cases a
device will be PCIe.
Parameters:
|offset|: The offset into the device's configuration space to read.
Errors:
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::ReadConfig16> ReadConfig16 (uint16_t offset)
Reads two bytes from the device's configuration space. |Offset| must be
within [0x0, 0xFE] if PCI, or [0x0, 0xFFE] if PCIe. In most cases a
device will be PCIe.
Parameters:
|offset|: The offset into the device's configuration space to read.
Errors:
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::ReadConfig32> ReadConfig32 (uint16_t offset)
Reads four bytes from the device's configuration space. |Offset| must be
within [0x0, 0xFC] if PCI, or [0x0, 0xFFC] if PCIe. In most cases a
device will be PCIe.
Parameters:
|offset|: The offset into the device's configuration space to read.
Errors:
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::WriteConfig8> WriteConfig8 (uint16_t offset, uint8_t value)
Writes a byte to the device's configuration space. The acceptable
ranges of |offset| for writes are [0x40, 0xFF] if PCI, or [0x40,
0xFFF] if PCIe. For most purposes a device will be PCIe.
Parameters
|offset|: The offset into the device's configuration space to read.
|value|: The value to write.
Errors:
|ZX_ERR_ACCESS_DENIED|: |offset| is within the device's configuration header.
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::WriteConfig16> WriteConfig16 (uint16_t offset, uint16_t value)
Writes two bytes to the device's configuration space. The acceptable
ranges of |offset| for writes are [0x40, 0xFE] if PCI, or [0x40,
0xFFE] if PCIe. For most purposes a device will be PCIe.
Parameters
|offset|: The offset into the device's configuration space to read.
|value|: The value to write.
Errors:
|ZX_ERR_ACCESS_DENIED|: |offset| is within the device's configuration header.
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::WriteConfig32> WriteConfig32 (uint16_t offset, uint32_t value)
Writes four bytes to the device's configuration space. The acceptable
ranges of |offset| for writes are [0x40, 0xFC] if PCI, or [0x40,
0xFFC] if PCIe. For most purposes a device will be PCIe.
Parameters
|offset|: The offset into the device's configuration space to read.
|value|: The value to write.
Errors:
|ZX_ERR_ACCESS_DENIED|: |offset| is within the device's configuration header.
|ZX_ERR_OUT_OF_RANGE|: |offset| is an invalid address.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetCapabilities> GetCapabilities (::fuchsia_hardware_pci::wire::CapabilityId id)
Returns a vector of offsets in configuration space corresponding to
capabilities matching the provided capability |id|. If no corresponding
match is found then the vector will be empty.
Parameters:
|id|: the capability id to search for.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetExtendedCapabilities> GetExtendedCapabilities (::fuchsia_hardware_pci::wire::ExtendedCapabilityId id)
Returns a vector of offsets in configuration space corresponding to
extended capabilities matching the provided extended capability |id|.
If no corresponding match is found then the vector will be empty.
Parameters:
|id|: the capability id to search for
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_pci::Device::GetBti> GetBti (uint32_t index)
Returns the Bus Transaction Intiator (BTI) at a given index for the device.
Parameters:
|index|: the BTI to request.
Errors:
|ZX_ERR_OUT_OF_RANGE|: |index| was not 0.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.