On Fri, 01 Apr 2016 11:44:36 +0200, Subhransu S. Prusty wrote:
On Fri, Apr 01, 2016 at 11:17:03AM +0200, Takashi Iwai wrote:
On Fri, 01 Apr 2016 10:48:37 +0200, Subhransu S. Prusty wrote:
Currently channel map controls don't reflect the sink's capability to userspace. It reports the complete hdmi spec channel allocation table to the userspace which is of little use to the userspace applications.
With this patch, tlv callback is modified to read the speaker allocation block from sink, and a mapping alsa channel map is presented to the userspace.
Well, it's not clear what this patch really achieves. Could you give more concrete example?
Sure. The existing TLV callback implementation copies all of the cea_channel_speaker_allocation map table to the TLV container irrespective of what is reported by sink. With this patch it parses the spk_alloc block as queried from the ELD, and copies only the corresponding channel map from the cea channel speaker allocation table. Thus the user can parse the TLV container to identify sink's capability and set the channel map accordingly.
I see. I thought the chmap was reported from ELD spk alloc bits from the beginning, but I was wrong. The TLV exposed all maps indeed.
Please let me know if this explains properly, will add to the commit message.
Yes, this is more understandable.
Also, did you test this with AMD chips?
No, I dont have access to AMD chips. I believe this wouldn't break behavior in AMD chipsets as it makes use of already parsed spk alloc block.
Fair enough. But then please put this in the changelog, too.
thanks,
Takashi