exynos drm hdmi audio: how to recieve audio parameters (sf, bps, channel count)

Lars-Peter Clausen lars at metafoo.de
Thu Jul 19 06:42:05 PDT 2012


On 07/19/2012 02:22 PM, Rob Clark wrote:
> On Tue, Jul 17, 2012 at 1:12 AM, RAHUL SHARMA <rahul.sharma at samsung.com> wrote:
>> hi,
>>
>> I am adding support for hdmi audio, inside exynos drm hdmi driver. Hdmi audio is initialized with default parameters. I want to implement the mechanism to update hdmi registers, whenever audio properties got changed (i2s/spdif). raedon/r600 drm dirver is polling the audio ip every 100 ms and reconfigure the hdmi audio block. This is not possible with exynos as all information cannot be collected from i2s tx registers. It is directly set on wm8994 connected through i2c.
>> Possible solution:
>> 1) drm driver exposing ioctl for setting audio parameters.
>> 2) alsa driver notifying the change in audio parameters through kernel notifiers. drm hdmi driver subscribed for the same.
> 
> I am certainly not an audio expert, but I am pretty sure something
> along the lines of solution #2 would be better.  I don't think
> userspace would want to know about some exynos drm specific ioctls in
> order to make audio work.
> 
> BR,
> -R


I don't know how the audio setup for exynos HDMI hardware looks like, so
this might not be applicable in this case. But what I did for HDMI
transmitter I was working on, is to register a ASoC codec device as a
subdevice to the HDMI transmitter. All access to the sound registers is done
from that subdevice and you don't need any special notifier hooks, since you
can use the normal alsa driver callbacks.

It might be a good idea if you could describe how your setup looks exactly.
E.g. which components does the audio stream pass through, where does it
originate and how the different components related to each other.

- Lars


More information about the dri-devel mailing list