linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Guan-Yu Lin <guanyulin@google.com>
Cc: gregkh@linuxfoundation.org, Thinh.Nguyen@synopsys.com,
	mathias.nyman@intel.com, stern@rowland.harvard.edu,
	perex@perex.cz, tiwai@suse.com, sumit.garg@linaro.org,
	kekrby@gmail.com, oneukum@suse.com, ricardo@marliere.net,
	lijiayi@kylinos.cn, quic_jjohnson@quicinc.com,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-sound@vger.kernel.org
Subject: Re: [PATCH v9 0/5] Support system sleep with offloaded usb transfers
Date: Mon, 3 Feb 2025 17:57:39 -0600	[thread overview]
Message-ID: <c8c699f7-bf9b-4e36-910e-c6f1c7092543@linux.dev> (raw)
In-Reply-To: <CAOuDEK2u509kNjyL6qm27QgvtoCscRcsLixW=W8ABz2NF8A-tw@mail.gmail.com>

On 2/2/25 20:57, Guan-Yu Lin wrote:
> On Tue, Jan 28, 2025 at 11:22 PM Pierre-Louis Bossart
> <pierre-louis.bossart@linux.dev> wrote:
>>
>> I am not following, sorry.
>>
>> Is the desired outcome to
>>
>> a) prevent the system from entering S3 if there is an active USB audio offloaded stream?
>>
>> or b) allow offloaded transactions even when the system is in S3?
>>
>>
>> which is it?
>>
>> a) would be rather interesting, but currently we don't have any such behavior supported. When the system enters S3 all audio stops. The stream will resume when the system goes back to S0. Do we really want the battery to drain in S3?
>>
>> b) seems rather complicated, once the on-going DMA transfers complete then who's going to refill buffers for the USB offloaded streams? Allowing the lowest level to operate even in S3 is only a small part of the puzzle, someone's got to provide data at some point. Unless the data is generated also by a side DSP having access to mass storage or wireless interfaces?
> 
> Thanks for the question, the intent of our proposal should be (b), to
> allow offloaded transactions even when the system is in S3.
> In our design, the DSP wakes the system before the buffers are fully
> drained. This patchset enables the USB controller for offloaded
> transfers during system suspend (S3). To be precise, this patchset
> focuses solely on enabling the USB controller in S3 and does not
> include other necessary components for continuous offloaded USB
> transfers. I'll revise the commit message/cover letter to reflect
> this.Thanks for highlighting the potential ambiguity.

Thanks for the precision.

It was my understanding that anything above S1 could incur a hardware/software latency of two seconds or more to go back to S0. That would imply a buffering scheme that's significantly larger than usual offloaded solutions. In "typical" offload implementations it's rare to go beyond 100s of ms, since at some point you run into user-experience issues when applying volume changes or when changing tracks. It's usually a no-go if the user has to wait for a perceivable amount of time while the buffers drain.

Not to mention that quite a few platforms no longer support S3, since 'Modern Standby' aka "S0 Low Power Idle" or 's2idle' was introduced in the Windows 10 days S3 became largely a legacy feature gradually dropped since no one really uses it.

  reply	other threads:[~2025-02-03 23:57 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-17 14:48 [PATCH v9 0/5] Support system sleep with offloaded usb transfers Guan-Yu Lin
2025-01-17 14:48 ` [PATCH v9 1/5] usb: dwc3: separate dev_pm_ops for each pm_event Guan-Yu Lin
2025-01-17 14:48 ` [PATCH v9 2/5] usb: xhci-plat: " Guan-Yu Lin
2025-01-17 14:48 ` [PATCH v9 3/5] usb: add apis for offload usage tracking Guan-Yu Lin
2025-01-17 14:48 ` [PATCH v9 4/5] xhci: sideband: add api to trace sideband usage Guan-Yu Lin
2025-01-17 14:48 ` [PATCH v9 5/5] usb: host: enable USB offload during system sleep Guan-Yu Lin
2025-02-06  0:13   ` Michał Pecio
2025-02-07 11:00     ` Guan-Yu Lin
2025-01-17 15:55 ` [PATCH v9 0/5] Support system sleep with offloaded usb transfers Pierre-Louis Bossart
2025-01-22 16:05   ` Guan-Yu Lin
2025-01-28 15:11     ` Pierre-Louis Bossart
2025-02-03  2:57       ` Guan-Yu Lin
2025-02-03 23:57         ` Pierre-Louis Bossart [this message]
2025-02-07 10:54           ` Guan-Yu Lin
2025-02-07 17:28             ` Pierre-Louis Bossart

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=c8c699f7-bf9b-4e36-910e-c6f1c7092543@linux.dev \
    --to=pierre-louis.bossart@linux.dev \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guanyulin@google.com \
    --cc=kekrby@gmail.com \
    --cc=lijiayi@kylinos.cn \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=oneukum@suse.com \
    --cc=perex@perex.cz \
    --cc=quic_jjohnson@quicinc.com \
    --cc=ricardo@marliere.net \
    --cc=stern@rowland.harvard.edu \
    --cc=sumit.garg@linaro.org \
    --cc=tiwai@suse.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).