Re: [PATCH 00/14] Multiple improvement to qca8k stability

From: Florian Fainelli
Date: Thu Apr 22 2021 - 21:51:09 EST




On 4/22/2021 6:47 PM, Ansuel Smith wrote:
> Currently qca8337 switch are widely used on ipq8064 based router.
> On these particular router it was notice a very unstable switch with
> port not link detected as link with unknown speed, port dropping
> randomly and general unreliability. Lots of testing and comparison
> between this dsa driver and the original qsdk driver showed lack of some
> additional delay and values. A main difference arised from the original
> driver and the dsa one. The original driver didn't use MASTER regs to
> read phy status and the dedicated mdio driver worked correctly. Now that
> the dsa driver actually use these regs, it was found that these special
> read/write operation required mutual exclusion to normal
> qca8k_read/write operation. The add of mutex for these operation fixed
> the random port dropping and now only the actual linked port randomly
> dropped. Adding additional delay for set_page operation and fixing a bug
> in the mdio dedicated driver fixed also this problem. The current driver
> requires also more time to apply vlan switch. All of these changes and
> tweak permit a now very stable and reliable dsa driver and 0 port
> dropping. This series is currently tested by at least 5 user with
> different routers and all reports positive results and no problems.

Since all of these changes are improvements and not really bug fixes,
please target them at the net-next tree:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/netdev-FAQ.rst#n40

also, the subject for your patches should just be:

net: dsa: qca8k:
net: mdio: mdio-ipq8064:

to be consistent with previous submissions in these files.

>
> Ansuel Smith (14):
> drivers: net: dsa: qca8k: handle error with set_page
> drivers: net: dsa: qca8k: tweak internal delay to oem spec
> drivers: net: mdio: mdio-ip8064: improve busy wait delay
> drivers: net: dsa: qca8k: apply suggested packet priority
> drivers: net: dsa: qca8k: add support for qca8327 switch
> devicetree: net: dsa: qca8k: Document new compatible qca8327
> drivers: net: dsa: qca8k: limit priority tweak to qca8337 switch
> drivers: net: dsa: qca8k: add GLOBAL_FC settings needed for qca8327
> drivers: net: dsa: qca8k: add support for switch rev
> drivers: net: dsa: qca8k: add support for specific QCA access function
> drivers: net: dsa: qca8k: apply switch revision fix
> drivers: net: dsa: qca8k: clear MASTER_EN after phy read/write
> drivers: net: dsa: qca8k: protect MASTER busy_wait with mdio mutex
> drivers: net: dsa: qca8k: enlarge mdio delay and timeout
>
> .../devicetree/bindings/net/dsa/qca8k.txt | 1 +
> drivers/net/dsa/qca8k.c | 256 ++++++++++++++++--
> drivers/net/dsa/qca8k.h | 54 +++-
> drivers/net/mdio/mdio-ipq8064.c | 36 ++-
> 4 files changed, 304 insertions(+), 43 deletions(-)
>

--
Florian