From: Michal Pecio <michal.pecio@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Brent Page <brentfpage@gmail.com>, linux-usb@vger.kernel.org
Subject: Re: TT budgeting for EHCI; accommodate 1023-byte full-speed isochronous–in endpoints
Date: Wed, 29 Apr 2026 22:04:59 +0200 [thread overview]
Message-ID: <20260429220459.0c304ea6.michal.pecio@gmail.com> (raw)
In-Reply-To: <49a41b4c-34ac-4627-adcb-d0e989470610@rowland.harvard.edu>
On Wed, 29 Apr 2026 15:32:07 -0400, Alan Stern wrote:
> On Wed, Apr 29, 2026 at 09:24:08PM +0200, Michal Pecio wrote:
> > Yes, but per spec transfers are budgeted based on wMaxPacketSize and
> > actual SSPLITs may be shorter, while subsequent transfers may still
> > remain budgeted into a future uframe.
>
> The actual SSPLIT will be shorter only if it is a short transfer
> (that is, shorter than the maxpacket size). Hence there won't be a
> subsequent transactions in a future uframe, even if some are budgeted
> there.
Not for this endpoint, but another one may be budgeted next. Say, two
isoc endpoints with 188 byte budget each. In Y0 EP1 moves one byte and
leaves some time unused, near the end of Y0 EP2 SSPLIT arrives for Y1.
Seems legal, so I don't think TT can assume that it has seen the end of
periodic transfers when its queue runs empty. IDK what it does then.
> > Then I think it doesn't support 1023 byte packets at all.
> > 1023/188=5.4 and if worst case bit stuffing factor is 7/6 then up
> > to 6.3 uframes of transfer time. Completion in Y5 or Y6 and CSPLIT
> > required in Y7.
>
> For iso-IN, that's right.
>
> > IOW, you play Russian Roulette with bit stuffing if you enable
> > this.
>
> The driver is not perfect. No doubt about it.
This raises question how much sense there is in patches enabling such
endpoints. Maybe worth it for OUT, if they currently don't work. Or for
fans of RR, if there are no other side effects :)
> > > Adding support would complicate the driver considerably and yield
> > > relatively little benefit now that xHCI is so widespread.
> >
> > Fun fact: not all xHCI supports it either.
>
> Heh. I'm a little surprised the xHCI implementors were able to do
> all this scheduling in hardware in the first place; it's not an easy
> problem.
It's firmware on some 8051 or similar monstrosity. Often upgradeable.
Often upgrades exist, presumably for valid reasons.
Regards,
Michal
next prev parent reply other threads:[~2026-04-29 20:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 1:24 TT budgeting for EHCI; accommodate 1023-byte full-speed isochronous–in endpoints Brent Page
2026-04-28 21:19 ` Alan Stern
2026-04-29 9:36 ` Michal Pecio
2026-04-29 11:58 ` Michal Pecio
2026-04-29 17:56 ` Alan Stern
2026-04-29 19:24 ` Michal Pecio
2026-04-29 19:32 ` Alan Stern
2026-04-29 19:52 ` Brent Page
2026-04-30 2:27 ` Alan Stern
2026-04-30 6:46 ` Brent Page
2026-04-29 20:04 ` Michal Pecio [this message]
2026-04-30 1:47 ` Alan Stern
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=20260429220459.0c304ea6.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=brentfpage@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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