linux_dsm_epyc7002/drivers/usb/dwc2
Vardan Mikayelyan 381fc8f822 usb: dwc2: gadget: Add Incomplete ISO IN/OUT Interrupt handlers
Incomplete ISO IN interrupt indicates one of the following conditions
occurred while transmitting an ISOC transaction.
- Corrupted IN Token for ISOC EP.
- Packet not complete in FIFO.

Incomplete ISO OUT indicates that there is at least one isochronous OUT
endpoint on which the transfer is not completed in the current
microframe.

The following actions will be taken:

In case of EP-IN
- Determine the EP
- Disable EP directly from this handler; when "Endpoint Disabled"
  interrupt is received flush FIFO

In case of EP-OUT
- Determine the EP
- If target frame elapsed set DCTL_SGOUTNAK, unmask GOUTNAKEFF and
  proceed as described in section 7.5.1 of DWC-HSOTG Programming Guide

Also added dwc2_gadget_target_frame_elapsed() helper function which
will be used in Incomplete ISO IN/OUT Interrupt handlers.

Tested-by: John Keeping <john@metanate.com>
Signed-off-by: Vardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2016-06-21 10:50:00 +03:00
..
core_intr.c usb: dwc2: host: Clear interrupts before handling them 2015-12-15 09:12:41 -06:00
core.c usb: dwc2: Move host-specific core functions into hcd.c 2016-03-04 15:14:46 +02:00
core.h usb: dwc2: gadget: Corrected interval calculation 2016-06-21 10:49:29 +03:00
debug.h usb: dwc2: move debugfs code to a separate file 2015-04-29 15:18:25 -05:00
debugfs.c usb: dwc2: Use platform endianness when accessing registers 2015-09-27 10:54:31 -05:00
gadget.c usb: dwc2: gadget: Add Incomplete ISO IN/OUT Interrupt handlers 2016-06-21 10:50:00 +03:00
hcd_ddma.c usb: dwc2: Fix issues in dwc2_complete_non_isoc_xfer_ddma() 2016-03-04 15:14:48 +02:00
hcd_intr.c usb: dwc2: host: If using uframe scheduler, end splits better 2016-03-04 15:14:45 +02:00
hcd_queue.c usb: dwc2: Fixed SOF interrupt enabling/disabling 2016-04-28 09:41:26 +03:00
hcd.c usb: dwc2: host: Setting qtd to NULL after freeing it 2016-04-28 09:41:12 +03:00
hcd.h usb: dwc2: host: Setting qtd to NULL after freeing it 2016-04-28 09:41:12 +03:00
hw.h usb: dwc2: Add missing register field definitions 2016-06-21 10:48:22 +03:00
Kconfig usb: dwc2: USB_DWC2 should depend on HAS_DMA 2016-02-20 20:23:02 -08:00
Makefile usb: dwc2: remove dwc2_platform.ko 2015-04-29 15:20:11 -05:00
pci.c usb: dwc2: pci: Add device mode to the dwc2-pci driver 2015-03-11 15:08:17 -05:00
platform.c usb: dwc2: Proper cleanup on dr_mode failure 2016-04-28 09:41:34 +03:00