usb: host: xhci-ring: don't need to clear interrupt pending for MSI enabled hcd
authorPeter Chen <peter.chen@nxp.com>
Wed, 17 May 2017 15:32:02 +0000 (18:32 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 May 2017 13:19:41 +0000 (15:19 +0200)
commit6a29beef9d1b16c762e469d77e28c3de3f5c3dbb
tree4b2f2bfa6240cd2bcf1f2d69ff14a04aee80c987
parent7480d912d549f414e0ce39331870899e89a5598c
usb: host: xhci-ring: don't need to clear interrupt pending for MSI enabled hcd

According to xHCI spec Figure 30: Interrupt Throttle Flow Diagram

If PCI Message Signaled Interrupts (MSI or MSI-X) are enabled,
        then the assertion of the Interrupt Pending (IP) flag in Figure 30
        generates a PCI Dword write. The IP flag is automatically cleared
        by the completion of the PCI write.

the MSI enabled HCs don't need to clear interrupt pending bit, but
hcd->irq = 0 doesn't equal to MSI enabled HCD. At some Dual-role
controller software designs, it sets hcd->irq as 0 to avoid HCD
requesting interrupt, and they want to decide when to call usb_hcd_irq
by software.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.c
include/linux/usb/hcd.h