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