alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: alsa-devel@alsa-project.org, Jerome Anand <jerome.anand@intel.com>
Subject: Re: [PATCH 1/4] ALSA: x86: Don't pass SNDRV_PCM_INFO_BATCH flag
Date: Sat, 04 Feb 2017 08:57:08 +0100	[thread overview]
Message-ID: <s5htw8agzhn.wl-tiwai@suse.de> (raw)
In-Reply-To: <aa88aec1-0703-a683-c19a-9f3b9bd0f233@linux.intel.com>

On Sat, 04 Feb 2017 00:13:49 +0100,
Pierre-Louis Bossart wrote:
> 
> 
> 
> On 02/03/2017 02:13 PM, Takashi Iwai wrote:
> > On Fri, 03 Feb 2017 20:39:49 +0100,
> > Pierre-Louis Bossart wrote:
> >> On 2/3/17 10:43 AM, Takashi Iwai wrote:
> >>> The PCM engine on LPE audio isn't like a batch-style process, but
> >>> rather it deals with the standard ring buffer.  Passing the BATCH info
> >>> flag is inappropriate.
> >> Humm, this is controversial. There are 4 DMA descriptors and getting a
> >> precise position in the stream is not straightforward.
> > Well, as far as I've tested, it is.  The buffer length register keeps
> > the remaining bytes, and you can easily read out and compute the
> > current position in fairly exact manner.  Even the old driver has that
> > information -- the patch David added does it.
> Yes, and I don't think anyone on the Intel side quite understood what
> David did there. The code didn't seem quite right.

The David's code should be mostly OK.  It just reads the length buffer
register that keeps the remaining bytes on the current BD.

The only doubtful part in the original code is the handling when it
reads zero or -1 from the length register.  It tries to ignore for a
couple of times.  The zero read-back may actually happen at any time,
and actually it means that we've missed one irq handling.  OTOH, a
negative value must not happen, and it means some serious hardware
issue, and we should stop streaming at this point.

> >> Rewind is also
> >> not supported so if you remove the BATCH flag you will push PulseAudio
> >> into doing timer-based scheduling and rewinds that probably don't
> >> work.
> > I don't think there is much difference regarding this.
> > Please check the buffer manage description in my previous post
> We've never tested the hardware in those configurations so I'd like a
> bit more time to double check how well this might work. None of us has
> a clear view of how much buffering and pre-fetch is done by the DMA
> engine so if you rewind 'too much' you may be out of luck.

Right, that's unclear part, especially for me without any hardware
datasheet ;)


> > In anyway, it'd be appreciated if you can test on your hardware.
> > I could test only on a single machine.
> I can test more but only in 10 days from now so if we could delay this
> patch a bit it'd be better.

OK, I can postpone this change and keep BATCH and DOUBLE.


thanks,

Takashi

  reply	other threads:[~2017-02-04  7:57 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-03 16:43 [PATCH 0/4] Yet another patchset for LPE audio refactoring Takashi Iwai
2017-02-03 16:43 ` [PATCH 1/4] ALSA: x86: Don't pass SNDRV_PCM_INFO_BATCH flag Takashi Iwai
2017-02-03 19:39   ` Pierre-Louis Bossart
2017-02-03 20:13     ` Takashi Iwai
2017-02-03 23:13       ` Pierre-Louis Bossart
2017-02-04  7:57         ` Takashi Iwai [this message]
2017-02-06 19:01           ` Takashi Iwai
2017-02-06 21:27             ` Pierre-Louis Bossart
2017-02-06 21:51               ` Takashi Iwai
2017-02-03 16:43 ` [PATCH 2/4] ALSA: x86: Explicit specify 32bit DMA Takashi Iwai
2017-02-03 16:43 ` [PATCH 3/4] ALSA: x86: Don't check connection in lowlevel accessors Takashi Iwai
2017-02-03 16:44 ` [PATCH 4/4] ALSA: x86: Refactor PCM process engine Takashi Iwai
2017-02-03 19:47   ` Pierre-Louis Bossart
2017-02-03 20:11     ` Takashi Iwai
2017-02-03 23:22       ` Pierre-Louis Bossart
2017-02-04  7:51         ` Takashi Iwai
2017-02-06 11:22           ` Takashi Iwai
2017-02-06 15:46             ` Pierre-Louis Bossart
2017-02-06 15:54               ` Takashi Iwai
2017-02-06 16:00                 ` Pierre-Louis Bossart
2017-02-06 19:07 ` [PATCH 0/4] Yet another patchset for LPE audio refactoring Takashi Iwai
2017-02-06 21:16   ` Pierre-Louis Bossart
2017-02-06 21:45     ` Takashi Iwai
2017-02-06 23:56       ` Pierre-Louis Bossart
2017-02-07  1:22         ` Pierre-Louis Bossart
2017-02-07  6:39         ` 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=s5htw8agzhn.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=jerome.anand@intel.com \
    --cc=pierre-louis.bossart@linux.intel.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).