| /linux/include/drm/ |
| H A D | drm_eld.h | 75 static inline int drm_eld_mnl(const u8 *eld) in drm_eld_mnl() argument 77 return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT; in drm_eld_mnl() 80 int drm_eld_sad_get(const u8 *eld, int sad_index, struct cea_sad *cta_sad); 81 int drm_eld_sad_set(u8 *eld, int sad_index, const struct cea_sad *cta_sad); 87 static inline const u8 *drm_eld_sad(const u8 *eld) in drm_eld_sad() argument 91 ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT; in drm_eld_sad() 95 mnl = drm_eld_mnl(eld); in drm_eld_sad() 99 return eld + DRM_ELD_CEA_SAD(mnl, 0); in drm_eld_sad() 106 static inline int drm_eld_sad_count(const u8 *eld) in drm_eld_sad_count() argument 108 return (eld[DRM_ELD_SAD_COUNT_CONN_TYPE] & DRM_ELD_SAD_COUNT_MASK) >> in drm_eld_sad_count() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_eld.c | 21 int drm_eld_sad_get(const u8 *eld, int sad_index, struct cea_sad *cta_sad) in drm_eld_sad_get() argument 25 if (sad_index >= drm_eld_sad_count(eld)) in drm_eld_sad_get() 28 sad = eld + DRM_ELD_CEA_SAD(drm_eld_mnl(eld), sad_index); in drm_eld_sad_get() 44 int drm_eld_sad_set(u8 *eld, int sad_index, const struct cea_sad *cta_sad) in drm_eld_sad_set() argument 48 if (sad_index >= drm_eld_sad_count(eld)) in drm_eld_sad_set() 51 sad = eld + DRM_ELD_CEA_SAD(drm_eld_mnl(eld), sad_index); in drm_eld_sad_set()
|
| H A D | drm_edid.c | 5490 connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_SUPPORTS_AI; in drm_parse_hdmi_vsdb_audio() 5634 memset(connector->eld, 0, sizeof(connector->eld)); in clear_eld() 5680 uint8_t *eld = connector->eld; in drm_edid_to_eld() local 5689 mnl = get_monitor_name(drm_edid, &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 5692 &eld[DRM_ELD_MONITOR_NAME_STRING]); in drm_edid_to_eld() 5694 eld[DRM_ELD_CEA_EDID_VER_MNL] = info->cea_rev << DRM_ELD_CEA_EDID_VER_SHIFT; in drm_edid_to_eld() 5695 eld[DRM_ELD_CEA_EDID_VER_MNL] |= mnl; in drm_edid_to_eld() 5697 eld[DRM_ELD_VER] = DRM_ELD_VER_CEA861D; in drm_edid_to_eld() 5699 eld[DRM_ELD_MANUFACTURER_NAME0] = drm_edid->edid->mfg_id[0]; in drm_edid_to_eld() 5700 eld[DRM_ELD_MANUFACTURER_NAME1] = drm_edid->edid->mfg_id[1]; in drm_edid_to_eld() [all …]
|
| /linux/sound/hda/codecs/hdmi/ |
| H A D | hdmi.c | 142 struct hdmi_eld *eld; in hdmi_eld_ctl_info() local 155 eld = &per_pin->sink_eld; in hdmi_eld_ctl_info() 156 uinfo->count = eld->eld_valid ? eld->eld_size : 0; in hdmi_eld_ctl_info() 166 struct hdmi_eld *eld; in hdmi_eld_ctl_get() local 179 eld = &per_pin->sink_eld; in hdmi_eld_ctl_get() 180 if (eld->eld_size > ARRAY_SIZE(ucontrol->value.bytes.data) || in hdmi_eld_ctl_get() 181 eld->eld_size > ELD_MAX_SIZE) { in hdmi_eld_ctl_get() 188 if (eld->eld_valid) in hdmi_eld_ctl_get() 189 memcpy(ucontrol->value.bytes.data, eld->eld_buffer, in hdmi_eld_ctl_get() 190 eld->eld_size); in hdmi_eld_ctl_get() [all …]
|
| H A D | eld.c | 108 void snd_hdmi_print_eld_info(struct hdmi_eld *eld, in snd_hdmi_print_eld_info() argument 112 snd_iprintf(buffer, "monitor_present\t\t%d\n", eld->monitor_present); in snd_hdmi_print_eld_info() 113 snd_iprintf(buffer, "eld_valid\t\t%d\n", eld->eld_valid); in snd_hdmi_print_eld_info() 118 if (!eld->eld_valid) in snd_hdmi_print_eld_info() 121 snd_print_eld_info(&eld->info, buffer); in snd_hdmi_print_eld_info() 124 void snd_hdmi_write_eld_info(struct hdmi_eld *eld, in snd_hdmi_write_eld_info() argument 127 struct snd_parsed_hdmi_eld *e = &eld->info; in snd_hdmi_write_eld_info() 143 eld->monitor_present = val; in snd_hdmi_write_eld_info() 145 eld->eld_valid = val; in snd_hdmi_write_eld_info()
|
| H A D | Makefile | 4 snd-hda-codec-hdmi-y := hdmi.o eld.o
|
| /linux/sound/soc/codecs/ |
| H A D | hdac_hdmi.c | 89 struct hdac_hdmi_eld eld; member 305 void *eld) in hdac_hdmi_eld_limit_formats() argument 309 const u8 *sad, *eld_buf = eld; in hdac_hdmi_eld_limit_formats() 371 ca = snd_hdac_channel_allocation(hdev, port->eld.info.spk_alloc, in hdac_hdmi_setup_audio_infoframe() 380 eld_buf = port->eld.eld_buffer; in hdac_hdmi_setup_audio_infoframe() 549 port->eld.monitor_present && in hdac_hdmi_get_port_from_cvt() 550 port->eld.eld_valid) in hdac_hdmi_get_port_from_cvt() 609 if ((!port->eld.monitor_present) || in hdac_hdmi_pcm_open() 610 (!port->eld.eld_valid)) { in hdac_hdmi_pcm_open() 614 port->eld.monitor_present, port->eld.eld_valid, in hdac_hdmi_pcm_open() [all …]
|
| H A D | hdmi-codec.c | 283 uint8_t eld[MAX_ELD_BYTES]; member 309 uinfo->count = sizeof_field(struct hdmi_codec_priv, eld); in hdmi_eld_ctl_info() 320 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld)); in hdmi_eld_ctl_get() 347 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_eld_chmap() 365 spk_alloc = drm_eld_get_spk_alloc(hcp->eld); in hdmi_codec_get_ch_alloc_table_idx() 470 hcp->eld, sizeof(hcp->eld)); in hdmi_codec_startup() 475 hcp->eld, sizeof(hcp->eld)); in hdmi_codec_startup() 477 ret = snd_pcm_hw_constraint_eld(substream->runtime, hcp->eld); in hdmi_codec_startup() 959 hcp->eld, sizeof(hcp->eld)); in plugged_cb() 961 hcp->eld, sizeof(hcp->eld)); in plugged_cb() [all …]
|
| /linux/sound/core/ |
| H A D | pcm_drm_eld.c | 101 const u8 *sad, *eld = rule->private; in eld_limit_rates() local 103 sad = drm_eld_sad(eld); in eld_limit_rates() 107 for (i = drm_eld_sad_count(eld); i > 0; i--, sad += 3) { in eld_limit_rates() 130 const u8 *sad, *eld = rule->private; in eld_limit_channels() local 132 sad = drm_eld_sad(eld); in eld_limit_channels() 142 for (i = drm_eld_sad_count(eld); i > 0; i--, sad += 3) in eld_limit_channels() 150 int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld) in snd_pcm_hw_constraint_eld() argument 155 eld_limit_rates, eld, in snd_pcm_hw_constraint_eld() 161 eld_limit_channels, eld, in snd_pcm_hw_constraint_eld()
|
| /linux/drivers/gpu/drm/bridge/synopsys/ |
| H A D | dw-hdmi-gp-audio.c | 122 u8 *eld; in audio_get_eld() local 124 eld = audio->get_eld(audio->hdmi); in audio_get_eld() 125 if (eld) in audio_get_eld() 126 memcpy(buf, eld, min_t(size_t, MAX_ELD_BYTES, len)); in audio_get_eld()
|
| H A 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()
|
| H A D | dw-hdmi-ahb-audio.c | 324 u8 *eld; in dw_hdmi_open() local 329 eld = dw->data.get_eld(dw->data.hdmi); in dw_hdmi_open() 330 if (eld) { in dw_hdmi_open() 331 ret = snd_pcm_hw_constraint_eld(runtime, eld); in dw_hdmi_open()
|
| /linux/drivers/gpu/drm/i915/display/ |
| H A D | intel_lpe_audio.c | 326 const void *eld, int ls_clock, bool dp_output) in intel_lpe_audio_notify() argument 343 if (eld != NULL) { in intel_lpe_audio_notify() 344 memcpy(ppdata->eld, eld, HDMI_MAX_ELD_BYTES); in intel_lpe_audio_notify() 353 memset(ppdata->eld, 0, HDMI_MAX_ELD_BYTES); in intel_lpe_audio_notify()
|
| H A D | intel_lpe_audio.h | 21 const void *eld, int ls_clock, bool dp_output); 35 const void *eld, int ls_clock, bool dp_output) in intel_lpe_audio_notify() argument
|
| /linux/include/sound/ |
| H A D | pcm_drm_eld.h | 87 int snd_pcm_hw_constraint_eld(struct snd_pcm_runtime *runtime, void *eld); 94 void snd_print_eld_info(struct snd_parsed_hdmi_eld *eld,
|
| /linux/sound/x86/ |
| H A D | intel_hdmi_audio.c | 436 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_channel_allocation() 483 intelhaddata->eld[DRM_ELD_SPEAKER]); in had_build_channel_allocation_map() 494 eld_high = intelhaddata->eld[DRM_ELD_SPEAKER] & eld_high_mask; in had_build_channel_allocation_map() 501 intelhaddata->eld[DRM_ELD_SPEAKER] &= in had_build_channel_allocation_map() 509 if (intelhaddata->eld[DRM_ELD_SPEAKER] & (1 << i)) in had_build_channel_allocation_map() 1432 memcpy(ucontrol->value.bytes.data, intelhaddata->eld, in had_ctl_eld_get() 1530 memset(ctx->eld, 0, sizeof(ctx->eld)); /* clear the old ELD */ in had_audio_wq() 1544 memcpy(ctx->eld, ppdata->eld, sizeof(ctx->eld)); in had_audio_wq()
|
| H A D | intel_hdmi_audio.h | 106 unsigned char eld[HDMI_MAX_ELD_BYTES]; member
|
| /linux/drivers/gpu/drm/display/ |
| H A D | drm_hdmi_audio_helper.c | 89 memcpy(buf, connector->eld, min(sizeof(connector->eld), len)); in drm_connector_hdmi_audio_get_eld()
|
| /linux/include/drm/intel/ |
| H A D | intel_lpe_audio.h | 35 u8 eld[HDMI_MAX_ELD_BYTES]; member
|
| /linux/drivers/gpu/drm/mediatek/ |
| H A D | mtk_hdmi_common.c | 184 memcpy(buf, hdmi->curr_conn->eld, min(sizeof(hdmi->curr_conn->eld), len)); in mtk_hdmi_audio_get_eld()
|
| /linux/Documentation/sound/designs/ |
| H A D | procfile.rst | 178 ``card*/eld#*`` 183 Some ELD fields may be modified by doing ``echo name hex_value > eld#*``.
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| H A D | ior.h | 100 void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); member
|
| H A D | gt215.c | 64 .eld = gt215_sor_hda_eld,
|
| /linux/sound/hda/common/ |
| H A D | hda_local.h | 702 void snd_hdmi_print_eld_info(struct hdmi_eld *eld, 705 void snd_hdmi_write_eld_info(struct hdmi_eld *eld,
|
| /linux/drivers/gpu/drm/radeon/ |
| H A D | radeon_audio.c | 779 ret = drm_eld_size(connector->eld); in radeon_audio_component_get_eld() 780 memcpy(buf, connector->eld, min(max_bytes, ret)); in radeon_audio_component_get_eld()
|