/Linux-v5.4/sound/core/ |
D | pcm_drm_eld.c | 31 const u8 *sad, *eld = rule->private; in eld_limit_rates() local 33 sad = drm_eld_sad(eld); in eld_limit_rates() 37 for (i = drm_eld_sad_count(eld); i > 0; i--, sad += 3) { in eld_limit_rates() 60 const u8 *sad, *eld = rule->private; in eld_limit_channels() local 62 sad = drm_eld_sad(eld); in eld_limit_channels() 72 for (i = drm_eld_sad_count(eld); i > 0; i--, sad += 3) in eld_limit_channels() 80 int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld) in snd_pcm_hw_constraint_eld() argument 85 eld_limit_rates, eld, in snd_pcm_hw_constraint_eld() 91 eld_limit_channels, eld, in snd_pcm_hw_constraint_eld()
|
/Linux-v5.4/include/drm/ |
D | drm_edid.h | 384 static inline int drm_eld_mnl(const uint8_t *eld) in drm_eld_mnl() argument 386 return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT; in drm_eld_mnl() 393 static inline const uint8_t *drm_eld_sad(const uint8_t *eld) in drm_eld_sad() argument 397 ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT; in drm_eld_sad() 401 mnl = drm_eld_mnl(eld); in drm_eld_sad() 405 return eld + DRM_ELD_CEA_SAD(mnl, 0); in drm_eld_sad() 412 static inline int drm_eld_sad_count(const uint8_t *eld) in drm_eld_sad_count() argument 414 return (eld[DRM_ELD_SAD_COUNT_CONN_TYPE] & DRM_ELD_SAD_COUNT_MASK) >> in drm_eld_sad_count() 425 static inline int drm_eld_calc_baseline_block_size(const uint8_t *eld) in drm_eld_calc_baseline_block_size() argument 428 drm_eld_mnl(eld) + drm_eld_sad_count(eld) * 3; in drm_eld_calc_baseline_block_size() [all …]
|
D | intel_lpe_audio.h | 35 u8 eld[HDMI_MAX_ELD_BYTES]; member
|
/Linux-v5.4/drivers/gpu/drm/i915/display/ |
D | intel_audio.c | 289 const u8 *eld = connector->eld; in intel_eld_uptodate() local 303 for (i = 0; i < drm_eld_size(eld) / 4; i++) in intel_eld_uptodate() 304 if (I915_READ(reg_edid) != *((const u32 *)eld + i)) in intel_eld_uptodate() 337 const u8 *eld = connector->eld; in g4x_audio_codec_enable() local 342 DRM_DEBUG_KMS("Enable audio codec, %u bytes ELD\n", drm_eld_size(eld)); in g4x_audio_codec_enable() 361 len = min(drm_eld_size(eld) / 4, len); in g4x_audio_codec_enable() 364 I915_WRITE(G4X_HDMIW_HDMIEDID, *((const u32 *)eld + i)); in g4x_audio_codec_enable() 509 const u8 *eld = connector->eld; in hsw_audio_codec_enable() local 514 transcoder_name(cpu_transcoder), drm_eld_size(eld)); in hsw_audio_codec_enable() 537 len = min(drm_eld_size(eld), 84); in hsw_audio_codec_enable() [all …]
|
D | intel_lpe_audio.c | 322 const void *eld, int ls_clock, bool dp_output) in intel_lpe_audio_notify() argument 339 if (eld != NULL) { in intel_lpe_audio_notify() 340 memcpy(ppdata->eld, eld, HDMI_MAX_ELD_BYTES); in intel_lpe_audio_notify() 349 memset(ppdata->eld, 0, HDMI_MAX_ELD_BYTES); in intel_lpe_audio_notify()
|
D | intel_lpe_audio.h | 20 const void *eld, int ls_clock, bool dp_output);
|
/Linux-v5.4/sound/pci/hda/ |
D | patch_hdmi.c | 328 struct hdmi_eld *eld; in hdmi_eld_ctl_info() local 341 eld = &per_pin->sink_eld; in hdmi_eld_ctl_info() 342 uinfo->count = eld->eld_valid ? eld->eld_size : 0; in hdmi_eld_ctl_info() 355 struct hdmi_eld *eld; in hdmi_eld_ctl_get() local 369 eld = &per_pin->sink_eld; in hdmi_eld_ctl_get() 370 if (eld->eld_size > ARRAY_SIZE(ucontrol->value.bytes.data) || in hdmi_eld_ctl_get() 371 eld->eld_size > ELD_MAX_SIZE) { in hdmi_eld_ctl_get() 379 if (eld->eld_valid) in hdmi_eld_ctl_get() 380 memcpy(ucontrol->value.bytes.data, eld->eld_buffer, in hdmi_eld_ctl_get() 381 eld->eld_size); in hdmi_eld_ctl_get() [all …]
|
D | hda_eld.c | 442 void snd_hdmi_print_eld_info(struct hdmi_eld *eld, in snd_hdmi_print_eld_info() argument 445 struct parsed_hdmi_eld *e = &eld->info; in snd_hdmi_print_eld_info() 463 snd_iprintf(buffer, "monitor_present\t\t%d\n", eld->monitor_present); in snd_hdmi_print_eld_info() 464 snd_iprintf(buffer, "eld_valid\t\t%d\n", eld->eld_valid); in snd_hdmi_print_eld_info() 465 if (!eld->eld_valid) in snd_hdmi_print_eld_info() 490 void snd_hdmi_write_eld_info(struct hdmi_eld *eld, in snd_hdmi_write_eld_info() argument 493 struct parsed_hdmi_eld *e = &eld->info; in snd_hdmi_write_eld_info() 509 eld->monitor_present = val; in snd_hdmi_write_eld_info() 511 eld->eld_valid = val; in snd_hdmi_write_eld_info()
|
/Linux-v5.4/sound/soc/codecs/ |
D | hdac_hdmi.c | 89 struct hdac_hdmi_eld eld; member 312 void *eld) in hdac_hdmi_eld_limit_formats() argument 316 const u8 *sad, *eld_buf = eld; in hdac_hdmi_eld_limit_formats() 378 ca = snd_hdac_channel_allocation(hdev, port->eld.info.spk_alloc, in hdac_hdmi_setup_audio_infoframe() 387 eld_buf = port->eld.eld_buffer; in hdac_hdmi_setup_audio_infoframe() 550 port->eld.monitor_present && in hdac_hdmi_get_port_from_cvt() 551 port->eld.eld_valid) in hdac_hdmi_get_port_from_cvt() 610 if ((!port->eld.monitor_present) || in hdac_hdmi_pcm_open() 611 (!port->eld.eld_valid)) { in hdac_hdmi_pcm_open() 615 port->eld.monitor_present, port->eld.eld_valid, in hdac_hdmi_pcm_open() [all …]
|
D | hdmi-codec.c | 274 uint8_t eld[MAX_ELD_BYTES]; member 295 uinfo->count = FIELD_SIZEOF(struct hdmi_codec_priv, eld); in hdmi_eld_ctl_info() 306 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld)); in hdmi_eld_ctl_get() 333 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_eld_chmap() 351 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_get_ch_alloc_table_idx() 407 hcp->eld, sizeof(hcp->eld)); in hdmi_codec_startup() 411 hcp->eld); in hdmi_codec_startup()
|
/Linux-v5.4/drivers/gpu/drm/bridge/synopsys/ |
D | dw-hdmi-audio.h | 12 u8 *eld; member 17 u8 *eld; member
|
D | dw-hdmi-i2s-audio.c | 130 memcpy(buf, audio->eld, min_t(size_t, MAX_ELD_BYTES, len)); in dw_hdmi_i2s_get_eld()
|
/Linux-v5.4/include/sound/ |
D | pcm_drm_eld.h | 5 int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld);
|
/Linux-v5.4/sound/x86/ |
D | intel_hdmi_audio.c | 437 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_channel_allocation() 484 intelhaddata->eld[DRM_ELD_SPEAKER]); in had_build_channel_allocation_map() 495 eld_high = intelhaddata->eld[DRM_ELD_SPEAKER] & eld_high_mask; in had_build_channel_allocation_map() 502 intelhaddata->eld[DRM_ELD_SPEAKER] &= in had_build_channel_allocation_map() 510 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_build_channel_allocation_map() 1480 memcpy(ucontrol->value.bytes.data, intelhaddata->eld, in had_ctl_eld_get() 1576 memset(ctx->eld, 0, sizeof(ctx->eld)); /* clear the old ELD */ in had_audio_wq() 1590 memcpy(ctx->eld, ppdata->eld, sizeof(ctx->eld)); in had_audio_wq()
|
D | intel_hdmi_audio.h | 106 unsigned char eld[HDMI_MAX_ELD_BYTES]; member
|
/Linux-v5.4/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | sorgk104.c | 45 .eld = gf119_hda_eld,
|
D | sormcp89.c | 45 .eld = gt215_hda_eld,
|
D | sorgm107.c | 59 .eld = gf119_hda_eld,
|
D | sorgt215.c | 61 .eld = gt215_hda_eld,
|
D | sortu102.c | 90 .eld = gf119_hda_eld,
|
D | sorgv100.c | 105 .eld = gf119_hda_eld,
|
D | sorgm200.c | 117 .eld = gf119_hda_eld,
|
D | ior.h | 90 void (*eld)(struct nvkm_ior *, u8 *data, u8 size); member
|
/Linux-v5.4/drivers/gpu/drm/ |
D | drm_edid.c | 3991 connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_SUPPORTS_AI; in drm_parse_hdmi_vsdb_audio() 4065 memset(connector->eld, 0, sizeof(connector->eld)); in clear_eld() 4085 uint8_t *eld = connector->eld; in drm_edid_to_eld() local 4103 mnl = get_monitor_name(edid, &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 4104 DRM_DEBUG_KMS("ELD monitor %s\n", &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 4106 eld[DRM_ELD_CEA_EDID_VER_MNL] = cea[1] << DRM_ELD_CEA_EDID_VER_SHIFT; in drm_edid_to_eld() 4107 eld[DRM_ELD_CEA_EDID_VER_MNL] |= mnl; in drm_edid_to_eld() 4109 eld[DRM_ELD_VER] = DRM_ELD_VER_CEA861D; in drm_edid_to_eld() 4111 eld[DRM_ELD_MANUFACTURER_NAME0] = edid->mfg_id[0]; in drm_edid_to_eld() 4112 eld[DRM_ELD_MANUFACTURER_NAME1] = edid->mfg_id[1]; in drm_edid_to_eld() [all …]
|
/Linux-v5.4/Documentation/sound/designs/ |
D | procfile.rst | 178 ``card*/eld#*`` 183 Some ELD fields may be modified by doing ``echo name hex_value > eld#*``.
|