> Date: Sat, 3 Sep 2022 09:31:39 +0200
> From: Marcus Glocker <mar...@nazgul.ch>
> 
> On Tue, Aug 30, 2022 at 07:17:19AM +0200, Marcus Glocker wrote:
> 
> > Periodic transfers on dwctwo(4) work very unreliable today.  If I want
> > to use my RPI3B+ as a workstation, the keyboard is working so
> > unreliable, I can't hardly log-in to X.  Playing USB audio isn't fun
> > either.
> > 
> > After circulating this diff internally for a while, and merging back the
> > received feedback, I'm sending it out here.  This is version seven of
> > the diff.  It includes another change, which is to run dwctwo(4) on
> > IPL_VM instead of IPL_USB, like NetBSD does it already, and as briefly
> > discussed with kettenis@.  It enhances the reliability of the periodic
> > transfers further by prioritizing them against IPL_BIO interrupts, as
> > i.e. coming from bcmsdhost(4).
> > 
> > The other majority of the diff contains the merging with the
> > Linux driver, which did a large rework on the periodic scheduling
> > to overcome similar issues we are seeing currently.  Also being
> > in sync with the Linux driver will make future adaption of improvements
> > much more easy.  Today we are so much out of sync, we can hardly adapt
> > patches from there.
> > 
> > With this diff following tasks can run in parallel on my RPI3B+:
> > 
> >     * Reliable keyboard.
> >     * USB audio streaming.
> >     * USB video streaming.
> >     * Disk operations.
> > 
> > Still on high system interrupts, audio will crackle a bit, and the
> > keyboard will sometimes miss or repeat keystrokes.  I have some ideas
> > on how to further improve that once the diff should make it in, like
> > scheduling continuous transfers for isoc and interrupt pipes.  See my
> > recent diff about 'Continuous USB transfers'.
> > 
> > I have tested it for quite a while on arm64 and regression tested on
> > octeon.  As a summary;  It's still not perfect, but it's better than
> > before, and I think it's the way forward to get still better :-)
> > 
> > Further testing, comments, and OKs welcome.
> 
> In the meantime I also have tested the uaudio(4) recording on the
> RPI3B+;  While with a snapshot kernel there is consistent noise in
> the recording, the recording with the synced driver is clear.

go for it

Reply via email to