1. 05 Mar, 2014 8 commits
    • Felipe Balbi's avatar
      usb: dwc3: workaround: bogus hibernation events · e1dadd3b
      Felipe Balbi authored
      Revision 2.20a of the core has a known issue
      which would generate bogus hibernation events
      _and_ random failures on USB CV TD.9.23 test
      case.
      
      The suggested workaround is to ignore hibernation
      events which don't match currently connected
      speed.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      e1dadd3b
    • Felipe Balbi's avatar
      usb: dwc3: workaround: clock gating issues · 32a4a135
      Felipe Balbi authored
      Revisions between 2.10a and 2.50a (included) have
      a known issue which may cause xHCI compliance tests
      to fail and/or quality issues with Isochronous
      transactions.
      
      Note that this issue only impacts certain configurations
      of those revisions, namely the ones which have clock
      gating enabled.
      
      The suggested workaround is to disable clock gating in
      known broken revisions, make sure HW LPM is disabled
      and set GCTL.SOFITPSYNC to 1.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      32a4a135
    • Felipe Balbi's avatar
      usb: dwc3: core: define bit 10 of GCTL register · 183ca111
      Felipe Balbi authored
      This bit is necessary for implemeting workaround
      for known issue with some revisions of this core.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      183ca111
    • Felipe Balbi's avatar
      usb: dwc3: gadget: always enable IOC on bulk/interrupt transfers · f3af3651
      Felipe Balbi authored
      by setting IOC always, we can recycle TRBs a
      lot sooner at the expense of some increased
      CPU load.
      
      The extra load seems to be quite minimal on
      OMAP5 devices (instead of 1 IRQ for one MSC
      transfer, we get
      CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS).
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      f3af3651
    • Robert Baldyga's avatar
      usb: gadget: at91_udc: fix ep maxpacket initialisation · 0e06bcac
      Robert Baldyga authored
      This patch fixes problem with unnecessary usb_ep_set_maxpacket_limit() usage.
      It should not be used in at91udc_probe() function, where maxpacket values are
      set for field "maxpacket" of struct at91_ep, which is representation of
      endpoint in driver internals. Function usb_ep_set_maxpacket_limit() is called
      in udc_reinit() function, where struct usb_ep instances are initialised with
      values set previously in struct at91_ep instances. So it's very important to
      initialise it properly.
      Signed-off-by: default avatarRobert Baldyga <r.baldyga@samsung.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      0e06bcac
    • Geert Uytterhoeven's avatar
      usb: musb: USB_MUSB_DUAL_ROLE/USB_MUSB_GADGET should depend on HAS_DMA · 3f83e538
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
          drivers/built-in.o: In function `txstate':
          musb_gadget.c:(.text+0x35955a): undefined reference to `dma_unmap_single'
          musb_gadget.c:(.text+0x35957e): undefined reference to `dma_sync_single_for_cpu'
          drivers/built-in.o: In function `musb_g_giveback':
          (.text+0x359672): undefined reference to `dma_mapping_error'
          drivers/built-in.o: In function `musb_g_giveback':
          (.text+0x3596ba): undefined reference to `dma_unmap_single'
          drivers/built-in.o: In function `musb_g_giveback':
          (.text+0x3596e0): undefined reference to `dma_sync_single_for_cpu'
          drivers/built-in.o: In function `rxstate':
          musb_gadget.c:(.text+0x3599d0): undefined reference to `dma_unmap_single'
          musb_gadget.c:(.text+0x3599f6): undefined reference to `dma_sync_single_for_cpu'
          drivers/built-in.o: In function `musb_gadget_queue':
          musb_gadget.c:(.text+0x35a8c0): undefined reference to `dma_map_single'
          musb_gadget.c:(.text+0x35a8d0): undefined reference to `dma_mapping_error'
          musb_gadget.c:(.text+0x35a906): undefined reference to `dma_sync_single_for_cpu'
          musb_gadget.c:(.text+0x35a9a0): undefined reference to `dma_unmap_single'
          musb_gadget.c:(.text+0x35a9c8): undefined reference to `dma_sync_single_for_cpu'
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      3f83e538
    • Sergei Shtylyov's avatar
      usb: phy: rcar-gen2-usb: always use 'dev' variable in probe() method · 7241a21a
      Sergei Shtylyov authored
      The probe() method has the 'dev' local variable declared and used but strangely
      not in all cases where it should be...
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      7241a21a
    • Felipe Balbi's avatar
      usb: musb: avoid NULL pointer dereference · eee3f15d
      Felipe Balbi authored
      instead of relying on the otg pointer, which
      can be NULL in certain cases, we can use the
      gadget and host pointers we already hold inside
      struct musb.
      
      Cc: <stable@vger.kernel.org>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      eee3f15d
  2. 20 Feb, 2014 3 commits
    • Markus Pargmann's avatar
      usb: musb: dsps, debugfs files · 40f099e3
      Markus Pargmann authored
      debugfs files to show the contents of important dsps registers.
      Signed-off-by: default avatarMarkus Pargmann <mpa@pengutronix.de>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      40f099e3
    • Huang Rui's avatar
      usb: dwc3: fix wrong bit mask in dwc3_event_devt · 06f9b6e5
      Huang Rui authored
      Around DWC USB3 2.30a release another bit has been added to the
      Device-Specific Event (DEVT) Event Information (EvtInfo) bitfield.
      
      Because of that, what used to be 8 bits long, has become 9 bits long.
      
      Per dwc3 2.30a+ spec in the Device-Specific Event (DEVT), the field of
      Event Information Bits(EvtInfo) uses [24:16] bits, and it has 9 bits
      not 8 bits. And the following reserved field uses [31:25] bits not
      [31:24] bits, and it has 7 bits.
      
      So in dwc3_event_devt, the bit mask should be:
      event_info	[24:16]		9 bits
      reserved31_25	[31:25]		7 bits
      
      This patch makes sure that newer core releases will work fine with
      Linux and that we will decode the event information properly on new
      core releases.
      
      [ balbi@ti.com : improve commit log a bit ]
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      06f9b6e5
    • Dan Carpenter's avatar
      usb: gadget: gr_udc: remove some unneeded error handling · 798a2468
      Dan Carpenter authored
      Debugfs function return an ERR_PTR if they compiled out.  We don't need
      to test for that here because if the debugfs file are compiled out then
      it is ok to pass an ERR_PTR to debugfs_create_file() since it will just
      be a no-op stub.
      
      Debugfs return NULLs on error, but we don't need to test for that either
      because debugfs_create_file() will accept NULL pointers.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      798a2468
  3. 19 Feb, 2014 2 commits
  4. 18 Feb, 2014 22 commits
  5. 15 Feb, 2014 5 commits