class DspModuleController

Defined at line 47 of file ../../src/media/audio/drivers/intel-hda/controller/intel-dsp-modules.h

DspModuleController manages set up of modules and pipelines, pipeline states,

and module/pipeline ID allocation.

Thread compatible.

Public Methods

void DspModuleController (DspChannel * ipc)

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

zx::result<DspPipelineId> CreatePipeline (uint8_t priority, uint16_t memory_pages, bool low_power)

Create a pipeline.

Return ths ID of the created pipeline on success.

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

zx::result<DspModuleId> CreateModule (DspModuleType type, DspPipelineId parent_pipeline, ProcDomain scheduling_domain, cpp20::span<const uint8_t> data)

Create an instance of the module "type" in the given pipeline.

Returns the ID of the created module on success.

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

zx::result<> BindModules (DspModuleId source_module, uint8_t src_output_pin, DspModuleId dest_module, uint8_t dest_input_pin)

Connect an output pin of one module to the input pin of another.

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

zx::result<> SetPipelineState (DspPipelineId pipeline, PipelineState state, bool sync_stop_start)

Enable/disable the given pipeline.

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

zx::result<std::map<fbl::String, std::unique_ptr<ModuleEntry>>> ReadModuleDetails ()

Fetch details about modules available on the DSP.

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