Thread (12 messages) 12 messages, 4 authors, 2018-01-03

Re: [PATCH net-next v2 4/4] net: mvpp2: 2500baseX support

From: Antoine Tenart <hidden>
Date: 2018-01-03 15:32:41
Also in: lkml

Hi Andrew,

On Wed, Jan 03, 2018 at 04:20:36PM +0100, Andrew Lunn wrote:
quoted
@@ -4612,6 +4616,9 @@ static int mvpp22_comphy_init(struct mvpp2_port *port)
 	case PHY_INTERFACE_MODE_1000BASEX:
 		mode = PHY_MODE_SGMII;
 		break;
+	case PHY_INTERFACE_MODE_2500BASEX:
+		mode = PHY_MODE_2500SGMII;
+		break;
I think this is the source of confusion with linux/phy.h and
linux/phy/phy.h.

What would PHY_INTERFACE_MODE_2500SGMII use?

Where is this all getting confused? Should the caller to
mvpp22_comphy_init() actually be passing PHY_INTERFACE_MODE_2500SGMII?
What is the MAC actually doing at this point? 2500BASEX or 2500SGMII?
PHY_INTERFACE_MODE_2500BASEX is the PHY mode whereas PHY_MODE_2500SGMII
is the mode used by the common PHY driver (i.e. the one configuring the
serdes lanes).

There's no PHY_INTERFACE_MODE_2500SGMII mode.
At minimum there needs to be a comment that this is not a typ0,
otherwise you are going to get patches submitted to 'fix' this.
Sure, I can add a comment to state this function is a translation
between the net PHY mode and the generic PHY mode (it's a n-to-1
translation).

Thanks!
Antoine

-- 
Antoine Ténart, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help