usb: xhci: tegra: don't disable wakeup event for unused ports
Ajay Gupta [Thu, 31 Jan 2013 03:26:06 +0000 (19:26 -0800)]
We had seen ELPG loop issue if wakeup event for unused ports are not
disabled. This seems to be due to some programming in USB2 driver which
has been fixed now so there is no need to disable wakeup event for unused
ports.

BUG 1177456

Change-Id: I6bce86cffed826ae5ea294da44334d8afdf7fd0e

Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Change-Id: I5c230adc7f729a34c096ab2d9fc463a45d0e1720
Reviewed-on: http://git-master/r/196148
Reviewed-by: Riham Haidar <rhaidar@nvidia.com>
Tested-by: Riham Haidar <rhaidar@nvidia.com>

drivers/usb/host/xhci-tegra.c

index 900cdf8..1e25a98 100644 (file)
@@ -374,7 +374,6 @@ static int tegra_xhci_pmc_usb2_wakenotif_init(struct tegra_xhci_hcd *tegra,
        struct platform_device *pdev = tegra->pdev;
        struct xhci_hcd *xhci = tegra->xhci;
        struct usb_hcd *hcd = xhci_to_hcd(xhci);
-       int i;
        u32 val;
 
        /*
@@ -458,18 +457,6 @@ static int tegra_xhci_pmc_usb2_wakenotif_init(struct tegra_xhci_hcd *tegra,
 
        writel(val, pmc_base + PMC_UTMIP_UHSIC_SAVED_STATE_0);
 
-       /* PMC_UTMIP_UHSIC_LINE_WAKEUP_0 */
-       for (i = 0; i < PMC_PORT_NUM; i++) {
-               val = readl(pmc_base + PMC_UTMIP_UHSIC_LINE_WAKEUP_0);
-               val &= ~UTMIP_LINE_WAKEUP_EN(i);
-               writel(val, pmc_base + PMC_UTMIP_UHSIC_LINE_WAKEUP_0);
-       }
-
-       /* UHSIC2_LINE_WAKEUP_EN_P1=0 */
-       val = readl(pmc_base + PMC_UTMIP_UHSIC2_LINE_WAKEUP_0);
-       val &= ~UHSIC_LINE_WAKEUP_EN_P1;
-       writel(val, pmc_base + PMC_UTMIP_UHSIC2_LINE_WAKEUP_0);
-
        /*
         * G. Remove fake values and make synchronizers work a bit.
         * (TODO: Duplicate with #C?)