linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michał Pecio" <michal.pecio@gmail.com>
To: FPS <mista.tapas@gmx.net>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>, linux-usb@vger.kernel.org
Subject: Re: Misbehaving Alder Lake-N PCH USB 3.2 xHCI Host Controller
Date: Sun, 25 Aug 2024 06:58:31 +0200	[thread overview]
Message-ID: <20240825065831.0eaba5b2@foxbook> (raw)
In-Reply-To: <ffb0be5f-11f9-4f94-b292-f47885cfa26a@gmx.net>

I believe what happens is that in full duplex, either by request from
Jack or on its own, snd-usb-audio attempts to synchronize the playback
and recording streams by scheduling packets to move in specific USB
(micro)frames.

With playback only, the queued packets are only marked "ASAP" and the
hardware can cheat by delaying them to the next frame if either:
- it fails to do the transfer on time for internal reasons
- we fail to queue the transfer before its due time

See discussion in xHCI spec 4.10.3.1, 4.10.3.2.

Regarding capture, snd-usb-audio seems to always queue about 10 packets
or so. Latency depends only on the hardware returning them quickly and
no delays in the IRO-drivers-application pipeline. There is almost zero
risk that the URBs won't be resubmitted on time and the hardware will
face either an empty queue or an already stale packet.

That being said, I'm seeing Missed Service Errors on the recording side,
so it's possible that in my case the ASmedia controller is to blame...

  reply	other threads:[~2024-08-25  4:58 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-18 20:56 Misbehaving Alder Lake-N PCH USB 3.2 xHCI Host Controller FPS
2024-08-19 13:38 ` Mathias Nyman
2024-08-19 20:12   ` FPS
2024-08-20 11:01     ` Michał Pecio
2024-08-20 21:04       ` FPS
2024-08-21 13:02         ` Michał Pecio
2024-08-21 13:46           ` fps
2024-08-21 14:15           ` Mathias Nyman
2024-08-21 16:49             ` Michał Pecio
2024-08-23 11:43             ` FPS
2024-08-24 21:22               ` FPS
2024-08-25  4:58                 ` Michał Pecio [this message]
2024-08-25  7:46                   ` fps
2024-08-25 15:15                     ` Michał Pecio
2024-08-25 20:38                       ` FPS
2024-08-27 10:30                     ` FPS
2024-08-27 11:31                       ` Mathias Nyman
2024-08-27 12:18                         ` FPS
2024-08-27 13:49                           ` Mathias Nyman
2024-08-27 12:37                 ` Mathias Nyman
2024-08-28  9:15                   ` FPS
2024-08-27 12:38               ` Mathias Nyman
2024-08-27 20:49                 ` FPS

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=20240825065831.0eaba5b2@foxbook \
    --to=michal.pecio@gmail.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=mista.tapas@gmx.net \
    /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).