[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230718155621.3jenfn7rqtgouny7@skbuf>
Date: Tue, 18 Jul 2023 18:56:21 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Ante Knezic <ante.knezic@...mholz.de>
Cc: andrew@...n.ch, davem@...emloft.net, edumazet@...gle.com,
f.fainelli@...il.com, kuba@...nel.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
pabeni@...hat.com
Subject: Re: [PATCH net-next v2] net: dsa: mv88e6xxx: Add erratum 3.14 for
88E6390X and 88E6190X
On Tue, Jul 18, 2023 at 05:25:12PM +0200, Ante Knezic wrote:
> > > > It does not apply cleanly to net-next. Please respin. You can retain
> > > > Andrew's Reviewed-by tag.
> > >
> > > Respin might need a complete rework of the patch as with the
> > > conversion of 88e639x to phylink_pcs (introduced with commit
> > > e5b732a275f5fae0f1342fb8cf76de654cd51e50) the original code flow
> > > has completely changed so it will not be as simple as finding a new
> > > place to stick the patch.
> > > The new phylink mostly hides away mv88e6xxx_chip struct which is needed
> > > to identify the correct device and writing to relevant registers has also
> > > changed in favor of mv88e639x_pcs struct etc.
> > > I think you can see where I am going with this. In this sense I am not sure
> > > about keeping the Reviewed-by tag, more likely a complete rewrite
> > > should be done.
> > > I will repost V3 once I figure out how to make it work with the new
> > > framework.
> > >
> >
> > Can't you simply replicate the positioning of mv88e6393x_erratum_4_6()
> > from mv88e6393x_pcs_init()?
>
> I don't think so. The erratum from the patch needs to be applied on each
> SERDES reconfiguration or reset. For example, when replugging different
> SFPs (sgmii - 10g - sgmii interface). Erratum 4_6 is done only once?
> My guess is to put it in mv88e639x_sgmii_pcs_post_config but still I
> need the device product number - maybe embedding a pointer to the
> mv88e6xxx_chip chip inside the mv88e639x_pcs struct would be the cleanest way.
>
>
It needs to be implemented exactly as posted here? After mv88e6390_serdes_power()
is called on any port/lane, mv88e6390x_serdes_erratum_3_14() needs to run
for all lanes? That might be a problem.
Do we know if the register writes are disruptive for the ports which are
already up and running?
Powered by blists - more mailing lists