Hi Greg, Here's the giant pull request for all things Gadget and the like. Patches have been soaking in next for a while. I have tested them for several days with a SKL box.
Let me know if you want anything to be changed.
cheers
The following changes since commit a909d3e636995ba7c349e2ca5dbb528154d4ac30:
Linux 4.9-rc3 (2016-10-29 13:52:02 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/usb-for-v4.10
for you to fetch changes up to d5c024f3761dbd512329d3b7234a07dcf7580f0a:
usb: gadget: serial: fix possible Oops caused by calling kthread_stop(NULL)
(2016-11-18 13:55:19 +0200)
----------------------------------------------------------------
usb: patches for v4.10 merge window
One big merge this time with a total of 166 non-merge commits.
Most of the work, by far, is on dwc2 this time (68.2%) with dwc3 a far
second (22.5%). The remaining 9.3% are scattered on gadget drivers.
The most important changes for dwc2 are the peripheral side DMA support
implemented by Synopsys folks and support for the new IOT dwc2
compatible core from Synopsys.
In dwc3 land we have support for high-bandwidth, high-speed isochronous
endpoints and some non-critical fixes for large scatter lists.
Apart from these, we have our usual set of cleanups, non-critical fixes,
etc.
----------------------------------------------------------------
Alexey Khoroshilov (2):
usb: gadget: mv_u3d: add check for dma mapping error
usb: gadget: mv_u3d: mv_u3d_start_queue() refactoring
Anson Jacob (1):
usb: gadget: Fix checkpatch error for braces
Arnd Bergmann (3):
usb: dwc3: ep0: avoid empty-body warning
usb: dwc3: use bus->sysdev for DMA configuration
usb: dwc3: Do not set dma coherent mask
Baolin Wang (2):
usb: dwc3: gadget: don't clear RUN/STOP when it's invalid to do so
usb: dwc3: gadget: wait for End Transfer to complete
Christian Lamparter (2):
usb: dwc2: fixes host_dma logic
usb: dwc2: add amcc,dwc-otg support
Daniel Wagner (1):
usb: gadget: f_fs: use complete() instead complete_all()
Fabian Frederick (1):
usb: isp1301-omap: don't opencode IS_REACHABLE()
Felipe Balbi (74):
usb: add helper to extract bits 12:11 of wMaxPacketSize
usb: gadget: composite: correctly initialize ep->maxpacket
usb: gadget: composite: always set ep->mult to a sensible value
usb: dwc3: gadget: set PCM1 field of isochronous-first TRBs
usb: dwc3: gadget: properly check ep cmd
usb: dwc3: gadget: make use of No Response Update Transfer
usb: dwc3: gadget: giveback request if we can't kick it
usb: dwc3: gadget: conditionally disable Link State change events
usb: dwc3: debug: decode control endpoint phase too
usb: dwc3: gadget: remove redundant trace prints
usb: dwc3: debug: move dwc3_ep0_state_string() to debug.h
usb: dwc3: trace: print out ep0state also from XferComplete
media: usbtv: core: make use of new usb_endpoint_maxp_mult()
media: usb: uvc: make use of new usb_endpoint_maxp_mult()
usb: chipidea: udc: make use of new usb_endpoint_maxp_mult()
usb: core: devices: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: atmel: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: bdc: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: dummy: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: fsl: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: fusb300: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: gr: make use of new usb_endpoint_maxp_mult()
usb: gadget: udc: mv_udc: make use of new usb_endpoint_maxp_mult()
usb: host: ehci: make use of new usb_endpoint_maxp_mult()
usb: host: xhci: make use of new usb_endpoint_maxp_mult()
usb: misc: usbtest: make use of new usb_endpoint_maxp_mult()
usb: musb: make use of new usb_endpoint_maxp_mult()
usb: ch9: make usb_endpoint_maxp() return only packet size
usb: host: xhci: purge GET_MAX_PACKET()
media: usb: uvc: remove unnecessary & operation
usb: chipidea: udc: remove unnecessary & operation
usb: core: devices: remove unnecessary & operation
usb: core: endpoint: remove unnecessary & operation
usb: host: ehci: remove unnecessary max_packet() macro
usb: gadget: composite: remove unnecessary & operation
usb: gadget: udc: atmel: remove unnecessary & operation
usb: gadget: udc: bdc: remove unnecessary & operation
usb: gadget: udc: dummy: remove unnecessary & operation
usb: gadget: udc: net2272: remove unnecessary & operation
usb: gadget: udc: net2280: remove unnecessary & operation
usb: gadget: udc: s3c2410: remove unnecessary & operation
usb: misc: usbtest: remove unnecessary & operation
usb: ip: remove unnecessary & operation
usb: gadget: udc: fsl: remove unnecessary & operation
usb: gadget: udc: mv: remove unnecessary & operation
usb: dwc3: trace: pretty print high-bandwidth transfers too
usb: dwc3: gadget: offset Start Transfer latency for bulk EPs
usb: dwc3: don't compile dwc3_trace() unless CONFIG_FTRACE=y
usb: dwc3: Kconfig: allow all glues to build if COMPILE_TEST
usb: dwc3: trace: add a proper tracepoint for reg accessors
usb: dwc3: gadget: extract dwc3_gadget_get_irq()
usb: dwc3: host: extract dwc3_host_get_irq()
usb: dwc3: ep0: simplify dwc3_ep0_handle_feature()
usb: dwc3: gadget: remove unused 'first_trb_index'
usb: dwc3: gadget: CSP is only valid for OUT endpoints
usb: dwc3: gadget: only interrupt on short if short_not_ok is set
usb: dwc3: gadget: never ever kill the machine
usb: dwc3: core: introduce dwc3_core_is_valid()
usb: dwc3: core: introduce dwc3_core_setup_global_control()
usb: dwc3: core: remove unnecessary alignment
usb: dwc3: core: add dwc3_get_properties()
usb: dwc3: gadget: purge dwc3_stop_active_transfers()
usb: dwc3: gadget: cope with XferNotReady before usb_ep_queue()
usb: dwc3: gadget: tracking per-TRB remaining bytes
usb: dwc3: gadget: always try to prepare on started_list first
usb: dwc3: gadget: stop touching HWO TRBs
usb: dwc3: gadget: always kick if num_pending_sgs > 0
usb: dwc3: pci: add a private driver structure
usb: dwc3: pci: call _DSM for suspend/resume
usb: dwc3: trace: add a tracepoint for ep enable/disable
usb: dwc3: trace: purge dwc3_trace()
usb: dwc3: core: remove dwc3_soft_reset()
usb: dwc3: gadget: use evt->length as we should
usb: dwc3: pci: avoid build warning
Felix Hädicke (1):
usb: gadget: serial: fix possible Oops caused by calling
kthread_stop(NULL)
Janusz Dziedzic (6):
usb: gadget: f_hid add super speed support
usb: dwc3: decrement queued_requests
usb: dwc3: clean TRB if STARTTRANSFER fail
usb: dwc3: fix post-increment
usb: dwc3: isoc clean DWC3_EP_PENDING_REQUEST flag
usb: dwc3: warn on once when no trbs
Joe Perches (1):
usb: Convert pr_warning to pr_warn
Johan Hovold (1):
USB: phy: am335x-control: fix device and of_node leaks
John Youn (23):
usb: dwc3: Add support for device L1 exit
usb: dwc2: Remove unnecessary kfree
usb: dwc2: Remove unused hardware parameter
usb: dwc2: Add params.c file
usb: dwc2: Declare the core params struct statically
usb: dwc2: Move parameter initialization into params.c
usb: dwc2: Remove dwc2_set_all_params function
usb: dwc2: Remove unnecessary prototypes
usb: dwc2: Rename host_rx_fifo_size hardware parameter
usb: dwc2: Move gadget settings into core_params
usb: dwc2: Rename the dma_enable parameter to host_dma
usb: dwc2: Get host DMA device properties
usb: dwc3: gadget: Remove descriptor arguments to ep_enable
usb: dwc3: gadget: Fix dead code writing GCTL.RAMCLKSEL
usb: dwc2: Deprecate g-use-dma binding
usb: dwc3: Add a check for the DWC_usb3 core
usb: dwc3: Add a function to check properties
usb: dwc3: core: add a event buffer cache
usb: dwc3: gadget: use evt->cache for processing events
usb: dwc3: gadget: clear events in top-half handler
usb: dwc2: Remove reading in of invalid property
usb: dwc3: Implement interrupt moderation
usb: dwc3: Workaround for irq mask issue
Juergen Gross (1):
usb: gadget: composite: use kasprintf() instead of open coding it
Lu Baolu (1):
usb: dwc3: remove unused struct member dwc3->mem
Masahiro Yamada (3):
usb: dwc2: cleanup with list_first_entry_or_null()
usb: dwc3: cleanup with list_first_entry_or_null()
usb: renesas_usbhs: cleanup with list_first_entry_or_null()
Mike Krinkin (1):
usb: core: urb make use of usb_endpoint_maxp_mult
Nicolae Rosia (1):
usb: twl6030-usb: make driver DT only
Peter Chen (3):
usb: gadget: fix request length error for isoc transfer
usb: gadget: f_uac2: fix error handling at afunc_bind
usb: phy: phy-generic: add the implementation of .set_suspend
Razmik Karapetyan (5):
usb: dwc2: Don't program DMA address for 0 length request
usb: dwc2: Fix Control Write issue in DMA mode
usb: dwc2: Remove unnecessary request length checking
usb: dwc2: Fix fifo_show() functionality
usb: dwc2: Move functions from header to source
Sevak Arakelyan (1):
usb: dwc2: Stop Complete Splits after Data PID == 0
Torsten Polle (3):
usb: gadget: NCM: link socket buffers to the device for tx packets
usb: gadget: u_ether: link socket buffers to the device for received
packets
usb: gadget: NCM: differentiate consumed packets from dropped packets
Vahram Aharonyan (23):
usb: dwc2: Add PCI properties
usb: dwc2: Update DMA descriptor structure
usb: dwc2: Make the DMA descriptor structure packed
usb: dwc2: gadget: Add descriptor DMA parameter
usb: dwc2: gadget: Add DMA descriptor status quadlet fields
usb: dwc2: gadget: Add DMA descriptor chains for EP 0
usb: dwc2: host: Rename MAX_DMA_DESC_SIZE to HOST_DMA_NBYTES_LIMIT
usb: dwc2: gadget: Transfer length limit checking for DDMA
usb: dwc2: gadget: Add DDMA chain pointers to dwc2_hsotg_ep structure
usb: dwc2: gadget: EP 0 specific DDMA programming
usb: dwc2: gadget: DDMA transfer start and complete
usb: dwc2: gadget: Fixes for StsPhseRcvd interrupt
usb: dwc2: gadget: Start DDMA IN status phase in StsPhseRcvd handler
usb: dwc2: gadget: Enable descriptor DMA mode
usb: dwc2: gadget: Add DDMA isoc related fields to dwc2_hsotg_ep
usb: dwc2: gadget: In DDMA keep incompISOOUT and incompISOIN masked
usb: dwc2: gadget: Start and complete DDMA isoc transfers
usb: dwc2: gadget: Enable the BNA interrupt
usb: dwc2: gadget: Adjust ISOC OUT request's actual len for DDMA
usb: dwc2: gadget: For DDMA parse setup only after SetUp interrupt
usb: dwc2: gadget: Correct dwc2_hsotg_ep_stop_xfr() function
usb: dwc2: gadget: Disable enabled HW endpoint in dwc2_hsotg_ep_disable
usb: dwc2: Add support of dedicated full-speed PHY interface
Vardan Mikayelyan (6):
usb: dwc2: gadget: Update for new usb_endpoint_maxp()
usb: dwc2: Fix dead code in hcd.c
usb: dwc2: Fix coverity issue in hcd_queue.c
usb: dwc2: gadget: Add IOT device IDs, configure core accordingly
usb: dwc2: gadget: Program ep0_mps for LS
usb: dwc2: gadget: Add new core parameter for low speed
Documentation/devicetree/bindings/usb/dwc2.txt | 5 +-
arch/arm/boot/dts/rk3036.dtsi | 1 -
arch/arm/boot/dts/rk3288.dtsi | 1 -
arch/arm/boot/dts/rk3xxx.dtsi | 1 -
arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 1 -
arch/arm64/boot/dts/rockchip/rk3368.dtsi | 1 -
drivers/media/usb/usbtv/usbtv-core.c | 7 +-
drivers/media/usb/uvc/uvc_video.c | 6 +-
drivers/usb/chipidea/udc.c | 6 +-
drivers/usb/core/devices.c | 12 +-
drivers/usb/core/endpoint.c | 3 +-
drivers/usb/core/urb.c | 7 +-
drivers/usb/dwc2/Makefile | 1 +
drivers/usb/dwc2/core.c | 930 +--------------
drivers/usb/dwc2/core.h | 324 ++----
drivers/usb/dwc2/core_intr.c | 6 +-
drivers/usb/dwc2/debugfs.c | 2 +-
drivers/usb/dwc2/gadget.c | 1126 +++++++++++++++----
drivers/usb/dwc2/hcd.c | 264 +++--
drivers/usb/dwc2/hcd.h | 7 +-
drivers/usb/dwc2/hcd_ddma.c | 56 +-
drivers/usb/dwc2/hcd_intr.c | 55 +-
drivers/usb/dwc2/hcd_queue.c | 87 +-
drivers/usb/dwc2/hw.h | 48 +-
drivers/usb/dwc2/params.c | 1435 ++++++++++++++++++++++++
drivers/usb/dwc2/pci.c | 18 +
drivers/usb/dwc2/platform.c | 207 +---
drivers/usb/dwc3/Kconfig | 6 +-
drivers/usb/dwc3/Makefile | 6 +-
drivers/usb/dwc3/core.c | 358 +++---
drivers/usb/dwc3/core.h | 53 +-
drivers/usb/dwc3/debug.c | 32 -
drivers/usb/dwc3/debug.h | 41 +-
drivers/usb/dwc3/dwc3-exynos.c | 10 -
drivers/usb/dwc3/dwc3-pci.c | 134 ++-
drivers/usb/dwc3/dwc3-st.c | 1 -
drivers/usb/dwc3/ep0.c | 347 +++---
drivers/usb/dwc3/gadget.c | 576 ++++++----
drivers/usb/dwc3/gadget.h | 5 +-
drivers/usb/dwc3/host.c | 88 +-
drivers/usb/dwc3/io.h | 6 +-
drivers/usb/dwc3/trace.h | 123 +-
drivers/usb/gadget/composite.c | 23 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
drivers/usb/gadget/function/f_hid.c | 67 +-
drivers/usb/gadget/function/f_ncm.c | 11 +-
drivers/usb/gadget/function/f_uac2.c | 14 +-
drivers/usb/gadget/function/rndis.c | 12 +-
drivers/usb/gadget/function/rndis.h | 51 +-
drivers/usb/gadget/function/u_ether.c | 5 +-
drivers/usb/gadget/function/u_serial.c | 7 +-
drivers/usb/gadget/function/uvc.h | 18 +-
drivers/usb/gadget/function/uvc_v4l2.c | 3 +-
drivers/usb/gadget/function/uvc_video.c | 2 +-
drivers/usb/gadget/udc/at91_udc.h | 2 +-
drivers/usb/gadget/udc/atmel_usba_udc.c | 8 +-
drivers/usb/gadget/udc/bdc/bdc_cmd.c | 2 +-
drivers/usb/gadget/udc/bdc/bdc_ep.c | 2 +-
drivers/usb/gadget/udc/dummy_hcd.c | 5 +-
drivers/usb/gadget/udc/fsl_udc_core.c | 3 +-
drivers/usb/gadget/udc/fsl_usb2_udc.h | 2 +-
drivers/usb/gadget/udc/fusb300_udc.c | 2 +-
drivers/usb/gadget/udc/gr_udc.c | 2 +-
drivers/usb/gadget/udc/m66592-udc.c | 4 +-
drivers/usb/gadget/udc/mv_u3d_core.c | 34 +-
drivers/usb/gadget/udc/mv_udc_core.c | 3 +-
drivers/usb/gadget/udc/net2272.c | 4 +-
drivers/usb/gadget/udc/net2280.c | 6 +-
drivers/usb/gadget/udc/omap_udc.h | 2 +-
drivers/usb/gadget/udc/pxa25x_udc.h | 2 +-
drivers/usb/gadget/udc/s3c2410_udc.c | 4 +-
drivers/usb/host/ehci-q.c | 30 +-
drivers/usb/host/ehci-sched.c | 3 +-
drivers/usb/host/isp1362-hcd.c | 27 +-
drivers/usb/host/xhci-mem.c | 10 +-
drivers/usb/host/xhci-mtk-sch.c | 4 +-
drivers/usb/host/xhci-ring.c | 6 +-
drivers/usb/host/xhci.c | 2 +-
drivers/usb/host/xhci.h | 5 -
drivers/usb/isp1760/isp1760-if.c | 2 +-
drivers/usb/misc/usbtest.c | 6 +-
drivers/usb/musb/musb_gadget.c | 8 +-
drivers/usb/musb/musb_host.c | 2 +-
drivers/usb/phy/Kconfig | 1 +
drivers/usb/phy/phy-am335x-control.c | 2 +
drivers/usb/phy/phy-generic.c | 9 +
drivers/usb/phy/phy-isp1301-omap.c | 2 +-
drivers/usb/phy/phy-twl6030-usb.c | 23 +-
drivers/usb/renesas_usbhs/fifo.c | 5 +-
drivers/usb/usbip/vudc_dev.c | 2 +-
include/linux/usb/gadget.h | 4 +-
include/uapi/linux/usb/ch9.h | 24 +-
92 files changed, 4101 insertions(+), 2781 deletions(-)
create mode 100644 drivers/usb/dwc2/params.c
delete mode 100644 drivers/usb/dwc3/debug.c
--
balbi
signature.asc
Description: PGP signature
