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
Attachment:
signature.asc
Description: PGP signature