Message ID | c2049798e1bce3ea38ae59dd17bbffb43e78370c.1618447155.git.Thinh.Nguyen@synopsys.com |
---|---|
State | Superseded |
Headers | show |
Series | usb: dwc3: gadget: Remove FS bInterval_m1 limitation | expand |
Hi, Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes: > The programming guide incorrectly stated that the DCFG.bInterval_m1 must > be set to 0 when operating in fullspeed. There's no such limitation for > all IPs. do we have an updated Databook correcting this statement? > Cc: <stable@vger.kernel.org> > Fixes: a1679af85b2a ("usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1") > Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> > --- > drivers/usb/dwc3/gadget.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 6227641f2d31..d87a29bd7d9b 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -608,12 +608,13 @@ static int dwc3_gadget_set_ep_config(struct dwc3_ep *dep, unsigned int action) > u8 bInterval_m1; > > /* > - * Valid range for DEPCFG.bInterval_m1 is from 0 to 13, and it > - * must be set to 0 when the controller operates in full-speed. > + * Valid range for DEPCFG.bInterval_m1 is from 0 to 13. > + * > + * NOTE: The programming guide incorrectly stated bInterval_m1 > + * must be set to 0 when operating in fullspeed. Internally the > + * controller does not have this limitation. might be a good idea to refer to the section in this comment ;-)
Felipe Balbi wrote: > > Hi, > > Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes: >> The programming guide incorrectly stated that the DCFG.bInterval_m1 must >> be set to 0 when operating in fullspeed. There's no such limitation for >> all IPs. > > do we have an updated Databook correcting this statement? Not yet. We're in the process of updating the databook for this particular issue. > >> Cc: <stable@vger.kernel.org> >> Fixes: a1679af85b2a ("usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1") >> Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> >> --- >> drivers/usb/dwc3/gadget.c | 9 +++++---- >> 1 file changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c >> index 6227641f2d31..d87a29bd7d9b 100644 >> --- a/drivers/usb/dwc3/gadget.c >> +++ b/drivers/usb/dwc3/gadget.c >> @@ -608,12 +608,13 @@ static int dwc3_gadget_set_ep_config(struct dwc3_ep *dep, unsigned int action) >> u8 bInterval_m1; >> >> /* >> - * Valid range for DEPCFG.bInterval_m1 is from 0 to 13, and it >> - * must be set to 0 when the controller operates in full-speed. >> + * Valid range for DEPCFG.bInterval_m1 is from 0 to 13. >> + * >> + * NOTE: The programming guide incorrectly stated bInterval_m1 >> + * must be set to 0 when operating in fullspeed. Internally the >> + * controller does not have this limitation. > > might be a good idea to refer to the section in this comment ;-) > I can resend with the section number. BR, Thinh
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 6227641f2d31..d87a29bd7d9b 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -608,12 +608,13 @@ static int dwc3_gadget_set_ep_config(struct dwc3_ep *dep, unsigned int action) u8 bInterval_m1; /* - * Valid range for DEPCFG.bInterval_m1 is from 0 to 13, and it - * must be set to 0 when the controller operates in full-speed. + * Valid range for DEPCFG.bInterval_m1 is from 0 to 13. + * + * NOTE: The programming guide incorrectly stated bInterval_m1 + * must be set to 0 when operating in fullspeed. Internally the + * controller does not have this limitation. */ bInterval_m1 = min_t(u8, desc->bInterval - 1, 13); - if (dwc->gadget->speed == USB_SPEED_FULL) - bInterval_m1 = 0; if (usb_endpoint_type(desc) == USB_ENDPOINT_XFER_INT && dwc->gadget->speed == USB_SPEED_FULL)
The programming guide incorrectly stated that the DCFG.bInterval_m1 must be set to 0 when operating in fullspeed. There's no such limitation for all IPs. Cc: <stable@vger.kernel.org> Fixes: a1679af85b2a ("usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1") Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> --- drivers/usb/dwc3/gadget.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) base-commit: 4b853c236c7b5161a2e444bd8b3c76fe5aa5ddcb