class DspChannel
Defined at line 35 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.h
A DspChannel manages a inter-processor communication channel from the
Intel HDA driver to the DSP.
Public Members
static const auto kDefaultTimeout
Public Methods
void Shutdown ()
Shutdown the object, cancelling all in-flight transactions.
Called implicitly on destruction if not called earlier.
void ProcessIrq ()
Process an interrupt.
Should be called each time the DSP receives an interrupt, allowing this
object to process any IPC-related interrupts that may be pending.
zx::result<> Send (uint32_t primary, uint32_t extension)
Send an IPC message and wait for response.
The second variant |SendWithData| allows a data payload to be sent and/or
received from the DSP. Empty spans are allowed to indicate no data should
be sent or received, and both the send and receive spans may point to the
same underlying memory if the same buffer should be used for both reading
and writing.
zx::result<> SendWithData (uint32_t primary, uint32_t extension, cpp20::span<const uint8_t> payload, cpp20::span<uint8_t> recv_buffer, size_t * bytes_received)
bool IsOperationPending ()
Return true if at least one operation is pending.
void ~DspChannel ()
Implementations will block until all pending operations have been cancelled and callbacks
completed.
Defined at line 39 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.h