From: Arnaud Pouliquen <arnaud.pouliquen@st.com>
To: Jyri Sarha <jsarha@ti.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Cc: "moinejf@free.fr" <moinejf@free.fr>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
David Airlie <airlied@linux.ie>,
"broonie@kernel.org" <broonie@kernel.org>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"peter.ujfalusi@ti.com" <peter.ujfalusi@ti.com>,
Takashi Iwai <tiwai@suse.de>,
"tony@atomide.com" <tony@atomide.com>,
"tomi.valkeinen@ti.com" <tomi.valkeinen@ti.com>,
"bcousson@baylibre.com" <bcousson@baylibre.com>
Subject: Re: [PATCH RFC V2 0/5] another generic audio hdmi codec proposal
Date: Wed, 7 Oct 2015 10:19:27 +0200 [thread overview]
Message-ID: <5614D58F.9010102@st.com> (raw)
In-Reply-To: <5613EC62.8000007@ti.com>
>> My approach is the reverse: DRM driver does not need to know anything
>> about audio side. As ALSA is the client of DRM, seems more logical from
>> my point of view ...
>> Now if a generic solution must be found for all video drivers, sure,
>> your solution is more flexible.
>> But if i well understood fbdev drivers are no more accepted for upstream
>> (please correct me if I'm wrong).
>> So i don't know we have to keep fbdev in picture...
>>
>
> I am not promoting fbdev support. I am merely asking if we want to force
> all HDMI drivers to implement a drm_bridge if they want to support audio.
>
Yes this is a good point... My implementation is based on hypothesis
that HDMI drivers are now upstreamed as DRM drivers.
>>> - HDMI encoder driver implementations that do not use DRM bridge
>>> abstraction do not need add an extra DRM object just to get the
>>> audio working.
>>>
>>> Short comings I see in the current HDMI audio bridge approach:
>>>
>>> In its current from the DRM audio bridge abstraction pretends to be a
>>> generic audio abstraction for DRM devices, but the implementation is
>>> quite specific to external HDMI encoders with spdif and/or i2s
>>> interface. There is a lot of HDMI video devices that provide the
>>> digital audio interface (ASoC DAI) directly and there is no need for
>>> anything but dummy codec implementation (if following ASoC
>>> paradigm). Before going forward I think we should at least consider
>>> how this abstraction would serve those devices.
>> Sorry, but i don't see any difference between both implementations for
>> this point.In both implementations, ops are called only if defined.
>> Could you give me name of the drivers you have in mind?
>
> I am not talking about Beaglebone-Black or tda998x here. There are
> platforms where video HW provides the digital audio interface for HDMI
> audio directly. For instance OMAP4 and OMAP5 (see
> sound/soc/omap/omap-hdmi-audio.c and drivers/video/fbdev/omap2/dss/) are
> like that.
Not checked in details but seems similar to your approach except ops
used by cpu_dai.
>
>>>
>>> Also, I am not entirely happy how the drm_audio_bridge_funcs are used
>>> at the moment. The do not map too well to ASoC DAI callbacks and I do
>>> not see too much point in creating a completely new audio-callback
>>> abstraction, that is sligtly incompatible with ALSA, and then
>>> translating alsa callbacks to these new callbacks. I think the
>>> callbacks should map more or less directly ALSA callbacks.
>>
>> As API is defined in DRM, it seems more logical to match it with the one
>> defined for video. From my windows, i didn't see any blocking point to
>> connect codec callback with this API.
>> But anyway, this API is not freezed, it could be improved with your help.
>
> The most usual things can be made to work with your API too, but the
> translation is not the most efficient one and some features are missing,
> for instance muting.
Could be added but is it necessary if trigger is implemented?( see my
next comments)
> Also, in ALSA side the prepare and trigger
> callbacks are meant to be used only for starting and stopping the audio
> stream.
Yes but for me, it is required. Otherwise how to manage CPU-DAI master
configuration?
if stream is stopped, cpu_dai can be stopped as there is no more stream
to sent on bus. If no information is sent to HDMI, This generates HDMI
codec or protocol issue...
Use startup/shutdown/digital_mute seems not sufficient.
The stream is configured before either one of those are called.
> With your API each pause+resume from a video client will reconfigure the
> audio from the scratch.
Configuration is sent using pre_enable operation. So no reconfiguration
should be re-applied.
Best Regards
Arnaud
next prev parent reply other threads:[~2015-10-07 8:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-01 16:50 [PATCH RFC V2 0/5] another generic audio hdmi codec proposal Arnaud Pouliquen
2015-10-01 16:50 ` [PATCH RFC V2 1/5] video: hdmi: add helper function for N and CTS Arnaud Pouliquen
2015-10-01 16:50 ` [PATCH RFC V2 2/5] drm: add helper functions to add audio capabilities for bridge Arnaud Pouliquen
2015-10-01 16:50 ` [PATCH RFC V2 3/5] ASoC: codec: hdmi drm codec driver Arnaud Pouliquen
2015-10-01 16:50 ` [PATCH RFC V2 4/5] drm: sti: connect audio driver Arnaud Pouliquen
2015-10-01 16:50 ` [PATCH RFC V2 5/5] DT: sti: add audio HDMI dai link in audio card Arnaud Pouliquen
2015-10-05 13:27 ` [PATCH RFC V2 0/5] another generic audio hdmi codec proposal Jyri Sarha
2015-10-06 9:23 ` Arnaud Pouliquen
2015-10-06 14:33 ` [alsa-devel] " Jean-Francois Moine
2015-10-07 7:48 ` Arnaud Pouliquen
2015-10-07 9:05 ` [alsa-devel] " Russell King - ARM Linux
2015-10-06 15:44 ` Jyri Sarha
2015-10-06 16:46 ` Mark Brown
2015-10-06 18:51 ` [alsa-devel] " Russell King - ARM Linux
2015-10-07 7:36 ` Jyri Sarha
2015-10-07 8:19 ` Arnaud Pouliquen [this message]
2015-10-07 10:21 ` Lars-Peter Clausen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5614D58F.9010102@st.com \
--to=arnaud.pouliquen@st.com \
--cc=airlied@linux.ie \
--cc=alsa-devel@alsa-project.org \
--cc=bcousson@baylibre.com \
--cc=benjamin.gaignard@linaro.org \
--cc=broonie@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linux@arm.linux.org.uk \
--cc=moinejf@free.fr \
--cc=peter.ujfalusi@ti.com \
--cc=tiwai@suse.de \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox