UPSTREAM: usb: dwc3: core: move fladj to dwc3 structure
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 16 May 2016 07:42:23 +0000 (10:42 +0300)
committerHuang, Tao <huangtao@rock-chips.com>
Tue, 16 Aug 2016 12:48:19 +0000 (20:48 +0800)
this patch is in preparation for some further
re-factoring in dwc3 initialization. No functional
changes.

Change-Id: I19eaeca8e94616a98fe92696b05aa43d819a1d93
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
(cherry picked from commit bcdb3272e889f4d2a5c8efc5e12b0fb2dcbf75e9)

drivers/usb/dwc3/core.c
drivers/usb/dwc3/core.h

index 201357772402452bb060a846e9ca4e121d5fe74f..acfe949b6a6862b610466977764d9c915fcba053 100644 (file)
@@ -149,9 +149,8 @@ static int dwc3_soft_reset(struct dwc3 *dwc)
 /*
  * dwc3_frame_length_adjustment - Adjusts frame length if required
  * @dwc3: Pointer to our controller context structure
- * @fladj: Value of GFLADJ_30MHZ to adjust frame length
  */
-static void dwc3_frame_length_adjustment(struct dwc3 *dwc, u32 fladj)
+static void dwc3_frame_length_adjustment(struct dwc3 *dwc)
 {
        u32 reg;
        u32 dft;
@@ -159,15 +158,15 @@ static void dwc3_frame_length_adjustment(struct dwc3 *dwc, u32 fladj)
        if (dwc->revision < DWC3_REVISION_250A)
                return;
 
-       if (fladj == 0)
+       if (dwc->fladj == 0)
                return;
 
        reg = dwc3_readl(dwc->regs, DWC3_GFLADJ);
        dft = reg & DWC3_GFLADJ_30MHZ_MASK;
-       if (!dev_WARN_ONCE(dwc->dev, dft == fladj,
+       if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj,
            "request value same as default, ignoring\n")) {
                reg &= ~DWC3_GFLADJ_30MHZ_MASK;
-               reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | fladj;
+               reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj;
                dwc3_writel(dwc->regs, DWC3_GFLADJ, reg);
        }
 }
@@ -799,7 +798,6 @@ static int dwc3_probe(struct platform_device *pdev)
        u8                      lpm_nyet_threshold;
        u8                      tx_de_emphasis;
        u8                      hird_threshold;
-       u32                     fladj = 0;
 
        int                     ret;
 
@@ -924,7 +922,7 @@ static int dwc3_probe(struct platform_device *pdev)
        device_property_read_string(dev, "snps,hsphy_interface",
                                    &dwc->hsphy_interface);
        device_property_read_u32(dev, "snps,quirk-frame-length-adjustment",
-                                &fladj);
+                                &dwc->fladj);
 
        if (pdata) {
                dwc->maximum_speed = pdata->maximum_speed;
@@ -956,7 +954,7 @@ static int dwc3_probe(struct platform_device *pdev)
                        tx_de_emphasis = pdata->tx_de_emphasis;
 
                dwc->hsphy_interface = pdata->hsphy_interface;
-               fladj = pdata->fladj_value;
+               dwc->fladj = pdata->fladj_value;
        }
 
        /* default to superspeed if no maximum_speed passed */
@@ -1014,7 +1012,7 @@ static int dwc3_probe(struct platform_device *pdev)
        }
 
        /* Adjust Frame Length */
-       dwc3_frame_length_adjustment(dwc, fladj);
+       dwc3_frame_length_adjustment(dwc);
 
        usb_phy_set_suspend(dwc->usb2_phy, 0);
        usb_phy_set_suspend(dwc->usb3_phy, 0);
index 1fb960c1c17b40121a7dd36b678872e9df2eed1a..a67690b460b25132b65167113ac440867d490405 100644 (file)
@@ -727,6 +727,7 @@ struct dwc3_scratchpad_array {
  * @gadget_driver: pointer to the gadget driver
  * @regs: base address for our registers
  * @regs_size: address space size
+ * @fladj: frame length adjustment
  * @nr_scratch: number of scratch buffers
  * @u1u2: only used on revisions <1.83a for workaround
  * @maximum_speed: maximum speed requested (mainly for testing purposes)
@@ -836,6 +837,7 @@ struct dwc3 {
        /* used for suspend/resume */
        u32                     gctl;
 
+       u32                     fladj;
        u32                     nr_scratch;
        u32                     u1u2;
        u32                     maximum_speed;