sound/soc/intel/catpt/messages.h
Source file repositories/reference/linux-study-clean/sound/soc/intel/catpt/messages.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/intel/catpt/messages.h- Extension
.h- Size
- 9331 bytes
- Lines
- 403
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct catpt_devstruct catpt_fw_versionstruct catpt_audio_formatstruct catpt_ring_infostruct catpt_module_entrystruct catpt_module_mapstruct catpt_memory_infostruct catpt_stream_infostruct catpt_ssp_device_formatstruct catpt_save_meminfostruct catpt_dx_contextstruct catpt_mixer_stream_infostruct catpt_fw_readystruct catpt_notify_positionstruct catpt_notify_glitchenum catpt_reply_statusenum catpt_global_msg_typeenum catpt_pin_idenum catpt_path_idenum catpt_stream_typeenum catpt_format_idenum catpt_channel_indexenum catpt_channel_configenum catpt_interleaving_styleenum catpt_module_idenum catpt_ssp_ifaceenum catpt_mclk_frequencyenum catpt_ssp_modeenum catpt_dx_stateenum catpt_dx_typeenum catpt_stream_msg_typeenum catpt_stage_actionenum catpt_audio_curve_typeenum catpt_notify_reasonenum catpt_glitch_type
Annotated Snippet
struct catpt_fw_version {
u8 build;
u8 minor;
u8 major;
u8 type;
u8 build_hash[BUILD_HASH_SIZE];
u32 log_providers_hash;
} __packed;
int catpt_ipc_get_fw_version(struct catpt_dev *cdev,
struct catpt_fw_version *version);
/* PIN_IDs represent both, individual streams and the general mixer. */
enum catpt_pin_id {
CATPT_PIN_ID_SYSTEM = 0,
CATPT_PIN_ID_REFERENCE = 1,
CATPT_PIN_ID_CAPTURE1 = 2,
CATPT_PIN_ID_CAPTURE2 = 3,
CATPT_PIN_ID_OFFLOAD1 = 4,
CATPT_PIN_ID_OFFLOAD2 = 5,
CATPT_PIN_ID_MIXER = 7,
CATPT_PIN_ID_BLUETOOTH_CAPTURE = 8,
CATPT_PIN_ID_BLUETOOTH_RENDER = 9,
/* 10 is reserved */
CATPT_PIN_ID_INVALID = 11,
};
enum catpt_path_id {
CATPT_PATH_SSP0_OUT = 0,
CATPT_PATH_SSP0_IN = 1,
CATPT_PATH_SSP1_OUT = 2,
CATPT_PATH_SSP1_IN = 3,
/* duplicated audio in capture path */
CATPT_PATH_SSP0_IN_DUP = 4,
};
enum catpt_stream_type {
CATPT_STRM_TYPE_RENDER = 0, /* offload */
CATPT_STRM_TYPE_SYSTEM = 1,
CATPT_STRM_TYPE_CAPTURE = 2,
CATPT_STRM_TYPE_LOOPBACK = 3,
CATPT_STRM_TYPE_BLUETOOTH_RENDER = 4,
CATPT_STRM_TYPE_BLUETOOTH_CAPTURE = 5,
};
enum catpt_format_id {
CATPT_FORMAT_PCM = 0,
CATPT_FORMAT_MP3 = 1,
CATPT_FORMAT_AAC = 2,
CATPT_FORMAT_WMA = 3,
};
enum catpt_channel_index {
CATPT_CHANNEL_LEFT = 0x0,
CATPT_CHANNEL_CENTER = 0x1,
CATPT_CHANNEL_RIGHT = 0x2,
CATPT_CHANNEL_LEFT_SURROUND = 0x3,
CATPT_CHANNEL_CENTER_SURROUND = 0x3,
CATPT_CHANNEL_RIGHT_SURROUND = 0x4,
CATPT_CHANNEL_LFE = 0x7,
CATPT_CHANNEL_INVALID = 0xF,
};
enum catpt_channel_config {
CATPT_CHANNEL_CONFIG_MONO = 0, /* One channel only */
CATPT_CHANNEL_CONFIG_STEREO = 1, /* L & R */
CATPT_CHANNEL_CONFIG_2_POINT_1 = 2, /* L, R & LFE; PCM only */
CATPT_CHANNEL_CONFIG_3_POINT_0 = 3, /* L, C & R; MP3 & AAC only */
CATPT_CHANNEL_CONFIG_3_POINT_1 = 4, /* L, C, R & LFE; PCM only */
CATPT_CHANNEL_CONFIG_QUATRO = 5, /* L, R, Ls & Rs; PCM only */
CATPT_CHANNEL_CONFIG_4_POINT_0 = 6, /* L, C, R & Cs; MP3 & AAC only */
CATPT_CHANNEL_CONFIG_5_POINT_0 = 7, /* L, C, R, Ls & Rs */
CATPT_CHANNEL_CONFIG_5_POINT_1 = 8, /* L, C, R, Ls, Rs & LFE */
CATPT_CHANNEL_CONFIG_DUAL_MONO = 9, /* One channel replicated in two */
CATPT_CHANNEL_CONFIG_INVALID = 10,
};
enum catpt_interleaving_style {
CATPT_INTERLEAVING_PER_CHANNEL = 0,
CATPT_INTERLEAVING_PER_SAMPLE = 1,
};
struct catpt_audio_format {
u32 sample_rate;
u32 bit_depth;
u32 channel_map;
u32 channel_config;
u32 interleaving;
u8 num_channels;
u8 valid_bit_depth;
Annotation
- Detected declarations: `struct catpt_dev`, `struct catpt_fw_version`, `struct catpt_audio_format`, `struct catpt_ring_info`, `struct catpt_module_entry`, `struct catpt_module_map`, `struct catpt_memory_info`, `struct catpt_stream_info`, `struct catpt_ssp_device_format`, `struct catpt_save_meminfo`.
- 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.