Message ID | 20210914123345.6321-1-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 0ccf8511182436183c031e8a2f740ae91a02c625 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2] net: phy: at803x: add support for qca 8327 internal phy | expand |
Context | Check | Description |
---|---|---|
netdev/apply | success | Patch already applied to net-next |
netdev/tree_selection | success | Clearly marked for net-next |
On Tue, Sep 14, 2021 at 02:33:45PM +0200, Ansuel Smith wrote: > Add support for qca8327 internal phy needed for correct init of the > switch port. It does use the same qca8337 function and reg just with a > different id. > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > Tested-by: Rosen Penev <rosenp@gmail.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello: This patch was applied to netdev/net-next.git (refs/heads/master): On Tue, 14 Sep 2021 14:33:45 +0200 you wrote: > Add support for qca8327 internal phy needed for correct init of the > switch port. It does use the same qca8337 function and reg just with a > different id. > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > Tested-by: Rosen Penev <rosenp@gmail.com> > > [...] Here is the summary with links: - [net-next,v2] net: phy: at803x: add support for qca 8327 internal phy https://git.kernel.org/netdev/net-next/c/0ccf85111824 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
On Tue, Sep 14, 2021 at 02:33:45PM +0200, Ansuel Smith wrote: > +}, { > + /* QCA8327 */ > + .phy_id = QCA8327_PHY_ID, > + .phy_id_mask = QCA8K_PHY_ID_MASK, > + .name = "QCA PHY 8327", > + /* PHY_GBIT_FEATURES */ > + .probe = at803x_probe, > + .flags = PHY_IS_INTERNAL, > + .config_init = qca83xx_config_init, > + .soft_reset = genphy_soft_reset, How about setting .suspend and .resume? Without these, the PHY cannot be powered down/up administratively (via ip link set xxx down/up). See commit 93100d6817b0. Off-topic: When is .soft_reset called? The MediaTek PHY driver seems to work fine without it. > + .get_sset_count = at803x_get_sset_count, > + .get_strings = at803x_get_strings, > + .get_stats = at803x_get_stats, > }, };
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index bdac087058b2..719860a93d7c 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1420,6 +1420,19 @@ static struct phy_driver at803x_driver[] = { .get_sset_count = at803x_get_sset_count, .get_strings = at803x_get_strings, .get_stats = at803x_get_stats, +}, { + /* QCA8327 */ + .phy_id = QCA8327_PHY_ID, + .phy_id_mask = QCA8K_PHY_ID_MASK, + .name = "QCA PHY 8327", + /* PHY_GBIT_FEATURES */ + .probe = at803x_probe, + .flags = PHY_IS_INTERNAL, + .config_init = qca83xx_config_init, + .soft_reset = genphy_soft_reset, + .get_sset_count = at803x_get_sset_count, + .get_strings = at803x_get_strings, + .get_stats = at803x_get_stats, }, }; module_phy_driver(at803x_driver); @@ -1430,6 +1443,8 @@ static struct mdio_device_id __maybe_unused atheros_tbl[] = { { PHY_ID_MATCH_EXACT(ATH8032_PHY_ID) }, { PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) }, { PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) }, + { PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) }, + { PHY_ID_MATCH_EXACT(QCA8327_PHY_ID) }, { } };