Thread (31 messages) 31 messages, 5 authors, 2020-05-15

Re: [PATCH 05/13] usb: dwc3: meson-g12a: refactor usb2 phy init

From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2020-03-24 14:33:36
Also in: linux-amlogic, linux-usb, lkml

Hi Neil,

On Tue, Mar 24, 2020 at 11:20 AM Neil Armstrong [off-list ref] wrote:
[...]
quoted hunk ↗ jump to hunk
@@ -195,23 +239,9 @@ static int dwc3_meson_g12a_usb2_init(struct dwc3_meson_g12a *priv)
                if (!strstr(priv->drvdata->phy_names[i], "usb2"))
                        continue;

-               regmap_update_bits(priv->u2p_regmap[i], U2P_R0,
-                                  U2P_R0_POWER_ON_RESET,
-                                  U2P_R0_POWER_ON_RESET);
-
-               if (priv->drvdata->otg_switch_supported && i == USB2_OTG_PHY) {
-                       regmap_update_bits(priv->u2p_regmap[i], U2P_R0,
-                               U2P_R0_ID_PULLUP | U2P_R0_DRV_VBUS,
-                               U2P_R0_ID_PULLUP | U2P_R0_DRV_VBUS);
-
-                       dwc3_meson_g12a_usb2_set_mode(priv, i,
-                                                     priv->otg_phy_mode);
-               } else
-                       dwc3_meson_g12a_usb2_set_mode(priv, i,
-                                                     PHY_MODE_USB_HOST);
-
-               regmap_update_bits(priv->u2p_regmap[i], U2P_R0,
-                                  U2P_R0_POWER_ON_RESET, 0);
+               ret = priv->drvdata->usb2_init_phy(priv, i, mode);
+               if (ret)
+                       return ret;
        }
this doesn't compile for me, it complains that mode is undefined
I believe we need something like the attached patch on top.

[...]
quoted hunk ↗ jump to hunk
@@ -580,7 +612,9 @@ static int dwc3_meson_g12a_probe(struct platform_device *pdev)
        /* Get dr_mode */
        priv->otg_mode = usb_get_dr_mode(dev);

-       dwc3_meson_g12a_usb_init(priv);
+       ret = dwc3_meson_g12a_usb_init(priv);
+       if (ret)
+               goto err_disable_clks;
this looks like an unrelated fix, dwc3_meson_g12a_usb_init has always
returned int (as potential error)
also the same check is missing in dwc3_meson_g12a_resume
can you please move this to a separate patch with the appropriate tag:
Fixes: c99993376f72ca ("usb: dwc3: Add Amlogic G12A DWC3 glue")


Martin

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help