From: Jyri Sarha <jsarha@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>,
Jean-Francois Moine <moinejf@free.fr>
Cc: Mark Brown <broonie@kernel.org>,
peter.ujfalusi@ti.com, liam.r.girdwood@linux.intel.com,
alsa-devel@alsa-project.org, linux-omap@vger.kernel.org,
linux-fbdev@vger.kernel.org
Subject: Re: [alsa-devel] [PATCH v7.1 00/19] Rework OMAP4+ HDMI audio support
Date: Thu, 13 Nov 2014 14:54:48 +0000 [thread overview]
Message-ID: <5464C638.40708@ti.com> (raw)
In-Reply-To: <54648149.9070104@ti.com>
On 11/13/2014 12:00 PM, Tomi Valkeinen wrote:
> Hi,
>
> On 13/11/14 11:17, Jean-Francois Moine wrote:
>> On Thu, 13 Nov 2014 10:05:28 +0200
>> Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
...
>> and I saw only a few dependencies between the 2 subsystems:
>>
>> - the CODEC must know the transmitter parameters (DAIs - static -,
>> audio constraints - dynamic -),
>
> The video mode (i.e. availability of audio) or the EDID (i.e. the
> supported audio parameters) may change at any time, so I presume in your
> series the video side will inform the codec of these changes at any point?
>
>> - the CODEC must alert the transmitter on audio start and stop.
>>
>> I don't think that stopping audio streaming on HDMI disconnection is
>
> And you allow audio playback also if the monitor does not support audio,
> or the video mode does not supprot audio?
>
>> useful. I even let audio streaming start when the HDMI cable is
>> disconnected.
>
> Ah, this is actually unclear thing to me: what should the audio side
> behavior be when the HDMI cable is disconnected or the video is blanked?
> I believe the options are:
>
> a) Always keep the audio device operational, no matter what is the
> status of the video side. How should this work if the HDMI videomode or
> the HDMI monitor does not support audio? Is it desirable that the
> userspace has no idea that the audio is not actually going anywhere?
>
> b) Remove the audio device when audio support is not available. This
> kind of makes sense, as, well, there's no possibility for audio output.
> But maybe this is not how linux sound devices are supposed to behave?
>
> c) Return errors when playback is attempted when audio support is not
> available. Again, this kind of makes sense, as audio playback is not
> possible. But maybe this is also not how audio devices generally work.
>
> Jyri, were there some other options we discussed?
>
There was the 4th option: the driver forcing pause on the pcm when the
cable is disconnected or screen is blanked and resuming it automatically
when the picture is back. But I think that is maybe too hackish solution.
Considering the big picture, including the userspace. I think we would
need some way to tell the userspace when the HDMI device is available.
The problem is the same for both a and c cases. Maybe a read only alsa
mixer could be used for that.
Cheers,
Jyri
> Currently, the OMAP HDMI version does c). It's the easiest solution for us.
>
> Option a) is a bit problematic for us, as it requires the HDMI IP side
> to be fully operational, with the video output configured and enabled,
> as that is what drives the audio DMA. If we stop the video, I believe
> the audio DMA will freeze, and it'll lead to timeouts on the audio side.
>
> I haven't tried, but I believe we could program the HDMI IP to some safe
> default video mode if the cable is disconnected, and turn off the actual
> HDMI PHY, so that the audio side could work even if the HDMI stream is
> not going anywhere. I think it would be quite big change to how the HDMI
> driver works at the moment.
>
> But then, if the cable _is_ connected and the video mode is such that it
> cannot not support audio, I wonder if we can still fake the audio
> playback or will the HDMI IP get confused...
>
next prev parent reply other threads:[~2014-11-13 14:54 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-12 14:40 [PATCH v7.1 00/19] Rework OMAP4+ HDMI audio support Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 01/19] OMAPDSS: hdmi_wp: Protect reserved bits in hdmi_wp_audio_config_format() Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 02/19] OMAPDSS: hdmi5_core: Initialize mandatory sample_order parameter Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 03/19] OMAPDSS: hdmi.h: Add HDMI_AUDIO_LAYOUT_6CH enum value Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 04/19] OMAPDSS: hdmi: Remove most of OMAP[45]_DSS_HDMI_AUDIO ifdefs Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 05/19] OMAPDSS: hdmi4_core: Remove unused hdmi4_audio_get_dma_port() Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 06/19] OMAPDSS: hdmi_wp: Add function for getting audio dma address Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 07/19] OMAPDSS: hdmi: Make hdmi structure public Jyri Sarha
2014-11-12 14:40 ` [PATCH v7.1 08/19] OMAPDSS: hdmi: Add pdev pointer for audio_pdev in HDMI DRV data Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 09/19] ASoC: omap-hdmi-audio: Add platform device for OMAP HDMI audio support Jyri Sarha
2014-11-29 11:32 ` Mark Brown
2014-12-01 7:15 ` Jyri Sarha
2014-12-01 19:21 ` Mark Brown
2014-11-12 14:41 ` [PATCH v7.1 10/19] OMAPDSS: Kconfig: Remove HDMI audio booleans from Kconfig Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 11/19] OMAPDSS: hdmi: Make hdmi_mode_has_audio() more user friedly Jyri Sarha
2014-11-14 14:37 ` Vladimir Zapolskiy
2014-11-14 15:05 ` Jyri Sarha
2014-11-17 15:12 ` Vladimir Zapolskiy
2014-11-15 15:52 ` Vladimir Zapolskiy
2014-11-12 14:41 ` [PATCH v7.1 12/19] OMAPDSS: hdmi.h: Add members to hdmi drvdata for audio implementation Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 13/19] OMAPDSS: hdmi4: Remove callbacks for the old ASoC DAI driver Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 14/19] OMAPDSS: hdmi4: Register ASoC platform device for omap hdmi audio Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 15/19] OMAPDSS: hdmi5: Remove callbacks for the old ASoC DAI driver Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 16/19] OMAPDSS: hdmi5: Register ASoC platform device for omap hdmi audio Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 17/19] ASoC: omap: Remove obsolete HDMI audio code and Kconfig options Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 18/19] OMAPDSS: Remove all references to obsolete HDMI audio callbacks Jyri Sarha
2014-11-12 14:41 ` [PATCH v7.1 19/19] OMAPDSS: hdmi5: Change hdmi_wp idlemode to to no_idle for audio playback Jyri Sarha
2014-11-12 22:23 ` [PATCH v7.1 00/19] Rework OMAP4+ HDMI audio support Mark Brown
2014-11-13 8:05 ` Tomi Valkeinen
2014-11-13 9:17 ` [alsa-devel] " Jean-Francois Moine
2014-11-13 10:00 ` Tomi Valkeinen
2014-11-13 14:54 ` Jyri Sarha [this message]
2014-11-13 14:57 ` Jean-Francois Moine
2014-11-13 15:44 ` Tomi Valkeinen
2014-11-14 10:59 ` Jean-Francois Moine
2014-11-20 10:59 ` Tomi Valkeinen
2014-11-21 11:23 ` Mark Brown
2014-11-21 12:10 ` Jyri Sarha
2014-11-21 16:38 ` Mark Brown
2014-11-24 8:48 ` Tomi Valkeinen
2014-11-24 14:55 ` Jyri Sarha
2014-11-21 12:35 ` Jyri Sarha
2014-11-21 16:14 ` Mark Brown
2014-11-24 8:18 ` Tomi Valkeinen
2014-11-24 17:39 ` Mark Brown
2014-11-25 9:26 ` Tomi Valkeinen
2014-11-25 18:10 ` Mark Brown
2014-11-26 11:02 ` Tomi Valkeinen
2014-11-29 11:59 ` Mark Brown
2014-12-01 9:07 ` Tomi Valkeinen
2014-12-01 19:31 ` Mark Brown
2014-12-02 8:52 ` Jyri Sarha
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=5464C638.40708@ti.com \
--to=jsarha@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=moinejf@free.fr \
--cc=peter.ujfalusi@ti.com \
--cc=tomi.valkeinen@ti.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;
as well as URLs for NNTP newsgroup(s).