aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3/core.c
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2011-09-30 03:58:49 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-04 13:25:55 -0400
commit26ceca9750260997ab82bb84dac122de1e441658 (patch)
treec76713b8ba06a9f24a7ca3124200eaad54d44d0b /drivers/usb/dwc3/core.c
parenta32994998c2ffa161159b79bb68e683e2746c330 (diff)
usb: dwc3: core: cache GHWPARAMS* registers
cache the contents of GHWPARAMS* registers in our device structure for easy access. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/dwc3/core.c')
-rw-r--r--drivers/usb/dwc3/core.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index cfb074548124..d35f90527c38 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -229,6 +229,21 @@ static void dwc3_event_buffers_cleanup(struct dwc3 *dwc)
229 } 229 }
230} 230}
231 231
232static void __devinit dwc3_cache_hwparams(struct dwc3 *dwc)
233{
234 struct dwc3_hwparams *parms = &dwc->hwparams;
235
236 parms->hwparams0 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS0);
237 parms->hwparams1 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS1);
238 parms->hwparams2 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS2);
239 parms->hwparams3 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS3);
240 parms->hwparams4 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS4);
241 parms->hwparams5 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS5);
242 parms->hwparams6 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS6);
243 parms->hwparams7 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS7);
244 parms->hwparams8 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS8);
245}
246
232/** 247/**
233 * dwc3_core_init - Low-level initialization of DWC3 Core 248 * dwc3_core_init - Low-level initialization of DWC3 Core
234 * @dwc: Pointer to our controller context structure 249 * @dwc: Pointer to our controller context structure
@@ -283,6 +298,8 @@ static int __devinit dwc3_core_init(struct dwc3 *dwc)
283 goto err1; 298 goto err1;
284 } 299 }
285 300
301 dwc3_cache_hwparams(dwc);
302
286 return 0; 303 return 0;
287 304
288err1: 305err1: