All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Daniel Baluta <daniel.baluta@gmail.com>,
	sound-open-firmware@alsa-project.org,
	alsa-devel@alsa-project.org,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	liam.r.girdwood@linux.intel.com, vkoul@kernel.org,
	broonie@kernel.org, andriy.shevchenko@linux.intel.com,
	Alan Cox <alan@linux.intel.com>
Subject: Re: [PATCH v5 05/14] ASoC: SOF: Add PCM operations support
Date: Tue, 9 Apr 2019 08:50:03 -0500	[thread overview]
Message-ID: <aafcef1c-ca4d-3026-0c58-788713479df9@linux.intel.com> (raw)
In-Reply-To: <s5hmukz4nbf.wl-tiwai@suse.de>


>>>>>> +	/* set runtime config */
>>>>>> +	runtime->hw.info = SNDRV_PCM_INFO_MMAP |
>>>>>> +			  SNDRV_PCM_INFO_MMAP_VALID |
>>>>>> +			  SNDRV_PCM_INFO_INTERLEAVED |
>>>>>> +			  SNDRV_PCM_INFO_PAUSE |
>>>>>> +			  SNDRV_PCM_INFO_RESUME |
>>>>>> +			  SNDRV_PCM_INFO_NO_PERIOD_WAKEUP;
>>>>>
>>>>> Does SOF support the full resume?  That is, the stream gets resumed
>>>>> at
>>>>> the exact position that was suspended.  Most devices can't, hence
>>>>> they
>>>>> don't set *_INFO_RESUME flag and let user-space restarting.
>>>> Hi Takashi,
>>>>
>>>> Thanks for your comment. The SOF driver definitely cannot guarantee to
>>>> resume from the exact same position due to the fact that triggers for
>>>> the host dma and link dma are not synchronized and also IPC scheduling
>>>> will affect this. So we should remove INOF_RESUME from hw.info.
>>>>
>>>> I do one follow up question for you. When a stream resumes/restarts
>>>> after suspend, we have the need for restoring the hw_params in the SOF
>>>> driver prior to handling the START trigger. I noticed that the
>>>> legacy/skylake driver does not seem to do this though. Do you have any
>>>> insights on what we might be missing in the SOF driver?
>>>
>>> So, SOF mandates the re-setup of the hw params in BE at resume?
>>> Then the right place to do is in the prepare callback.  Without
>>> SNDRV_PCM_INFO_RESUME flag, the PCM core won't trigger RESUME, but
>>> returns -ENOSYS.  Then user-space will do prepare, and start with the
>>> normal trigger.
>>
>> Takashi, some of us at Intel are a bit nervous about returning an
>> error to force the application to jump to its error-handling code
>> (typically only done for xruns and not always rock-solid) and as a
>> side effect get a prepare ioctl. I checked that e.g. CRAS does support
>> this mode but I wonder how many application developers know about
>> this. I personally didn't.
> 
> Essentially all applications are supposed to do so.  There are only
> few drivers that support really the full resume.  Some drivers set the
> flag, but many of them must be incorrect, especially ASoC ones.
> 
>> Moreover, it seems that the default behavior is rather to support
>> RESUME, even if the hardware can't precisely restart from the same
>> position, so we are concerned about exposing new errors when SOF is
>> selected instead of legacy drivers (Baytrail, Atom-SST and
>> Skylake-SST).
>>
>> In short, is this really your recommendation to remove this
>> INFO_RESUME flag? And if yes, should we demote all existing Intel
>> drivers and remove this flag as well?
> 
> Yes, better to start with less -- especially if this allows us to
> simplify the code a lot.

ok, thanks for confirming. we'll remove the INFO_RESUME flag in SOF and 
follow-up with the removal on all other Intel drivers. Thanks for 
enlightening us on this.
-Pierre

  reply	other threads:[~2019-04-09 13:50 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-21 16:10 [PATCH v5 00/14] ASoC: Sound Open Firmware (SOF) core Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 01/14] ASoC: SOF: Add Sound Open Firmware driver core Pierre-Louis Bossart
2019-03-29 16:04   ` Takashi Iwai
2019-04-01 17:12     ` Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 02/14] ASoC: SOF: Add Sound Open Firmware KControl support Pierre-Louis Bossart
2019-03-29 16:04   ` Takashi Iwai
2019-04-01 17:13     ` Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 03/14] ASoC: SOF: Add driver debug support Pierre-Louis Bossart
2019-03-29 16:04   ` Takashi Iwai
2019-04-01 17:15     ` Pierre-Louis Bossart
2019-04-02  5:44       ` Mark Brown
2019-04-02 13:47         ` Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 04/14] ASoC: SOF: Add support for IPC IO between DSP and Host Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 05/14] ASoC: SOF: Add PCM operations support Pierre-Louis Bossart
2019-04-04 10:37   ` Takashi Iwai
2019-04-04 11:00     ` [Sound-open-firmware] " Liam Girdwood
2019-04-04 11:19     ` Keyon Jie
2019-04-04 13:53     ` Pierre-Louis Bossart
2019-04-04 14:03       ` Takashi Iwai
2019-04-04 19:13     ` Ranjani Sridharan
2019-04-05 12:30       ` Takashi Iwai
2019-04-05 14:24         ` Ranjani Sridharan
2019-04-08 19:31         ` Pierre-Louis Bossart
2019-04-09  8:04           ` Takashi Iwai
2019-04-09 13:50             ` Pierre-Louis Bossart [this message]
2019-04-09 14:23               ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-04-09 15:48                 ` Takashi Iwai
2019-04-09 16:11                   ` Pierre-Louis Bossart
2019-04-09 16:52                     ` Takashi Iwai
2019-03-21 16:10 ` [PATCH v5 06/14] ASoC: SOF: Add support for loading topologies Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 07/14] ASoC: SOF: Add DSP firmware logger support Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 08/14] ASoC: SOF: Add DSP HW abstraction operations Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 09/14] ASoC: SOF: Add firmware loader support Pierre-Louis Bossart
2019-04-04 13:25   ` Takashi Iwai
2019-04-04 13:59     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-04-04 14:05       ` Takashi Iwai
2019-03-21 16:10 ` [PATCH v5 10/14] ASoC: SOF: Add userspace ABI support Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 11/14] ASoC: SOF: Add PM support Pierre-Louis Bossart
2019-04-04 13:31   ` Takashi Iwai
2019-03-21 16:10 ` [PATCH v5 12/14] ASoC: SOF: Add Nocodec machine driver support Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 13/14] ASoC: SOF: Add xtensa support Pierre-Louis Bossart
2019-03-21 16:10 ` [PATCH v5 14/14] ASoC: SOF: Add utils Pierre-Louis Bossart
2019-04-04 13:34   ` 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=aafcef1c-ca4d-3026-0c58-788713479df9@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alan@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=daniel.baluta@gmail.com \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    --cc=sound-open-firmware@alsa-project.org \
    --cc=tiwai@suse.de \
    --cc=vkoul@kernel.org \
    /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.