All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Tanu Kaskinen <tanuk@iki.fi>
Cc: Hans de Goede <hdegoede@redhat.com>,
	alsa-devel@alsa-project.org,
	pulseaudio-discuss@lists.freedesktop.org
Subject: Re: [alsa-devel] pulseaudio fails to start with kernel 4.11, caused by new snd_hdmi_lpe_audio module)
Date: Wed, 29 Mar 2017 15:06:09 +0200	[thread overview]
Message-ID: <s5ho9wkjkqm.wl-tiwai@suse.de> (raw)
In-Reply-To: <1490792385.2239.3.camel@iki.fi>

On Wed, 29 Mar 2017 14:59:45 +0200,
Tanu Kaskinen wrote:
> 
> On Wed, 2017-03-29 at 07:21 +0200, Takashi Iwai wrote:
> > On Tue, 28 Mar 2017 22:10:28 +0200,
> > Tanu Kaskinen wrote:
> > > 
> > > On Fri, 2017-03-24 at 23:01 +0100, Hans de Goede wrote:
> > > > Hi,
> > > > 
> > > > On 03/24/2017 07:18 PM, Tanu Kaskinen wrote:
> > > > > On Thu, 2017-03-23 at 09:57 +0100, Takashi Iwai wrote:
> > > > > > On Thu, 23 Mar 2017 04:16:52 +0100,
> > > > > > Pierre-Louis Bossart wrote:
> > > > > > > 
> > > > > > > On 3/21/17 2:56 AM, Hans de Goede wrote:
> > > > > > > > I: [pulseaudio] alsa-sink.c: Using 1.0 fragments of size 352832 bytes
> > > > > > > > (2000.18ms), buffer size is 352832 bytes (2000.18ms)
> > > > > > > > I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 20.00ms
> > > > > > > > I: [pulseaudio] alsa-sink.c: Driver does not support hardware volume
> > > > > > > > control, falling back to software volume control.
> > > > > > > > I: [pulseaudio] alsa-sink.c: Driver does not support hardware mute
> > > > > > > > control, falling back to software mute control.
> > > > > > > > I: [alsa-sink-HdmiLpeAudio] core-util.c: Successfully enabled SCHED_RR
> > > > > > > > scheduling for thread, with priority 5.
> > > > > > > > I: [alsa-sink-HdmiLpeAudio] alsa-sink.c: Starting playback.
> > > > > > > > I: [alsa-sink-HdmiLpeAudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HWSYNC
> > > > > > > > failed (-32)
> > > > > > > 
> > > > > > > Humm, single period and hw_sync failed, this could be testing the
> > > > > > > robustness of the single-period code and its mapping on multiple DMA
> > > > > > > descriptors? I haven't looked at the alsa module in eons but can't the
> > > > > > > number of periods be forced to two with module parameters while
> > > > > > > keeping the timer-based schedulng?
> > > > > 
> > > > > I think the code doesn't currently support this.
> > > > > 
> > > > > > It's -EPIPE and this is supposed to be the intentional error code from
> > > > > > HDMI LPE audio driver.  The streaming doesn't work when the gfx is
> > > > > > disconnected or the monitor audio is off.  It accepts the open, but it
> > > > > > returns -EPIPE for further accesses.
> > > > > > 
> > > > > > Maybe -EPIPE is no sensible choice, but the problem is that the driver
> > > > > > can't use the PCM DISCONNECT state because PA interprets it being the
> > > > > > complete disconnection of the card object instead of a temporary
> > > > > > disablement of PCM.
> > > > > 
> > > > > So is this a PulseAudio bug?
> > > > > 
> > > > > I: [alsa-sink-HdmiLpeAudio] alsa-sink.c: Starting playback.
> > > > > I: [alsa-sink-HdmiLpeAudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HWSYNC failed (-32)
> > > > > 
> > > > > The "Starting playback" message is printed just before the
> > > > > snd_pcm_start() call. PulseAudio doesn't check the return value of
> > > > > snd_pcm_start(), but maybe it should? Does the HWSYNC happen in
> > > > > snd_pcm_start()?
> > > > > 
> > > > > Can this EPIPE thing happen also during playback, not just when
> > > > > starting?
> > > > 
> > > > So is this the likely cause of the RT code killing pa, or do you
> > > > still need me to gather perf output ?
> > > 
> > > The perf output would be interesting.
> > > 
> > > It's still unclear to me if the hwsync thing is a bug in alsa, or
> > > something that pulseaudio should deal with. If there's no further input
> > > from the alsa developers, would you be able to test a pulseaudio patch
> > > if I write one? First I'd like to check whether the hwsync error
> > > happens inside snd_pcm_start(), and if so, does the error get reported
> > > in the snd_pcm_start() return value. If snd_pcm_start() returns an
> > > error, pulseaudio should probably react to it, although I'm not sure
> > > how. It would be easy to just remove the sink if there's an error, but
> > > I understood Takashi's comment so that it might be an intermittent
> > > error that depends on the graphics state, and if that's the case,
> > > pulseaudio would have to retry when the graphics state changes, but I
> > > don't know what kind of event could be used to get a notification about
> > > the state change.
> > 
> > Does PA really need to start streaming at its invocation time?
> > The crash happens when PA gets started via desktop autostart, and at
> > this moment, the HDMI graphics state is possible disconnected before
> > xrandr setup.  The HDMI connection state should have been informed /
> > notified to PA via the jack interface, so it should be possible to
> > judge beforehand.
> > 
> > Or it might be something wrong in the driver side regarding the jack
> > state processing?
> 
> I had a closer look at the PA log that was posted earlier. It looks
> like the device numbering is non-standard. Trying to open any of the
> hdmi:1,x devices fails. hw:1 can be opened, and pulseaudio assumes that
> it's an analog stereo device. Jack detection isn't going to work in
> this situation, because pulseaudio doesn't know that it should be
> looking at the hdmi jacks.
> 
> Can the driver be fixed to use the standard HDMI device numbers?

Hmm, it might be the missing hdmi PCM definition?

The latest alsa-lib git already contains the card config for HDMI LPE
audio, and this might help.  (Though, I thought I still saw the same
PA problem even with the card config.  Unfortunately I can't access
the box with the DP audio right now, so others may help more quickly
than me...)

Can anyone confirm that you have the latest alsa-lib git installed and
whether the PA issue is fixed or not?


thanks,

Takashi
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

  reply	other threads:[~2017-03-29 13:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-20 11:42 pulseaudio fails to start with kernel 4.11, caused by new snd_hdmi_lpe_audio module) Hans de Goede
2017-03-20 11:52 ` Takashi Iwai
2017-03-20 23:09   ` Pierre-Louis Bossart
2017-03-21  5:40     ` Takashi Iwai
2017-03-21  7:54       ` Arun Raghavan
2017-03-21  8:56         ` [pulseaudio-discuss] " Hans de Goede
2017-03-21  9:04           ` Arun Raghavan
2017-03-21 14:49             ` [pulseaudio-discuss] " Hans de Goede
2017-03-21 15:05               ` Arun Raghavan
2017-03-23  3:16           ` [alsa-devel] " Pierre-Louis Bossart
2017-03-23  8:57             ` [pulseaudio-discuss] " Takashi Iwai
2017-03-24 18:18               ` [alsa-devel] " Tanu Kaskinen
2017-03-24 22:01                 ` [pulseaudio-discuss] " Hans de Goede
2017-03-28 20:10                   ` [alsa-devel] " Tanu Kaskinen
2017-03-29  5:21                     ` Takashi Iwai
2017-03-29 12:59                       ` Tanu Kaskinen
2017-03-29 13:06                         ` Takashi Iwai [this message]
2017-03-29 13:14                           ` [pulseaudio-discuss] " Tanu Kaskinen
2017-03-29 13:26                             ` Takashi Iwai
2017-03-29 14:40                               ` [alsa-devel] " Tanu Kaskinen
2017-03-29 14:51                                 ` Takashi Iwai
2017-03-30 16:06                                   ` Tanu Kaskinen
2017-03-30 19:26                                     ` Takashi Iwai
2017-03-29 13:27                             ` Tanu Kaskinen
2017-03-29 13:30                               ` [pulseaudio-discuss] " Takashi Iwai

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=s5ho9wkjkqm.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=hdegoede@redhat.com \
    --cc=pulseaudio-discuss@lists.freedesktop.org \
    --cc=tanuk@iki.fi \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.