Message ID | 20210817193207.1038598-1-olek2@wp.pl |
---|---|
State | Superseded |
Headers | show |
Series | net: dsa: lantiq_gswip: Add 200ms assert delay | expand |
On Tue, Aug 17, 2021 at 10:44:48PM +0300, Vladimir Oltean wrote: > On Tue, Aug 17, 2021 at 09:32:07PM +0200, Aleksander Jan Bajkowski wrote: > > The delay is especially needed by the xRX300 and xRX330 SoCs. Without > > this patch, some phys are sometimes not properly detected. > > > > Fixes: a09d042b086202735c4ed64 ("net: dsa: lantiq: allow to use all GPHYs on xRX300 and xRX330") > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on DWR966, HH5A > > --- > > Generally the convention is: > > From: Patch Author <patch.author@email.com> > > Commit description > > Signed-off-by: Patch Author <patch.author@email.com> > Signed-off-by: Patch Carrier 1 <patch.carrier1@email.com> > Signed-off-by: Patch Carrier 2 <patch.carrier2@email.com> > Signed-off-by: Patch Carrier 3 <patch.carrier3@email.com> > Signed-off-by: Patch Submitter <patch.submitter@email.com> > > This patch is clearly not following this model for more than one reason. Let's not even talk about the kilometer-long commit sha1sum. This is not even my pet peeve, if this patch gets merged as-is you'll get an email titled "linux-next: Fixes tag needs some work in the net tree" (google it if you want examples). Stick this in your ~/.gitconfig and thank me later: [core] abbrev = 12 [pretty] fixes = Fixes: %h (\"%s\") Now run: git show a09d042b086202735c4ed64 --pretty=fixes Fixes: a09d042b0862 ("net: dsa: lantiq: allow to use all GPHYs on xRX300 and xRX330") Voila!
diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c index e78026ef6d8c..9eaf013b82a3 100644 --- a/drivers/net/dsa/lantiq_gswip.c +++ b/drivers/net/dsa/lantiq_gswip.c @@ -1884,6 +1884,12 @@ static int gswip_gphy_fw_load(struct gswip_priv *priv, struct gswip_gphy_fw *gph reset_control_assert(gphy_fw->reset); + /* The vendor BSP uses a 200ms delay after asserting the reset line. + * Without this some users are observing that the PHY is not coming up + * on the MDIO bus. + */ + msleep(200); + ret = request_firmware(&fw, gphy_fw->fw_name, dev); if (ret) { dev_err(dev, "failed to load firmware: %s, error: %i\n",