On Thu, Apr 11, 2024 at 05:22:11PM +0200, Marcello Sylvester Bauer wrote: > Currently, the transfer polling interval is set to 1ms, which is the > frame rate of full-speed and low-speed USB. The USB 2.0 specification > introduces microframes (125 microseconds) to improve the timing > precision of data transfers. > > Reducing the transfer interval to 1 microframe increases data throughput > for high-speed and super-speed USB communication > > Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@xxxxxxxxxxxxx> > Signed-off-by: Marcello Sylvester Bauer <sylv@xxxxxxx> > --- > drivers/usb/gadget/udc/dummy_hcd.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c > index dab559d8ee8c..f37b0d8386c1 100644 > --- a/drivers/usb/gadget/udc/dummy_hcd.c > +++ b/drivers/usb/gadget/udc/dummy_hcd.c > @@ -50,6 +50,8 @@ > #define POWER_BUDGET 500 /* in mA; use 8 for low-power port testing */ > #define POWER_BUDGET_3 900 /* in mA */ > > +#define DUMMY_TIMER_INT_NSECS 125000 /* 1 microframe */ If the is_super_speed and is_high_speed module parameters are both false then the timer should run at 1-ms intervals. So this needs to be something that can be adjusted at runtime, not a constant. Alan Stern