Re: [PATCH net] net: mdio-mux-meson-g12a: force internal PHY off on mux switch

From: Andrew Lunn
Date: Mon Jan 23 2023 - 09:49:22 EST


On Mon, Jan 23, 2023 at 02:50:37PM +0100, Jerome Brunet wrote:
> Force the internal PHY off then on when switching to the internal path.
> This fixes problems where the PHY ID is not properly set.
>
> Fixes: 7090425104db ("net: phy: add amlogic g12a mdio mux support")
> Suggested-by: Qi Duan <qi.duan@xxxxxxxxxxx>
> Co-developed-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
> Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> ---
>
> The initial discussion about this change can be found here:
> https://lore.kernel.org/all/1j4jslwen5.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> drivers/net/mdio/mdio-mux-meson-g12a.c | 23 ++++++++++++++++-------
> 1 file changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/mdio/mdio-mux-meson-g12a.c b/drivers/net/mdio/mdio-mux-meson-g12a.c
> index 4a2e94faf57e..da61f00a6666 100644
> --- a/drivers/net/mdio/mdio-mux-meson-g12a.c
> +++ b/drivers/net/mdio/mdio-mux-meson-g12a.c
> @@ -4,6 +4,7 @@
> */
>
> #include <linux/bitfield.h>
> +#include <linux/delay.h>
> #include <linux/clk.h>
> #include <linux/clk-provider.h>
> #include <linux/device.h>
> @@ -151,6 +152,7 @@ static const struct clk_ops g12a_ephy_pll_ops = {
> static int g12a_enable_internal_mdio(struct g12a_mdio_mux *priv)
> {
> int ret;
> + u32 value;

Reverse Christmas tree please. Longest first, shortest last.

Andrew