• Marco Felsch's avatar
    net: phy: smsc: LAN8710/20: add phy refclk in support · bedd8d78
    Marco Felsch authored
    Add support to specify the clock provider for the PHY refclk and don't
    rely on 'magic' host clock setup. [1] tried to address this by
    introducing a flag and fixing the corresponding host. But this commit
    breaks the IRQ support since the irq setup during .config_intr() is
    thrown away because the reset comes from the side without respecting the
    current PHY state within the PHY library state machine. Furthermore the
    commit fixed the problem only for FEC based hosts other hosts acting
    like the FEC are not covered.
    
    This commit goes the other way around to address the bug fixed by [1].
    Instead of resetting the device from the side every time the refclk gets
    (re-)enabled it requests and enables the clock till the device gets
    removed. Now the PHY library is the only place where the PHY gets reset
    to respect the PHY library state machine.
    
    [1] commit 7f64e5b1 ("net: phy: smsc: LAN8710/20: add
        PHY_RST_AFTER_CLK_EN flag")
    Signed-off-by: default avatarMarco Felsch <m.felsch@pengutronix.de>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bedd8d78
smsc.c 10.6 KB