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@xxxxxxxxx> > --- > > 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? > 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? thanks, greg k-h