Re: [EXT] [PATCH net-next 15/15] net: mvpp2: set the GMAC, XLG MAC, XPCS and MPCS in reset when a port is down

From: Antoine Tenart
Date: Thu Feb 28 2019 - 10:06:08 EST


Hi Yan,

On Thu, Feb 28, 2019 at 03:00:34PM +0000, Yan Markman wrote:
>
> The eth-down/stop may concurrent with pre-scheduled stats_work.
> So it seems better to cancel stats_work first and then make resetS.

I'm not sure this would actually result in an issue, but to keep it
logical I'll change that.

Thanks,
Antoine

> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> index 29d32cb3d52b..c10fd894c86f 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> @@ -3257,6 +3257,7 @@ static void mvpp2_stop_dev(struct mvpp2_port *port)
>
> if (port->phylink)
> phylink_stop(port->phylink);
> +
> phy_power_off(port->comphy);
> }
>
> @@ -3520,6 +3521,9 @@ static int mvpp2_stop(struct net_device *dev)
> mvpp2_cleanup_rxqs(port);
> mvpp2_cleanup_txqs(port);
>
> + mvpp2_mac_reset(port);
> + mvpp22_pcs_reset(port);
> +
> cancel_delayed_work_sync(&port->stats_work);
>
> return 0;

--
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com