On Fri, Sep 22, 2017 at 12:17:50PM -0400, Vivien Didelot wrote:
> bcm_sf2 is currently the only driver using the phy argument passed to
> .port_enable. It resets the state machine if the phy has been hard
> reset. This check is generic and can be moved to DSA core.
>  
>       dsa_port_set_state_now(p->dp, stp_state);
>  
> -     if (p->phy)
> -             phy_start(p->phy);
> +     if (phy) {
> +             /* If phy_stop() has been called before, phy will be in
> +              * halted state, and phy_start() will call resume.
> +              *
> +              * The resume path does not configure back autoneg
> +              * settings, and since the internal phy may have been
> +              * hard reset, we need to reset the state machine also.
> +              */
> +             phy->state = PHY_READY;
> +             phy_init_hw(phy);
> +             phy_start(phy);
> +     }

Hi Vivien

If this is generic, why is it needed at all here? Shouldn't this
actually by in phylib?

Florian ?

   Andrew

Reply via email to