1. 18 3月, 2013 16 次提交
  2. 08 3月, 2013 1 次提交
  3. 04 3月, 2013 4 次提交
  4. 09 2月, 2013 1 次提交
  5. 25 1月, 2013 11 次提交
  6. 24 1月, 2013 1 次提交
    • F
      usb: dwc3: gadget: change HIRD threshold to 12 · 1a947746
      Felipe Balbi 提交于
      First of all, that 28 value makes no sense as
      HIRD threshold is a 4-bit value, second of all
      it's causing issues for OMAP5.
      
      Using 12 because commit cbc725b3 (usb: dwc3:
      keep default hird threshold value as 4b1100)
      had the intention of setting the maximum allowed
      value of 0xc.
      
      Also, original code has been wrong forever, so
      this should be backported as far back as
      possible.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1a947746
  7. 18 1月, 2013 6 次提交
    • V
      usb: dwc3: remove dwc3 dependency on host AND gadget. · 388e5c51
      Vivek Gautam 提交于
      DWC3 controller curretly depends on USB && USB_GADGET.
      Some hardware may like to use only host feature on dwc3,
      or only gadget feature.
      
      So, removing this dependency of USB_DWC3 on USB and USB_GADGET.
      Adding the mode of operaiton of DWC3 also here
      HOST/GADGET/DUAL_ROLE based on which features are enabled.
      
      [ balbi@ti.com :
      	. make sure we have default modes for all possible Kernel
      		configurations.
      	. Remove the config -> menuconfig change as it's unnecessary
      	. switch over to IS_ENABLED() ]
      
      CC: Doug Anderson <dianders@chromium.org>
      Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      388e5c51
    • P
      usb: dwc3: gadget: req->queued must be forced to false in cleanup · c9fda7d6
      Pratyush Anand 提交于
      I am not sure, why I found it during SG debugging. But, I noticed that
      even when req_queued list was empty, there were some request in
      request_list having queued flag true. If I run test second time, it
      first removes all request from request_list and hence busy_slot was
      wrongly incremented.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      c9fda7d6
    • P
      usb: dwc3: gadget: fix scatter gather implementation · e5ba5ec8
      Pratyush Anand 提交于
      To work with scatter gather properly, fixes have been done in number of
      functions. I will explain requirement of each fixes one by one.
      
      start_slot: used to retrieve all request of SG during cleanup
      
      dwc3_gadget_giveback: We need to skip link TRB if it was one of the
      intermediate TRB of SG.
      
      dwc3_prepare_one_trb: We need to track all submitted TRBs during
      cleanup. Since, all TRBs would be serially allocated, so we can just
      keep starting slot info and we can always find rest of them. We need to
      pass sg node number, so that we cab appropriately program ISOC_FIRST/ISOC,
      Chain etc.
      
      dwc3_prepare_trbs: last_one should be set when it is last node
      of SG as well as last node of request_list.
      
      __dwc3_cleanup_done_trbs: It has been prepared after re-factorization of
      dwc3_cleanup_done_reqs. It is called for each TRB of SG.
      Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      e5ba5ec8
    • P
      usb: dwc3: gadget: no need to pass params in case of UPDATE_TRANSFER · 1877d6c9
      Pratyush Anand 提交于
      UPDATE_TRANSFER does not need any parameters. So, no need to prepare it.
      Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1877d6c9
    • P
      usb: dwc3: gadget: fix skip LINK_TRB on ISOC · 915e202a
      Pratyush Anand 提交于
      When we reach to link trb, we just need to increase free_slot and then
      calculate TRB. Return is not correct, as it will cause wrong TRB DMA
      address to fetch in case of update transfer.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      915e202a
    • P
      usb: dwc3: gadget: fix isoc END TRANSFER Condition · cdc359dd
      Pratyush Anand 提交于
      There were still some corner cases where isoc transfer was not able to
      restart, specially when missed isoc does not happen , and in fact gadget does
      not queue any new request during giveback.
      
      Cleanup function calls giveback first, which provides a way to queue
      another request to gadget. But gadget did not had any data. So , it did
      not call ep_queue. To twist it further, gadget did not queue till
      cleanup for last queued TRB is called. If we ever reach this scenario,
      we must call END TRANSFER, so that we receive a new  xfernotready with
      information about current microframe number.
      
      Also insure that there is no request submitted to core when issuing END
      TRANSFER.
      
      Cc: <stable@vger.kernel.org> # v3.8
      Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      cdc359dd