net: phy: add PHY_INTERFACE_MODE_10GBASER
Recent discussion has revealed that the use of PHY_INTERFACE_MODE_10GKR is incorrect. Add a 10GBASE-R definition, document both the -R and -KR versions, and the fact that 10GKR was used incorrectly. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
aea6a1eba5
commit
c114574ebf
|
@ -267,6 +267,24 @@ Some of the interface modes are described below:
|
|||
duplex, pause or other settings. This is dependent on the MAC and/or
|
||||
PHY behaviour.
|
||||
|
||||
``PHY_INTERFACE_MODE_10GBASER``
|
||||
This is the IEEE 802.3 Clause 49 defined 10GBASE-R protocol used with
|
||||
various different mediums. Please refer to the IEEE standard for a
|
||||
definition of this.
|
||||
|
||||
Note: 10GBASE-R is just one protocol that can be used with XFI and SFI.
|
||||
XFI and SFI permit multiple protocols over a single SERDES lane, and
|
||||
also defines the electrical characteristics of the signals with a host
|
||||
compliance board plugged into the host XFP/SFP connector. Therefore,
|
||||
XFI and SFI are not PHY interface types in their own right.
|
||||
|
||||
``PHY_INTERFACE_MODE_10GKR``
|
||||
This is the IEEE 802.3 Clause 49 defined 10GBASE-R with Clause 73
|
||||
autonegotiation. Please refer to the IEEE standard for further
|
||||
information.
|
||||
|
||||
Note: due to legacy usage, some 10GBASE-R usage incorrectly makes
|
||||
use of this definition.
|
||||
|
||||
Pause frames / flow control
|
||||
===========================
|
||||
|
|
|
@ -100,9 +100,11 @@ typedef enum {
|
|||
PHY_INTERFACE_MODE_2500BASEX,
|
||||
PHY_INTERFACE_MODE_RXAUI,
|
||||
PHY_INTERFACE_MODE_XAUI,
|
||||
/* 10GBASE-KR, XFI, SFI - single lane 10G Serdes */
|
||||
PHY_INTERFACE_MODE_10GKR,
|
||||
/* 10GBASE-R, XFI, SFI - single lane 10G Serdes */
|
||||
PHY_INTERFACE_MODE_10GBASER,
|
||||
PHY_INTERFACE_MODE_USXGMII,
|
||||
/* 10GBASE-KR - with Clause 73 AN */
|
||||
PHY_INTERFACE_MODE_10GKR,
|
||||
PHY_INTERFACE_MODE_MAX,
|
||||
} phy_interface_t;
|
||||
|
||||
|
@ -176,10 +178,12 @@ static inline const char *phy_modes(phy_interface_t interface)
|
|||
return "rxaui";
|
||||
case PHY_INTERFACE_MODE_XAUI:
|
||||
return "xaui";
|
||||
case PHY_INTERFACE_MODE_10GKR:
|
||||
return "10gbase-kr";
|
||||
case PHY_INTERFACE_MODE_10GBASER:
|
||||
return "10gbase-r";
|
||||
case PHY_INTERFACE_MODE_USXGMII:
|
||||
return "usxgmii";
|
||||
case PHY_INTERFACE_MODE_10GKR:
|
||||
return "10gbase-kr";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue