123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- From f8fc363bf0c023e4736a0328174b4a24b44ab23a Mon Sep 17 00:00:00 2001
- From: "Russell King (Oracle)" <[email protected]>
- Date: Thu, 27 Oct 2022 14:10:37 +0100
- Subject: [PATCH 06/21] 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) <[email protected]>
- Signed-off-by: Jakub Kicinski <[email protected]>
- ---
- include/linux/phylink.h | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
- --- a/include/linux/phylink.h
- +++ b/include/linux/phylink.h
- @@ -617,6 +617,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,
|