[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Y9Ir8AQd8wmhIIiQ@corigine.com>
Date: Thu, 26 Jan 2023 08:29:52 +0100
From: Simon Horman <simon.horman@...igine.com>
To: Bjørn Mork <bjorn@...k.no>
Cc: netdev@...r.kernel.org, Felix Fietkau <nbd@....name>,
John Crispin <john@...ozen.org>,
Sean Wang <sean.wang@...iatek.com>,
Mark Lee <Mark-MC.Lee@...iatek.com>,
Lorenzo Bianconi <lorenzo@...nel.org>,
Russell King <linux@...linux.org.uk>,
Daniel Golle <daniel@...rotopia.org>,
Alexander Couzens <lynxis@...0.eu>,
Paolo Abeni <pabeni@...hat.com>,
Russell King <rmk+kernel@...linux.org.uk>
Subject: Re: [PATCH v4 net 1/3] net: mediatek: sgmii: ensure the SGMII PHY is
powered down on configuration
On Wed, Jan 25, 2023 at 07:16:00PM +0100, Bjørn Mork wrote:
> From: Alexander Couzens <lynxis@...0.eu>
>
> The code expect the PHY to be in power down which is only true after reset.
> Allow changes of the SGMII parameters more than once.
>
> Only power down when reconfiguring to avoid bouncing the link when there's
> no reason to - based on code from Russell King.
>
> There are cases when the SGMII_PHYA_PWD register contains 0x9 which
> prevents SGMII from working. The SGMII still shows link but no traffic
> can flow. Writing 0x0 to the PHYA_PWD register fix the issue. 0x0 was
> taken from a good working state of the SGMII interface.
>
> Fixes: 42c03844e93d ("net-next: mediatek: add support for MediaTek MT7622 SoC")
> Suggested-by: Russell King (Oracle) <linux@...linux.org.uk>
> Signed-off-by: Alexander Couzens <lynxis@...0.eu>
> [ bmork: rebased and squashed into one patch ]
> Reviewed-by: Russell King (Oracle) <rmk+kernel@...linux.org.uk>
> Signed-off-by: Bjørn Mork <bjorn@...k.no>
> ---
> drivers/net/ethernet/mediatek/mtk_eth_soc.h | 2 ++
> drivers/net/ethernet/mediatek/mtk_sgmii.c | 39 +++++++++++++++------
> 2 files changed, 30 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> index 18a50529ce7b..b299a7df3c30 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> @@ -1037,10 +1037,12 @@ struct mtk_soc_data {
> * SGMII modes
> * @ana_rgc3: The offset refers to register ANA_RGC3 related to regmap
> * @pcs: Phylink PCS structure
> + * @interface: Currently configured interface mode
nit: @interface should probably be above @pcs
> */
> struct mtk_pcs {
> struct regmap *regmap;
> u32 ana_rgc3;
> + phy_interface_t interface;
> struct phylink_pcs pcs;
> };
Thanks for tweaking the location of the interface field so
there is no hole in mtk_pcs. Looks good (on x86_64).
Powered by blists - more mailing lists