1. 18 Jan, 2013 1 commit
  2. 21 Nov, 2012 1 commit
  3. 15 Oct, 2012 1 commit
    • Felipe Balbi's avatar
      usb: dwc3: gadget: fix 'endpoint always busy' bug · 041d81f4
      Felipe Balbi authored
      If a USB transfer has already been started, meaning
      we have already issued StartTransfer command to that
      particular endpoint, DWC3_EP_BUSY flag has also
      already been set.
      
      When we try to cancel this transfer which is already
      in controller's cache, we will not receive XferComplete
      event and we must clear DWC3_EP_BUSY in order to allow
      subsequent requests to be properly started.
      
      The best place to clear that flag is right after issuing
      DWC3_DEPCMD_ENDTRANSFER.
      
      Cc: stable@vger.kernel.org # v3.4 v3.5 v3.6
      Reported-by: default avatarMoiz Sonasath <m-sonasath@ti.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      041d81f4
  4. 06 Sep, 2012 2 commits
    • Pratyush Anand's avatar
      usb: dwc3: gadget: fix pending isoc handling · f4a53c55
      Pratyush Anand authored
      If xfernotready is received and there is no request in request_list then
      REQUEST_PENDING flag must be set, so that next request in ep queue is executed.
      
      In case of isoc transfer, if xfernotready is already elapsed and even first
      request has not been queued to request_list, then issue END TRANSFER, so that
      you can receive xfernotready again and can have notion of current microframe.
      Signed-off-by: default avatarPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      f4a53c55
    • Pratyush Anand's avatar
      usb: dwc3: ep0: correct cache sync issue in case of ep0_bounced · 0416e494
      Pratyush Anand authored
      In case of ep0 out, if length is not aligned to maxpacket size then we use
      dwc->ep_bounce_addr for dma transfer and not request->dma. Since, we have
      alreday done memcpy from dwc->ep0_bounce to request->buf, so we do not need to
      issue cache sync function. In fact, cache sync function will bring wrong data
      in request->buf from request->dma in this scenario.
      
      So, cache sync function must not be executed in case of ep0 bounced.
      
      Cc: <stable@vger.kernel.org> # v3.4 v3.5
      Signed-off-by: default avatarPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      0416e494
  5. 31 Aug, 2012 1 commit
    • Chanho Park's avatar
      usb: dwc3: set up burst size only superspeed mode · d2e9a13a
      Chanho Park authored
      When connection is established non-ss mode, endpoint.maxburst is correctly set
      to 0, this means that current code will set maxburst bitfield on DEPCFG's
      parameter 0 to the highest possible value (0x0f) which is wrong.
      
      Even though this hasn't caused any issues so far (HW seems to ignore that when
      not running in SS mode) we want to make sure maxburst bitfield is only set to
      anything other than zero if we're running on SuperSpeed mode. In order to
      achieve that, let's check for gadget's operating speed before setting maxburst
      bitfield when issuing DEPCFG command.
      
      [ balbi@ti.com : improved commit log a bit in order to clarify the situation ]
      Signed-off-by: default avatarChanho Park <chanho61.park@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      d2e9a13a
  6. 15 Aug, 2012 1 commit
    • Felipe Balbi's avatar
      usb: dwc3: gadget: warn about endpoint already enabled before changing ep name · c6f83f38
      Felipe Balbi authored
      In case some gadget driver tries to enable an endpoint
      which is already enabled, we print a nice WARN so we
      can track broken gadget drivers. The only problem is that
      we're printing the WARN when we already changed endpoint's
      name, which would result in endpoints named as:
      
      ep1in-bulk-bulk-bulk-bulk-bulk-bulk-bulk
      
      To prevent that, we will continue to print the WARN,
      but do so before changing endpoint's name and return
      early.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      c6f83f38
  7. 09 Aug, 2012 1 commit
  8. 07 Aug, 2012 2 commits
    • Pratyush Anand's avatar
      usb: dwc3: gadget: correct missed isoc when endpoint is busy · 79c9046e
      Pratyush Anand authored
      When MISSED_ISOC is set, BUSY is also set. Since, we are handling
      MISSED_ISOC as a separate case in third scenario, therefore handle only
      BUSY but not MISSED_ISOC in second scenario.
      Signed-off-by: default avatarPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      79c9046e
    • Moiz Sonasath's avatar
      usb: dwc3: gadget: Fix sparse warnings · 348e026f
      Moiz Sonasath authored
      This patch fixes the following sparse warnings:
      
      drivers/usb/dwc3/gadget.c:1096:7: warning: symbol 'ret' shadows an earlier one
      drivers/usb/dwc3/gadget.c:1058:8: originally declared here
      drivers/usb/dwc3/gadget.c:1100:16: warning: symbol 'dwc' shadows an earlier one
      drivers/usb/dwc3/gadget.c:1057:15: originally declared here
      drivers/usb/dwc3/gadget.c:1118:16: warning: symbol 'dwc' shadows an earlier one
      drivers/usb/dwc3/gadget.c:1057:15: originally declared here
      drivers/usb/dwc3/gadget.c:1800:19: warning: symbol 'dep' shadows an earlier one
      drivers/usb/dwc3/gadget.c:1778:18: originally declared here
      
      Also, fix the potential checkpatch errors around the if() loops that
      this fix patch can create.
      Signed-off-by: default avatarMoiz Sonasath <m-sonasath@ti.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      348e026f
  9. 03 Aug, 2012 1 commit
  10. 02 Jul, 2012 5 commits
  11. 25 Jun, 2012 4 commits
  12. 15 Jun, 2012 2 commits
  13. 12 Jun, 2012 1 commit
  14. 06 Jun, 2012 5 commits
  15. 04 Jun, 2012 3 commits
  16. 03 Jun, 2012 7 commits
  17. 04 May, 2012 2 commits