20 Jun, 2016

1 commit

  • By adding a pointer to endpoint registers' base
    address, we can avoid using our controller-wide
    struct dwc3 pointer for everything. At some point
    this will allow us to have per-endpoint locks which
    will, in turn, let us queue requests to separate
    endpoints in parallel.

    Because of this change our debugfs interface and io
    accessors need to be changed accordingly.

    Signed-off-by: Felipe Balbi

    Felipe Balbi
     

14 Apr, 2016

1 commit


21 Oct, 2014

2 commits


05 Sep, 2014

1 commit


06 Mar, 2014

1 commit

  • commit 388e5c5 (usb: dwc3: remove dwc3 dependency
    on host AND gadget.) created the possibility for
    host-only and peripheral-only dwc3 builds but
    left a possible randconfig build error when host-only
    builds are selected.

    Cc: # v3.8+
    Reported-by: Jim Davis
    Signed-off-by: Felipe Balbi

    Felipe Balbi
     

05 Mar, 2014

1 commit


29 Jul, 2013

1 commit

  • This is a Linux-only driver which makes use
    of GPL-only symbols. It makes no sense to
    maintain Dual BSD/GPL licensing for this driver.

    Considering that the amount of work to use this
    driver in any different operating system would likely
    be as large as developing the driver from scratch and
    considering that we depend on GPL-only symbols, we
    will switch over to a GPL v2-only license.

    Cc: Anton Tikhomirov
    Acked-by: Sebastian Andrzej Siewior
    Signed-off-by: Felipe Balbi

    Felipe Balbi
     

02 Jul, 2012

1 commit

  • set_halt for ep0 is called to stall a deferred control responses by the
    gadget. We already have a function to stall default control endpoint.
    This patch points set_halt for ep0 to the already available function.

    Signed-off-by: Pratyush Anand
    Signed-off-by: Michel Sanches
    Signed-off-by: Felipe Balbi

    Pratyush Anand
     

04 Jun, 2012

1 commit


02 May, 2012

1 commit


03 Mar, 2012

1 commit

  • usb: dwc3: changes for v3.4 merge window

    Here are the changes for v3.4 merge window.

    It includes a new glue layer for Samsung's Exynos platform, a simplification of
    memory management on DWC3 driver by using dev_xxx functions, a few
    optimizations to IRQ handling by dropping memcpy() and using bitshifts, a fix
    for TI's OMAP5430 TX Fifo Allocation, two fixes on USB2 test mode
    implementation (one on debugfs and one on ep0), and several minor changes such
    as whitespace cleanups, simplification of a few parts of the code, decreasing a
    long delay to something a bit saner, dropping a header which was included twice
    and so on.

    The highlight on this merge is the support for Samsung's Exynos platform,
    increasing the number of different users for this driver to three.

    Note that Samsung Exynos glue layer will only compile on platforms which
    provide implementation for the clk API for now. Once Samsung supports
    pm_runtime, that limitation can be dropped from the Makefile.

    Conflicts:
    drivers/usb/dwc3/gadget.c

    Greg Kroah-Hartman
     

28 Feb, 2012

1 commit

  • those routines have everything we need to map/unmap
    USB requests and it's better to use them.

    In order to achieve that, we had to add a simple
    change on how we allocate and use our setup buffer;
    we cannot allocate it from coherent anymore otherwise
    the generic map/unmap routines won't be able to easily
    know that the GetStatus request already has a DMA
    address.

    Signed-off-by: Felipe Balbi

    Felipe Balbi
     

06 Feb, 2012

2 commits


12 Dec, 2011

4 commits

  • Instead of special functions and shortcuts for sending our internal
    answers to the host we started doing what the gadget does and used the
    public API for this. Since we only were using a few fields the
    usb_request was enough. Later added the list handling in order to
    synchronize the host / gadget events and now we require to have the
    dwc3_request struct around our usb_request or else we touch memory that
    does not belong to us. So this patch does this.

    Reported-by: Partha Basak
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Felipe Balbi

    Sebastian Andrzej Siewior
     
  • There were a few coding style issues with this driver
    which are now fixed:

    drivers/usb/dwc3/debugfs.c:48: WARNING: Use #include \
    instead of
    drivers/usb/dwc3/debugfs.c:484: ERROR: space required \
    before the open brace '{'
    drivers/usb/dwc3/ep0.c:261: WARNING: line over 80 characters
    drivers/usb/dwc3/ep0.c:287: WARNING: suspect code indent \
    for conditional statements (16, 23)
    drivers/usb/dwc3/gadget.c:749: WARNING: line over 80 characters
    drivers/usb/dwc3/gadget.c:1267: WARNING: line over 80 characters
    drivers/usb/dwc3/gadget.h:116: WARNING: line over 80 characters
    drivers/usb/dwc3/io.h:42: WARNING: Use #include \
    instead of

    Signed-off-by: Felipe Balbi

    Felipe Balbi
     
  • host prototypes are there, let's move gadget's
    closer.

    Signed-off-by: Felipe Balbi

    Felipe Balbi
     
  • We can decide in runtime if that will be used
    or not.

    Signed-off-by: Felipe Balbi

    Felipe Balbi
     

05 Oct, 2011

2 commits


25 Aug, 2011

1 commit


23 Aug, 2011

1 commit

  • The DesignWare USB3 is a highly
    configurable IP Core which can be
    instantiated as Dual-Role Device (DRD),
    Peripheral Only and Host Only (XHCI)
    configurations.

    Several other parameters can be configured
    like amount of FIFO space, amount of TX and
    RX endpoints, amount of Host Interrupters,
    etc.

    The current driver has been validated with
    a virtual model of version 1.73a of that core
    and with an FPGA burned with version 1.83a
    of the DRD core. We have support for PCIe
    bus, which is used on FPGA prototyping, and
    for the OMAP5, more adaptation (or glue)
    layers can be easily added and the driver
    is half prepared to handle any possible
    configuration the HW engineer has chosen
    considering we have the information on
    one of the GHWPARAMS registers to do
    runtime checking of certain features.

    More runtime checks can, and should, be added
    in order to make this driver even more flexible
    with regards to number of endpoints, FIFO sizes,
    transfer types, etc.

    While this supports only the device side, for
    now, we will add support for Host side (xHCI -
    see the updated series Sebastian has sent [1])
    and OTG after we have it all stabilized.

    [1] http://marc.info/?l=linux-usb&m=131341992020339&w=2

    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi