include/sound/pcm_drm_eld.h
Source file repositories/reference/linux-study-clean/include/sound/pcm_drm_eld.h
File Facts
- System
- Linux kernel
- Corpus path
include/sound/pcm_drm_eld.h- Extension
.h- Size
- 2409 bytes
- Lines
- 99
- Domain
- Driver Families
- Bucket
- include/sound
- 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 snd_cea_sadstruct snd_parsed_hdmi_eldenum eld_versionsenum cea_audio_coding_typesenum cea_audio_coding_xtypes
Annotated Snippet
struct snd_cea_sad {
int channels;
int format; /* (format == 0) indicates invalid SAD */
int rates;
int sample_bits; /* for LPCM */
int max_bitrate; /* for AC3...ATRAC */
int profile; /* for WMAPRO */
};
#define ELD_FIXED_BYTES 20
#define ELD_MAX_SIZE 256
#define ELD_MAX_MNL 16
#define ELD_MAX_SAD 16
#define ELD_PCM_BITS_8 BIT(0)
#define ELD_PCM_BITS_16 BIT(1)
#define ELD_PCM_BITS_20 BIT(2)
#define ELD_PCM_BITS_24 BIT(3)
#define ELD_PCM_BITS_32 BIT(4)
/*
* ELD: EDID Like Data
*/
struct snd_parsed_hdmi_eld {
/*
* all fields will be cleared before updating ELD
*/
int baseline_len;
int eld_ver;
int cea_edid_ver;
char monitor_name[ELD_MAX_MNL + 1];
int manufacture_id;
int product_id;
u64 port_id;
int support_hdcp;
int support_ai;
int conn_type;
int aud_synch_delay;
int spk_alloc;
int sad_count;
struct snd_cea_sad sad[ELD_MAX_SAD];
};
int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld);
int snd_parse_eld(struct device *dev, struct snd_parsed_hdmi_eld *e,
const unsigned char *buf, int size);
void snd_show_eld(struct device *dev, struct snd_parsed_hdmi_eld *e);
#ifdef CONFIG_SND_PROC_FS
void snd_print_eld_info(struct snd_parsed_hdmi_eld *eld,
struct snd_info_buffer *buffer);
#endif
#endif
Annotation
- Detected declarations: `struct snd_cea_sad`, `struct snd_parsed_hdmi_eld`, `enum eld_versions`, `enum cea_audio_coding_types`, `enum cea_audio_coding_xtypes`.
- Atlas domain: Driver Families / include/sound.
- 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.