mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-14 06:35:12 +00:00
net: phylink: add phylink_get_link_timer_ns() helper
Add a helper to convert the PHY interface mode to the required link timer setting as stated by the appropriate standard. Inappropriate interface modes return an error. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
23f232592d
commit
9c5a170677
1 changed files with 24 additions and 0 deletions
|
@ -616,6 +616,30 @@ int phylink_speed_up(struct phylink *pl);
|
|||
|
||||
void phylink_set_port_modes(unsigned long *bits);
|
||||
|
||||
/**
|
||||
* phylink_get_link_timer_ns - return the PCS link timer value
|
||||
* @interface: link &typedef phy_interface_t mode
|
||||
*
|
||||
* Return the PCS link timer setting in nanoseconds for the PHY @interface
|
||||
* mode, or -EINVAL if not appropriate.
|
||||
*/
|
||||
static inline int phylink_get_link_timer_ns(phy_interface_t interface)
|
||||
{
|
||||
switch (interface) {
|
||||
case PHY_INTERFACE_MODE_SGMII:
|
||||
case PHY_INTERFACE_MODE_QSGMII:
|
||||
case PHY_INTERFACE_MODE_USXGMII:
|
||||
return 1600000;
|
||||
|
||||
case PHY_INTERFACE_MODE_1000BASEX:
|
||||
case PHY_INTERFACE_MODE_2500BASEX:
|
||||
return 10000000;
|
||||
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
void phylink_mii_c22_pcs_decode_state(struct phylink_link_state *state,
|
||||
u16 bmsr, u16 lpa);
|
||||
void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs,
|
||||
|
|
Loading…
Reference in a new issue