On Thu, 12 Nov 2020 20:26:08 +0200 Claudiu Manoil wrote: > From: Alex Marginean <alexandru.margin...@nxp.com> > > Due to a hardware issue, an access to MDIO registers > that is concurrent with other ENETC register accesses > may lead to the MDIO access being dropped or corrupted. > The workaround introduces locking for all register accesses > to the ENETC register space. To reduce performance impact, > a readers-writers locking scheme has been implemented. > The writer in this case is the MDIO access code (irrelevant > whether that MDIO access is a register read or write), and > the reader is any access code to non-MDIO ENETC registers. > Also, the datapath functions acquire the read lock fewer times > and use _hot accessors. All the rest of the code uses the _wa > accessors which lock every register access. > The commit introducing MDIO support is - > commit ebfcb23d62ab ("enetc: Add ENETC PF level external MDIO support") > but due to subsequent refactoring this patch is applicable on > top of a later commit. > > Fixes: 6517798dd343 ("enetc: Make MDIO accessors more generic and export to > include/linux/fsl") > Signed-off-by: Alex Marginean <alexandru.margin...@nxp.com> > Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com> > Signed-off-by: Claudiu Manoil <claudiu.man...@nxp.com>
Applied.