Skip to main content
Header: acdb/api/acdb.h

Structures

_acdb_key_value_t

Generic response structure. Members
uint32_t
Key ID
uint32_t

_acdb_blob_t

Maintains buffer context information. Members
uint32_t
Buffer size.
void *

_acdb_buffer_context_t

Request structure used to query for AMDB bootup modules, registration, and deregistration data. Members
uint32_t
uint32_t
uint8_t *

_acdb_amdb_proc_id_t

Request structure used to query for AMDB bootup modules, registration, and deregistration data. Members
uint32_t
The the ID of processor domain that the AMDB modules operate under

_acdb_amdb_db_handle_t

A Key Vector with a zero sized array. Members
acdb_handle_t
The the ID of processor domain that the AMDB modules operate under.
uint32_t

_acdb_key_vector_t

A Tag Key Vector with a zero sized array. Members
uint32_t
number of keys
AcdbKeyValuePair

_acdb_tag_key_vector_t

List of uint32_t with a pointer to an array of uint32_t. Members
uint32_t
The module tag identifier
uint32_t
Graph key vector.
AcdbKeyValuePair

_acdb_uint_list_t

List of uint32_t with a zero sized array. Members
uint32_t
number of elemts in the list
uint32_t *

_acdb_uint_list_zs_t

Members
uint32_t
number of elemts in the list
uint32_t

_acdb_file_t

Members
uint32_t
Full file path name length
char

_acdb_data_files_t

Members
uint32_t
Number of ACDB files
AcdbFile

_acdb_database_files_t

Members
uint32_t
Number of database files
AcdbFile

_acdb_subgraph_t

Members
uint32_t
src Subgraph ID
uint32_t
dst subgraph IDs
uint32_t

_acdb_graph_key_vector_t

Members
uint32_t
number of keys
AcdbKeyValuePair *

_acdb_get_graph_rsp_t

Members
uint32_t
Number of SubGraphs for a given key combination
uint32_t
Pointer to array of SubGraphs data for a given key combination.
AcdbSubgraph *

_acdb_sgid_graph_key_vector_t

Members
uint32_t
number of SubGraph ID
uint32_t *
AcdbGraphKeyVector
Graph key vector

_acdb_property_data_t

Members
uint32_t
Property ID
uint32_t
char

_acdb_sub_graph_property_data_t

Members
uint32_t
SubGraph ID
uint32_t
Array of prop_data of type AcdbPropertyData.
char

_acdb_driver_property_data_t

Members
uint32_t
number of SubGraph ID
uint32_t
AcdbSubGraphPropertyData *

_acdb_get_subgraph_data_rsp_t

Members
AcdbDriverPropertyData
Size of container data.
AcdbBlob

_acdb_subgraph_list_t

Members
uint32_t
Number of SubGraphs for a given key combination
AcdbSubgraph *

_acdb_sgid_calkey_vector_t

Members
uint32_t
Number of Subgraphs
uint32_t *
Calibration Key vector prior.
AcdbGraphKeyVector
Calibration Key vector new.
AcdbGraphKeyVector

_acdb_sgid_persist_data_t

Members
uint32_t
Subgraph ID
uint32_t
persist cal data.
char

_acdb_sgid_persist_cal_data_t

Members
uint32_t
Number of Subgraphs
uint32_t
Persist cal data.
AcdbSgIdPersistData *

_acdb_global_persistent_cal_info_t

Members
uint32_t
cal identifier
uint32_t
iid list
uint32_t

_acdb_get_blb_psist_identifier_t

Members
uint32_t
number of global-persistent cal info entries
uint32_t
Size of container data.
AcdbGlbPsistCalInfo *

_acdb_get_subgraph_glb_persist_cal_data_cmd_type

Members
uint32_t
Cal Identifier>

_acdb_driver_data_t

Members
AcdbGraphKeyVector
Key Vector associated with the driver data
uint32_t

_acdb_module_tag_t

Members
uint32_t
Module tag ID
AcdbGraphKeyVector

_acdb_sgid_module_tag_t

Members
uint32_t
Num of Subgraph IDs
uint32_t *
Module tag.
AcdbModuleTag

_acdb_get_tagged_modules_req_t

Members
uint32_t
Num of Subgraph IDs
uint32_t *
tag ID
uint32_t

_acdb_module_instance_t

Members
uint32_t
Module ID
uint32_t

_acdb_get_tagged_modules_t

Members
uint32_t
Number of tagged modules
AcdbModuleInstance *

_acdb_get_key_capabilities_t

Members
AcdbGraphKeyVector
Number of modules.
uint32_t
Pointer to array of Module instances.
AcdbModuleInstance *

_acdb_set_cal_data_t

Members
AcdbGraphKeyVector
The graph keys that describe the usecase the modules are under
AcdbGraphKeyVector
cal blob size
uint32_t
cal blob
void *

_acdb_sg_proc_id_map_t

Request structure that contains the list of subgraphs to retrieve processor lists for. Members
uint32_t
Subgraph ID
uint32_t
Array of Processor IDs.
uint32_t

_acdb_get_subgraph_proc_ids_req_t

Response structure that contains a list of mappings between subgraphs and their associated processors. Members
uint32_t
Number of subgraphs
uint32_t *

_acdb_get_subgraph_proc_ids_rsp_t

Members
uint32_t
Number of subgraphs
uint32_t
Array of maps that associate a subgraph to a list of processors.
AcdbSgProcIdsMap *

_acdb_cmd_get_tags_from_gkv_req

Contains a Modules ID and Instance ID. Members
AcdbGraphKeyVector *
Graph Key Vector representing the usecase

_acdb_module

Contains the mapping beween a Tag and one or more module. Members
uint32_t
Module ID
uint32_t

_acdb_tag_module

Response structure that contains a list of Tag + Module(s) mapping. Members
uint32_t
Tag ID associated with the module(s)
uint32_t
List of modules associated with this tag.
AcdbModule

_acdb_cmd_get_tags_from_gkv_rsp

Members
uint32_t
Number of tags found
uint32_t
List of Tags plus their associated module(s)
AcdbTagModule *

_acdb_key_vector_list_t

Members
uint32_t
Number of key vectors in the key vector list
uint32_t
List of Key Vectors in the format of [#keys, kvPair+,…, #keys, kvPair+].
AcdbKeyVector *

_acdb_tag_key_vector_list_t

Members
uint32_t
Number of tag key vectors in the key vector list
uint32_t
List of Tag Key Vectors in the format of [#keys, kvPair+,…, #keys, kvPair+].
AcdbTagKeyVector *

_acdb_module_param_list

Request structure for retrieving cal data for modules under a usecase. Members
uint32_t
The module instance to get parameter data from
AcdbUintListZS

_acdb_get_cal_data_req_t

Members
AcdbGraphKeyVector
The graph keys that describe the usecase the modules are under
AcdbGraphKeyVector
The number of module instances in the instance_param_list.
uint32_t
List of module instances plus their parameters to get data for.
AcdbModuleParamList *

_acdb_get_tag_data_req_t

Members
AcdbGraphKeyVector
The graph keys that describe the usecase the modules are under
AcdbModuleTag
The number of module instances in the instance_param_list.
uint32_t
List of module instances plus their parameters to get data for.
AcdbModuleParamList *

_acdb_set_tag_data_t

Members
AcdbGraphKeyVector
The graph keys that describe the usecase the modules are under
AcdbModuleTag
Size of the tag data blob.
uint32_t
Pointer to blob containing tag data.
void *

_acdb_set_temp_path_req_t

Members
uint32_t
The length of the path including the null terminating character
char_t

_acdb_hw_accel_subgraphs_info_req_t

Members
AcdbUintList
List of Subgraph IDs

_acdb_hw_accel_subgraph_t

Members
uint32_t
Subgraph ID
AcdbHwAccelMemType

_acdb_hw_accel_subgraph_info_rsp_t

Members
uint32_t
Number of Subgraphs
uint32_t
Subgraph IDs.
AcdbHwAccelSubgraph *

_acdb_subgraph_proc_pair_t

Request structure for retrieving persistent calibration based on processor. Members
uint32_t
The ID of the subgraph to get calibration for
uint32_t

_acdb_proc_subgraph_persist_cal_req_t

Members
uint32_t
Number of subgraphs
AcdbSubgraphProcPair *
Calibration Key vector prior.
AcdbGraphKeyVector
Calibration Key vector new.
AcdbGraphKeyVector

_acdb_string_t

Members
uint32_t
The length of the string including the null terminating character
char_t *

_acdb_get_proc_tagged_modules_req_t

Maps tagged modules to a processor domain. Members
uint32_t
Number of Subgraphs
uint32_t *
The tag to search for.
uint32_t

_acdb_proc_tagged_modules_t

Response struture containing a mapping of tagged modules to processor domain ID. Members
uint32_t
Number of tagged modules.
uint32_t
Pointer to array of tagged modules.
AcdbModuleInstance

_acdb_get_proc_tagged_modules_rsp_t

Members
uint32_t
Number of tagged modules
uint32_t
A pointer to contiguous block of memory containing tagged module ID and IID ordered by processor domain.
AcdbProcTaggedModules *

Functions

acdb_init

acdb_flash_init

acdb_deinit

acdbCmdIsPersistenceSupported

acdb_add_database

Extends the database by adding database files (*.acdb and *.qwsp) at runtime.
Parameters
A list of database file paths containing *.acdb and *.qwsp
AcdbFile *
The delta data file path and temp files
acdb_handle: A handle to the database provided
Returns 0 on success, non-zero on failure

acdb_remove_database

Shrinks the database by removing all data associated with the given database handle at runtime.
Parameters
const acdb_handle_t *
A handle to the database to remove
Returns 0 on success, non-zero on failure

acdb_get_handle

Retrieves a handle associated with the given acdb file which can be used in APIs to retrieve information from a database.
Parameters
AcdbFile *
The file to get the handle for
acdb_handle: The acdb hande for the given file
Returns 0 on success, non-zero on failure

acdb_ioctl

Main entry function to the ACDB. This entry function takes any supported ACDB IOCTL and provides the appropriate response. See the individual command documentation for more details on the expectations of the command.
Parameters
uint32_t
Command ID to execute on the Audio Calibration Database. The cmd and the rsp must match the expected structures for that command. If not, the command fails.
Pointer to the command structure.
Size of the command structure.
Pointer to the response structure.
Size of the response structure.
Returns The result of the call as defined by the command.

Type Definitions

acdb_handle_t

A handle to a database

AcdbFile

AcdbDataFiles

AcdbDatabaseFiles

Macros

ACDB_SOFTWARE_VERSION_MAJOR

The ACDB Software Major Version

ACDB_SOFTWARE_VERSION_MINOR

The ACDB Software Revision.

ACDB_SOFTWARE_VERSION_REVISION

The ACDB Software CPL Info.

ACDB_SOFTWARE_VERSION_CPLINFO

The max character length of a file name string.

MAX_FILENAME_LENGTH

The max allowed number databases to manage.

MAX_ACDB_FILE_COUNT

The max number of files that can be init’ed/added to the database.

ACDB_MAX_FILE_ADD_LIMIT

INF

ACDB_CMD_ID

ACDB_MEM_CPY

ACDB_MEM_CMP

ACDB_CLEAR_BUFFER