summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2011-09-22 18:57:55 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:57 -0800
commitcef66e78ac6ff7973d894ae6476b17268de3ff19 (patch)
tree8055bc428ab2736dde1326a32e1c6a5d8f6398fb
parent6e73736bbc6dad6f256496b35db2115cf4a66bbb (diff)
usb: ehci: check for hostpc when reading for USBMODE
During usb suspend, if controller has hostpc registers then USBMODE register should be read from different offset. Bug 875902 Change-Id: I3a74745a0465cfc56803140e68205437bc01596c Reviewed-on: http://git-master/r/54026 Reviewed-by: Rakesh Bodla <rbodla@nvidia.com> Tested-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Rebase-Id: Re894b4702ceb08cfbbdbc5a6bbbb122fe48ce66c
-rw-r--r--drivers/usb/host/ehci-hcd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 456f1ab366d3..ab94b512e0ea 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -203,7 +203,10 @@ static int tdi_in_host_mode (struct ehci_hcd *ehci)
u32 __iomem *reg_ptr;
u32 tmp;
- reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + USBMODE);
+ if (ehci->has_hostpc)
+ reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + USBMODE_EX);
+ else
+ reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + USBMODE);
tmp = ehci_readl(ehci, reg_ptr);
return (tmp & 3) == USBMODE_CM_HC;
}