class HardwareDspChannel

Defined at line 27 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

Concrete Implementation of DspChannel.

Public Methods

const char * log_prefix ()

Defined at line 54 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

void HardwareDspChannel (fbl::String log_prefix, MMIO_PTR adsp_registers_t * regs, std::optional<std::function<void (NotificationType)>> notification_callback, zx::duration hardware_timeout)

Create an IPC object, able to send and receive messages to the SST DSP.

|regs| is the address of the ADSP MMIO register set in our address space.

|hardware_timeout| specifies how long we should wait for hardware to respond

to our requests before failing operations.

Defined at line 152 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

void ~HardwareDspChannel ()

Will block until all pending operations have been cancelled and callbacks completed.

Defined at line 168 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

void Shutdown ()

Implementation of DspChannel.

Defined at line 170 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

void ProcessIrq ()

Defined at line 268 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

zx::result<> Send (uint32_t primary, uint32_t extension)

Defined at line 216 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

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)

Defined at line 182 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc

bool IsOperationPending ()

Return true if at least one operation is pending.

Defined at line 220 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-ipc.cc