Re: [net-next PATCH v2 03/10] net: netcp: ethss: make call to gbe_sgmii_config() conditional
From: Murali Karicheri <hidden>
Date: 2018-03-27 19:37:44
Also in:
linux-arm-kernel, linux-devicetree, lkml
On 03/27/2018 01:18 PM, Andrew Lunn wrote:
On Tue, Mar 27, 2018 at 12:31:42PM -0400, Murali Karicheri wrote:quoted
As a preparatory patch to add support for 2u cpsw hardware found on K2G SoC, make call to gbe_sgmii_config() conditional. This is required since 2u uses RGMII interface instead of SGMII and to allow for driver re-use. Signed-off-by: Murali Karicheri <redacted> --- drivers/net/ethernet/ti/netcp_ethss.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)diff --git a/drivers/net/ethernet/ti/netcp_ethss.c b/drivers/net/ethernet/ti/netcp_ethss.c index 56dbc0b..1dea891 100644 --- a/drivers/net/ethernet/ti/netcp_ethss.c +++ b/drivers/net/ethernet/ti/netcp_ethss.c@@ -2271,7 +2271,8 @@ static int gbe_slave_open(struct gbe_intf *gbe_intf) void (*hndlr)(struct net_device *) = gbe_adjust_link; - gbe_sgmii_config(priv, slave); + if ((priv->ss_version == GBE_SS_VERSION_14) || IS_SS_ID_NU(priv)) + gbe_sgmii_config(priv, slave);Or maybe: if (slave->phy_node == PHY_INTERFACE_MODE_SGMII) gbe_sgmii_config(priv, slave);
Yeah. Based on my response to your other comment, this would become
if ((slave->link_interface == SGMII_LINK_MAC_PHY) &&
(IS_SS_ID_VER_14(priv) || IS_SS_ID_NU(priv)))
gbe_sgmii_config(priv, slave);
We can't solely depends on phy_mode here. Phy interface is one of several
interface possible. There is MAC_TO_MAC_FORCED, NO_MDIO etc. So we check the
link_interface above.
If we can agree, here is what will appear in v3
1) Add another patch to do conversion of priv->ss_version == GBE_SS_VERSION_14 check
with a macro, IS_SS_ID_VER_14
2) modify this patch as above.
MuraliAndrew
-- Murali Karicheri Linux Kernel, Keystone