sound/soc/qcom/qdsp6/audioreach.h
Source file repositories/reference/linux-study-clean/sound/soc/qcom/qdsp6/audioreach.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/qcom/qdsp6/audioreach.h- Extension
.h- Size
- 24882 bytes
- Lines
- 956
- Domain
- Driver Families
- Bucket
- sound/soc
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/soc/qcom/apr.huapi/sound/snd_ar_tokens.hsound/soc.h
Detected Declarations
struct q6apmstruct q6apm_graphstruct event_cfg_sh_mem_pull_push_mode_watermark_tstruct apm_module_register_eventsstruct apm_module_eventstruct apm_cmd_shared_mem_map_regionsstruct apm_shared_map_region_payloadstruct apm_cmd_shared_mem_unmap_regionsstruct apm_cmd_rsp_shared_mem_map_regionsstruct apm_param_id_modules_liststruct apm_param_id_module_propstruct apm_module_prop_cfgstruct apm_param_id_module_connstruct apm_module_conn_objstruct param_id_gain_cfgstruct param_id_pcm_output_format_cfgstruct payload_pcm_output_format_cfgstruct param_id_enc_bitrate_paramstruct apm_modules_prop_infostruct apm_data_cmd_wr_sh_mem_ep_data_bufferstruct apm_data_cmd_wr_sh_mem_ep_data_buffer_v2struct data_cmd_rsp_wr_sh_mem_ep_data_buffer_donestruct data_cmd_rsp_wr_sh_mem_ep_data_buffer_done_v2struct apm_media_formatstruct payload_media_fmt_flac_tstruct payload_media_fmt_aac_tstruct payload_media_fmt_opus_tstruct data_cmd_wr_sh_mem_ep_eosstruct data_cmd_rd_sh_mem_ep_data_bufferstruct data_cmd_rsp_rd_sh_mem_ep_data_buffer_donestruct data_cmd_rd_sh_mem_ep_data_buffer_v2struct data_cmd_rsp_rd_sh_mem_ep_data_buffer_done_v2struct param_id_rd_sh_mem_cfgstruct data_cmd_wr_sh_mem_ep_eos_renderedstruct apm_cmd_headerstruct apm_module_param_datastruct apm_module_param_shared_datastruct apm_prop_datastruct apm_param_id_sub_graph_cfgstruct apm_sub_graph_cfgstruct apm_sg_prop_id_perf_modestruct apm_sg_prop_id_directionstruct apm_sg_prop_id_scenario_idstruct apm_param_id_container_cfgstruct apm_container_cfgstruct apm_cont_capabilitystruct apm_cont_prop_id_cap_liststruct apm_cont_prop_id_graph_pos
Annotated Snippet
struct event_cfg_sh_mem_pull_push_mode_watermark_t {
uint32_t num_water_mark_levels;
uint32_t level[];
} __packed;
/**
* struct apm_module_register_events - Register or unregister module events
* @module_instance_id: Module instance identifier.
* @event_id: Module event identifier.
* @is_register: 1 to register the event, 0 to unregister it.
* @error_code: Error code for out-of-band command mode.
* @event_config_payload_size: Event configuration payload size in bytes.
* @reserved: Reserved for alignment; must be zero.
*/
struct apm_module_register_events {
uint32_t module_instance_id;
uint32_t event_id;
uint32_t is_register;
uint32_t error_code;
uint32_t event_config_payload_size;
uint32_t reserved;
} __packed;
/**
* struct apm_module_event - Module event descriptor
* @event_id: Module event identifier.
* @event_payload_size: Event payload size in bytes.
*/
struct apm_module_event {
uint32_t event_id;
uint32_t event_payload_size;
} __packed;
#define APM_MEMORY_MAP_SHMEM8_4K_POOL 3
struct apm_cmd_shared_mem_map_regions {
uint16_t mem_pool_id;
uint16_t num_regions;
uint32_t property_flag;
} __packed;
struct apm_shared_map_region_payload {
uint32_t shm_addr_lsw;
uint32_t shm_addr_msw;
uint32_t mem_size_bytes;
} __packed;
struct apm_cmd_shared_mem_unmap_regions {
uint32_t mem_map_handle;
} __packed;
struct apm_cmd_rsp_shared_mem_map_regions {
uint32_t mem_map_handle;
} __packed;
/* APM module */
#define APM_PARAM_ID_SUB_GRAPH_LIST 0x08001005
#define APM_PARAM_ID_MODULE_LIST 0x08001002
struct apm_param_id_modules_list {
uint32_t num_modules_list;
} __packed;
#define APM_PARAM_ID_MODULE_PROP 0x08001003
struct apm_param_id_module_prop {
uint32_t num_modules_prop_cfg;
} __packed;
struct apm_module_prop_cfg {
uint32_t instance_id;
uint32_t num_props;
} __packed;
#define APM_PARAM_ID_MODULE_CONN 0x08001004
struct apm_param_id_module_conn {
uint32_t num_connections;
} __packed;
struct apm_module_conn_obj {
uint32_t src_mod_inst_id;
uint32_t src_mod_op_port_id;
uint32_t dst_mod_inst_id;
uint32_t dst_mod_ip_port_id;
} __packed;
#define APM_PARAM_ID_GAIN 0x08001006
Annotation
- Immediate include surface: `linux/types.h`, `linux/soc/qcom/apr.h`, `uapi/sound/snd_ar_tokens.h`, `sound/soc.h`.
- Detected declarations: `struct q6apm`, `struct q6apm_graph`, `struct event_cfg_sh_mem_pull_push_mode_watermark_t`, `struct apm_module_register_events`, `struct apm_module_event`, `struct apm_cmd_shared_mem_map_regions`, `struct apm_shared_map_region_payload`, `struct apm_cmd_shared_mem_unmap_regions`, `struct apm_cmd_rsp_shared_mem_map_regions`, `struct apm_param_id_modules_list`.
- Atlas domain: Driver Families / sound/soc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.