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

Kai Vehmanen kai.vehmanen at linux.intel.com
Tue Aug 18 13:45:22 CEST 2020


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


More information about the Alsa-devel mailing list