Re: [PATCH v2] ASoC: hdac_hdmi: support 'ELD' mixer

From: Kai Vehmanen
Date: Tue Aug 18 2020 - 07:46:31 EST


Hey,

a general comment first. We are trying to move development to patch_hdmi,
but given we still have platforms using hdac_hdmi, this patch seems like a
useful addition.

On Tue, 18 Aug 2020, Brent Lu wrote:

> Add an binary mixer 'ELD' to each HDMI PCM device so user space
> could read the ELD data of external HDMI display.

Minor spelling fixes:
"Add a binary mixer"
"so user space can read"

> +static int hdac_hdmi_eld_ctl_get(struct snd_kcontrol *kcontrol,
> + struct snd_ctl_elem_value *ucontrol)
> +{
[...]
> + list_for_each_entry(port, &pcm->port_list, head) {
> + eld = &port->eld;
> +
[...]
> + memcpy(ucontrol->value.bytes.data, eld->eld_buffer,
> + eld->eld_size);
> + break;
> + }

This is a bit iffy part. If same PCM is connected to multiple receivers,
you return ELD data for the first one and ignore the rest. OTOH, this is
inline with comment in hdac_hdmi_get_port_from_cvt() in that this
pcm-to-many routing is not really supported by the driver now. But
jack status reporting is done a port basis, not per PCM/CVTs, so this is
not fully aligned.

Hmm. Given the proposed patch is aligned with the user-space interface
exposed by patch_hdmi.c, I'm ok to go with this. Can you add an explicit
comment to explain what is happening above?

Br, Kai