Sound Open Firmware
Loading...
Searching...
No Matches
modules.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
*
3
* Copyright(c) 2019 Intel Corporation. All rights reserved.
4
*
5
* Author: Jaroslaw Stelter <jaroslaw.stelter@intel.com>
6
*/
7
8
#ifndef __SOF_AUDIO_MODULES__
9
#define __SOF_AUDIO_MODULES__
10
11
#include <
sof/audio/module_adapter/module/generic.h
>
12
13
/* Intel module adapter is an extension to SOF module adapter component that allows to integrate
14
* modules developed under IADK (Intel Audio Development Kit)
15
* and LMDK (Loadable Modules Dev Kit) Framework. Modules uses uniform
16
* set of interfaces and are linked into separate library. These modules are loaded in runtime
17
* through library_manager and then after registration into SOF component infrastructure are
18
* interfaced through module adapter API.
19
* Since IADK modules uses ProcessingModuleInterface to control/data transfer and AdspSystemService
20
* to use base FW services from internal module code, there is a communication shim layer defined
21
* in intel directory.
22
*
23
* Since ProcessingModuleInterface consists of virtual functions, there are C++ -> C wrappers
24
* defined to access the interface calls from SOF code.
25
*
26
* The main assumption here was to load IADK Modules without any code modifications. Therefore C++
27
* function, structures and variables definition are here kept with original form from
28
* IADK Framework. This provides binary compatibility for already developed 3rd party modules.
29
*
30
* There are three entities in intel module adapter package:
31
* - System Agent - A mediator to allow the custom module to interact with the base SOF FW.
32
* It calls IADK module entry point and provides all necessary information to
33
* connect both sides of ProcessingModuleInterface and System Service.
34
* - System Service - exposes of SOF base FW services to the module.
35
* - Processing Module Adapter - SOF base FW side of ProcessingModuleInterface API
36
*
37
* Using the same philosofy loadable modules are using module adapter to interact with SOF FW.
38
* Module recognision is done by checking module API version defined in module/module/api_ver.h
39
* with version read from elf file.
40
*/
41
42
/* Processing Module Adapter API */
43
extern
const
struct
module_interface
processing_module_adapter_interface
;
44
45
#endif
/* __SOF_AUDIO_MODULES__ */
generic.h
processing_module_adapter_interface
const struct module_interface processing_module_adapter_interface
src
include
sof
audio
module_adapter
module
modules.h
Generated by
1.15.0