[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250421114943.085160c6@foxbook>
Date: Mon, 21 Apr 2025 11:49:43 +0200
From: MichaĆ Pecio <michal.pecio@...il.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: Laurent Pinchart <laurent.pinchart@...asonboard.com>, Hans de Goede
<hdegoede@...hat.com>, Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org
Subject: Re: [PATCH] media: uvcvideo: Support large SuperSpeedPlus
isochronous endpoints
On Mon, 21 Apr 2025 10:51:38 +0200, Greg KH wrote:
> On Mon, Apr 21, 2025 at 09:59:51AM +0200, Michal Pecio wrote:
> > USB 3.1 increased maximum isochronous bandwidth to 96KB per
> > interval, too much for 16 bits and the SuperSpeed Endpoint
> > Companion descriptor. A new SuperSpeedPlus Isochronous Endpoint
> > Companion descriptor was introduced to encode such bandwidths, see
> > spec sections 9.6.7, 9.6.8.
> >
> > Support the descriptor with code based on
> > xhci_get_max_esit_payload() and widen all 'psize' variables to 32
> > bits. Subsequent calculations are 32 bit already and not expected
> > to overflow, so this change ought to suffice for proper alt setting
> > selection on USB 3.x Gen 2 devices.
> >
> > Signed-off-by: Michal Pecio <michal.pecio@...il.com>
> > ---
> >
> > This change appears to be a strict necessity for supporting USB3
> > Gen2 isochronous devices meaningfully. Whether it's sufficient I
> > don't know, I don't have such HW. No regression seen on High Speed
> > and SuperSpeed.
>
> If you don't have the hardware, why make this change?
Because it's an obvious and easily removed limitation, and may be the
only thing missing in uvcvideo to support such hardware. I saw it when
investigating a related SuperSpeed problem earlier.
If media believes that more is needed, or if there is objection to such
changes based on spec alone then fine, at least the patch is out there
for anyone wondering why things aren't working.
> > drivers/media/usb/uvc/uvc_
>
> This line looks odd, because:
>
> > drivers/media/usb/uvc/uvc_driver.c | 2 +-
> > drivers/media/usb/uvc/uvc_video.c | 13 +++++++++----
> > drivers/media/usb/uvc/uvcvideo.h | 4 ++--
> > 3 files changed, 12 insertions(+), 7 deletions(-)
>
> Only 3 files were changed. What went wrong?
Sorry, some editing mistake.
Powered by blists - more mailing lists