summaryrefslogtreecommitdiff
path: root/drivers/usb/host/xhci-tegra.c
diff options
context:
space:
mode:
authorJoy Wang <joyw@nvidia.com>2014-03-24 15:48:15 +0800
committerSeema Khowala <seemaj@nvidia.com>2014-04-23 14:04:31 -0700
commitc6c0362822e1e925b284eb1b3c133f226cab7c16 (patch)
tree28b7b9fe505cdfdd9fa1731589d7fc7e060c68ef /drivers/usb/host/xhci-tegra.c
parent6f86fc48404fdbc12dad8cee8297a3ddf40655c0 (diff)
xhci: tegra: Clear SMI INTR status register
Clear SMI INTR status bits in smi irq handler. Bug 1481790 Change-Id: I7b5e37ece1996ab2e2d97d561cff05fc6652b2d5 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/385512 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/usb/host/xhci-tegra.c')
-rw-r--r--drivers/usb/host/xhci-tegra.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
index 0bb391b8001e..3834882320b3 100644
--- a/drivers/usb/host/xhci-tegra.c
+++ b/drivers/usb/host/xhci-tegra.c
@@ -3385,12 +3385,13 @@ static irqreturn_t tegra_xhci_smi_irq(int irq, void *ptrdev)
*/
temp = readl(tegra->fpci_base + XUSB_CFG_ARU_SMI_INTR);
-
- /* write 1 to clear SMI INTR en bit ( bit 3 ) */
- temp = MBOX_SMI_INTR_EN;
writel(temp, tegra->fpci_base + XUSB_CFG_ARU_SMI_INTR);
- schedule_work(&tegra->mbox_work);
+ xhci_dbg(tegra->xhci, "SMI INTR status 0x%x\n", temp);
+ if (temp & SMI_INTR_STATUS_FW_REINIT)
+ xhci_err(tegra->xhci, "Firmware reinit.\n");
+ if (temp & SMI_INTR_STATUS_MBOX)
+ schedule_work(&tegra->mbox_work);
spin_unlock(&tegra->lock);
return IRQ_HANDLED;