/linux-6.1.9/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-6.1.9/include/drm/ |
D | drm_edid.h | 419 static inline int drm_eld_mnl(const uint8_t *eld) in drm_eld_mnl() argument 421 return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT; in drm_eld_mnl() 428 static inline const uint8_t *drm_eld_sad(const uint8_t *eld) in drm_eld_sad() argument 432 ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT; in drm_eld_sad() 436 mnl = drm_eld_mnl(eld); in drm_eld_sad() 440 return eld + DRM_ELD_CEA_SAD(mnl, 0); in drm_eld_sad() 447 static inline int drm_eld_sad_count(const uint8_t *eld) in drm_eld_sad_count() argument 449 return (eld[DRM_ELD_SAD_COUNT_CONN_TYPE] & DRM_ELD_SAD_COUNT_MASK) >> in drm_eld_sad_count() 460 static inline int drm_eld_calc_baseline_block_size(const uint8_t *eld) in drm_eld_calc_baseline_block_size() argument 463 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-6.1.9/sound/soc/codecs/ |
D | hdac_hdmi.c | 90 struct hdac_hdmi_eld eld; member 306 void *eld) in hdac_hdmi_eld_limit_formats() argument 310 const u8 *sad, *eld_buf = eld; in hdac_hdmi_eld_limit_formats() 372 ca = snd_hdac_channel_allocation(hdev, port->eld.info.spk_alloc, in hdac_hdmi_setup_audio_infoframe() 381 eld_buf = port->eld.eld_buffer; in hdac_hdmi_setup_audio_infoframe() 544 port->eld.monitor_present && in hdac_hdmi_get_port_from_cvt() 545 port->eld.eld_valid) in hdac_hdmi_get_port_from_cvt() 604 if ((!port->eld.monitor_present) || in hdac_hdmi_pcm_open() 605 (!port->eld.eld_valid)) { in hdac_hdmi_pcm_open() 609 port->eld.monitor_present, port->eld.eld_valid, in hdac_hdmi_pcm_open() [all …]
|
D | hdmi-codec.c | 269 uint8_t eld[MAX_ELD_BYTES]; member 293 uinfo->count = sizeof_field(struct hdmi_codec_priv, eld); in hdmi_eld_ctl_info() 304 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld)); in hdmi_eld_ctl_get() 331 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_eld_chmap() 349 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_get_ch_alloc_table_idx() 448 hcp->eld, sizeof(hcp->eld)); in hdmi_codec_startup() 452 ret = snd_pcm_hw_constraint_eld(substream->runtime, hcp->eld); in hdmi_codec_startup() 850 hcp->eld, sizeof(hcp->eld)); in plugged_cb() 855 memset(hcp->eld, 0, sizeof(hcp->eld)); in plugged_cb()
|
/linux-6.1.9/sound/pci/hda/ |
D | patch_hdmi.c | 341 struct hdmi_eld *eld; in hdmi_eld_ctl_info() local 354 eld = &per_pin->sink_eld; in hdmi_eld_ctl_info() 355 uinfo->count = eld->eld_valid ? eld->eld_size : 0; in hdmi_eld_ctl_info() 368 struct hdmi_eld *eld; in hdmi_eld_ctl_get() local 382 eld = &per_pin->sink_eld; in hdmi_eld_ctl_get() 383 if (eld->eld_size > ARRAY_SIZE(ucontrol->value.bytes.data) || in hdmi_eld_ctl_get() 384 eld->eld_size > ELD_MAX_SIZE) { in hdmi_eld_ctl_get() 392 if (eld->eld_valid) in hdmi_eld_ctl_get() 393 memcpy(ucontrol->value.bytes.data, eld->eld_buffer, in hdmi_eld_ctl_get() 394 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 446 struct parsed_hdmi_eld *e = &eld->info; in snd_hdmi_print_eld_info() 464 snd_iprintf(buffer, "monitor_present\t\t%d\n", eld->monitor_present); in snd_hdmi_print_eld_info() 465 snd_iprintf(buffer, "eld_valid\t\t%d\n", eld->eld_valid); in snd_hdmi_print_eld_info() 469 if (!eld->eld_valid) in snd_hdmi_print_eld_info() 494 void snd_hdmi_write_eld_info(struct hdmi_eld *eld, in snd_hdmi_write_eld_info() argument 497 struct parsed_hdmi_eld *e = &eld->info; in snd_hdmi_write_eld_info() 513 eld->monitor_present = val; in snd_hdmi_write_eld_info() 515 eld->eld_valid = val; in snd_hdmi_write_eld_info()
|
D | hda_local.h | 714 void snd_hdmi_print_eld_info(struct hdmi_eld *eld, 717 void snd_hdmi_write_eld_info(struct hdmi_eld *eld,
|
/linux-6.1.9/drivers/gpu/drm/i915/display/ |
D | intel_audio.c | 313 const u8 *eld = connector->eld; in intel_eld_uptodate() local 327 for (i = 0; i < drm_eld_size(eld) / 4; i++) in intel_eld_uptodate() 328 if (intel_de_read(dev_priv, reg_edid) != *((const u32 *)eld + i)) in intel_eld_uptodate() 359 const u8 *eld = connector->eld; in g4x_audio_codec_enable() local 381 len = min(drm_eld_size(eld) / 4, len); in g4x_audio_codec_enable() 384 *((const u32 *)eld + i)); in g4x_audio_codec_enable() 638 const u8 *eld = connector->eld; in hsw_audio_codec_enable() local 667 len = min(drm_eld_size(eld), 84); in hsw_audio_codec_enable() 670 *((const u32 *)eld + i)); in hsw_audio_codec_enable() 735 const u8 *eld = connector->eld; in ilk_audio_codec_enable() local [all …]
|
D | intel_lpe_audio.c | 327 const void *eld, int ls_clock, bool dp_output) in intel_lpe_audio_notify() argument 344 if (eld != NULL) { in intel_lpe_audio_notify() 345 memcpy(ppdata->eld, eld, HDMI_MAX_ELD_BYTES); in intel_lpe_audio_notify() 354 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-6.1.9/drivers/gpu/drm/bridge/synopsys/ |
D | dw-hdmi-gp-audio.c | 117 u8 *eld; in audio_get_eld() local 119 eld = audio->get_eld(audio->hdmi); in audio_get_eld() 120 if (eld) in audio_get_eld() 121 memcpy(buf, eld, min_t(size_t, MAX_ELD_BYTES, len)); in audio_get_eld()
|
D | dw-hdmi-i2s-audio.c | 138 u8 *eld; in dw_hdmi_i2s_get_eld() local 140 eld = audio->get_eld(audio->hdmi); in dw_hdmi_i2s_get_eld() 141 if (eld) in dw_hdmi_i2s_get_eld() 142 memcpy(buf, eld, min_t(size_t, MAX_ELD_BYTES, len)); in dw_hdmi_i2s_get_eld()
|
D | dw-hdmi-ahb-audio.c | 323 u8 *eld; in dw_hdmi_open() local 328 eld = dw->data.get_eld(dw->data.hdmi); in dw_hdmi_open() 329 if (eld) { in dw_hdmi_open() 330 ret = snd_pcm_hw_constraint_eld(runtime, eld); in dw_hdmi_open()
|
/linux-6.1.9/include/sound/ |
D | pcm_drm_eld.h | 5 int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld);
|
/linux-6.1.9/sound/x86/ |
D | intel_hdmi_audio.c | 439 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_channel_allocation() 486 intelhaddata->eld[DRM_ELD_SPEAKER]); in had_build_channel_allocation_map() 497 eld_high = intelhaddata->eld[DRM_ELD_SPEAKER] & eld_high_mask; in had_build_channel_allocation_map() 504 intelhaddata->eld[DRM_ELD_SPEAKER] &= in had_build_channel_allocation_map() 512 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_build_channel_allocation_map() 1452 memcpy(ucontrol->value.bytes.data, intelhaddata->eld, in had_ctl_eld_get() 1552 memset(ctx->eld, 0, sizeof(ctx->eld)); /* clear the old ELD */ in had_audio_wq() 1566 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-6.1.9/drivers/gpu/drm/ |
D | drm_edid.c | 5266 connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_SUPPORTS_AI; in drm_parse_hdmi_vsdb_audio() 5352 memset(connector->eld, 0, sizeof(connector->eld)); in clear_eld() 5376 uint8_t *eld = connector->eld; in drm_edid_to_eld() local 5385 mnl = get_monitor_name(drm_edid, &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 5386 DRM_DEBUG_KMS("ELD monitor %s\n", &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 5388 eld[DRM_ELD_CEA_EDID_VER_MNL] = info->cea_rev << DRM_ELD_CEA_EDID_VER_SHIFT; in drm_edid_to_eld() 5389 eld[DRM_ELD_CEA_EDID_VER_MNL] |= mnl; in drm_edid_to_eld() 5391 eld[DRM_ELD_VER] = DRM_ELD_VER_CEA861D; in drm_edid_to_eld() 5393 eld[DRM_ELD_MANUFACTURER_NAME0] = drm_edid->edid->mfg_id[0]; in drm_edid_to_eld() 5394 eld[DRM_ELD_MANUFACTURER_NAME1] = drm_edid->edid->mfg_id[1]; in drm_edid_to_eld() [all …]
|
/linux-6.1.9/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | gt215.c | 64 .eld = gt215_sor_hda_eld,
|
D | ior.h | 91 void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); member
|
D | rootnv50.c | 135 ior->func->hda->eld(ior, hidx, data, size); in nv50_disp_root_mthd_()
|
/linux-6.1.9/drivers/gpu/drm/msm/dp/ |
D | dp_audio.c | 502 memcpy(buf, dp_display->connector->eld, in dp_audio_get_eld() 503 min(sizeof(dp_display->connector->eld), len)); in dp_audio_get_eld()
|
/linux-6.1.9/Documentation/sound/designs/ |
D | procfile.rst | 178 ``card*/eld#*`` 183 Some ELD fields may be modified by doing ``echo name hex_value > eld#*``.
|
/linux-6.1.9/drivers/gpu/drm/bridge/ |
D | sii902x.c | 737 memcpy(buf, sii902x->connector.eld, in sii902x_audio_get_eld() 738 min(sizeof(sii902x->connector.eld), len)); in sii902x_audio_get_eld()
|
/linux-6.1.9/drivers/gpu/drm/nouveau/dispnv50/ |
D | disp.c | 642 ret = drm_eld_size(nv_connector->base.eld); in nv50_audio_component_get_eld() 643 memcpy(buf, nv_connector->base.eld, in nv50_audio_component_get_eld() 729 struct nv50_disp_sor_hda_eld_v0 eld; in nv50_audio_disable() member 761 struct nv50_disp_sor_hda_eld_v0 eld; in nv50_audio_enable() member 763 u8 data[sizeof(nv_connector->base.eld)]; in nv50_audio_enable() 777 memcpy(args.data, nv_connector->base.eld, sizeof(args.data)); in nv50_audio_enable()
|