kernel-fxtec-pro1x/drivers/usb/dwc2
Minas Harutyunyan d9796b5e2a usb: dwc2: Fix INTR OUT transfers in DDMA mode.
[ Upstream commit b2c586eb07efab982419f32b7c3bd96829bc8bcd ]

In DDMA mode if INTR OUT transfers mps not multiple of 4 then single packet
corresponds to single descriptor.

Descriptor limit set to mps and desc chain limit set to mps *
MAX_DMA_DESC_NUM_GENERIC. On that descriptors complete, to calculate
transfer size should be considered correction value for each descriptor.

In start request function, if "continue" is true then dma buffer address
should be incremmented by offset for all type of transfers, not only for
Control DATA_OUT transfers.

Fixes: cf77b5fb9b ("usb: dwc2: gadget: Transfer length limit checking for DDMA")
Fixes: e02f9aa611 ("usb: dwc2: gadget: EP 0 specific DDMA programming")
Fixes: aa3e8bc813 ("usb: dwc2: gadget: DDMA transfer start and complete")

Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-29 09:55:14 +01:00
..
core.c usb: dwc2: use a longer core rest timeout in dwc2_core_reset() 2019-12-05 09:21:25 +01:00
core.h usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic. 2018-07-30 10:39:18 +03:00
core_intr.c usb: dwc2: gadget: move gadget resume after the core is in L0 state 2020-06-25 15:32:59 +02:00
debug.h usb: dwc2: Fix kernel doc's warnings. 2018-05-21 10:02:13 +03:00
debugfs.c usb: dwc2: Modify dwc2_readl/writel functions prototype 2018-07-30 10:39:16 +03:00
gadget.c usb: dwc2: Fix INTR OUT transfers in DDMA mode. 2020-10-29 09:55:14 +01:00
hcd.c usb: dwc2: fix unbalanced use of external vbus-supply 2019-11-06 13:05:18 +01:00
hcd.h usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) 2019-06-19 08:18:05 +02:00
hcd_ddma.c usb: dwc2: Modify dwc2_readl/writel functions prototype 2018-07-30 10:39:16 +03:00
hcd_intr.c usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) 2019-06-19 08:18:05 +02:00
hcd_queue.c usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) 2019-06-19 08:18:05 +02:00
hw.h usb: dwc2: Add Interpacket Gap(IPG) feature support 2018-05-15 10:16:47 +03:00
Kconfig usb: add CONFIG_USB_PCI for system have both PCI HW and non-PCI based USB HW 2017-03-17 13:16:56 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
params.c usb: dwc2: Fix parameter type in function pointer prototype 2020-10-29 09:55:11 +01:00
pci.c usb: dwc2: pci: Fix an error code in probe 2018-12-13 09:16:11 +01:00
platform.c usb: dwc2: Fix error path in gadget registration 2020-08-19 08:14:59 +02:00