0008-usb-dwc2-Add-dwc2_gadget_dec_frame_num_by_one-functi.patch 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. From 9d630b9cde28dc261cdfc608ed68ef5487404422 Mon Sep 17 00:00:00 2001
  2. From: Grigor Tovmasyan <Grigor.Tovmasyan@synopsys.com>
  3. Date: Wed, 29 Aug 2018 21:00:03 +0400
  4. Subject: [PATCH 08/53] usb: dwc2: Add dwc2_gadget_dec_frame_num_by_one()
  5. function
  6. Added dwc2_gadget_dec_frame_num_by_one() function in gadget.c.
  7. This function will be used to calculate descriptor frame number field
  8. value. For service interval mode frame number in descriptor should point
  9. to last (u)frame in the interval.
  10. Acked-by: Minas Harutyunyan <hminas@synopsys.com>
  11. Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com>
  12. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  13. ---
  14. drivers/usb/dwc2/gadget.c | 18 ++++++++++++++++++
  15. 1 file changed, 18 insertions(+)
  16. diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
  17. index 12032f0488d8..71f097d89001 100644
  18. --- a/drivers/usb/dwc2/gadget.c
  19. +++ b/drivers/usb/dwc2/gadget.c
  20. @@ -123,6 +123,24 @@ static inline void dwc2_gadget_incr_frame_num(struct dwc2_hsotg_ep *hs_ep)
  21. }
  22. /**
  23. + * dwc2_gadget_dec_frame_num_by_one - Decrements the targeted frame number
  24. + * by one.
  25. + * @hs_ep: The endpoint.
  26. + *
  27. + * This function used in service interval based scheduling flow to calculate
  28. + * descriptor frame number filed value. For service interval mode frame
  29. + * number in descriptor should point to last (u)frame in the interval.
  30. + *
  31. + */
  32. +static inline void dwc2_gadget_dec_frame_num_by_one(struct dwc2_hsotg_ep *hs_ep)
  33. +{
  34. + if (hs_ep->target_frame)
  35. + hs_ep->target_frame -= 1;
  36. + else
  37. + hs_ep->target_frame = DSTS_SOFFN_LIMIT;
  38. +}
  39. +
  40. +/**
  41. * dwc2_hsotg_en_gsint - enable one or more of the general interrupt
  42. * @hsotg: The device state
  43. * @ints: A bitmask of the interrupts to enable
  44. --
  45. 2.11.0