Thread (20 messages) 20 messages, 4 authors, 2021-11-19

Re: [PATCH net-next 3/5] net: lan966x: add port module support

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-11-18 09:59:55
Also in: lkml, netdev

On Thu, Nov 18, 2021 at 10:57:03AM +0100, Horatiu Vultur wrote:
quoted
quoted
+static void decode_sgmii_word(u16 lp_abil, struct lan966x_port_status *status)
+{
+     status->an_complete = true;
+     if (!(lp_abil & LPA_SGMII_LINK)) {
+             status->link = false;
+             return;
+     }
+
+     switch (lp_abil & LPA_SGMII_SPD_MASK) {
+     case LPA_SGMII_10:
+             status->speed = SPEED_10;
+             break;
+     case LPA_SGMII_100:
+             status->speed = SPEED_100;
+             break;
+     case LPA_SGMII_1000:
+             status->speed = SPEED_1000;
+             break;
+     default:
+             status->link = false;
+             return;
+     }
+     if (lp_abil & LPA_SGMII_FULL_DUPLEX)
+             status->duplex = DUPLEX_FULL;
+     else
+             status->duplex = DUPLEX_HALF;
+}
The above mentioned function will also handle SGMII as well.
I noticed that you have phylink_decode_sgmii_work(), so I will try to
export it also.
Another approach would be to split phylink_mii_c22_pcs_decode_state()
so that the appropriate decode function is selected depending on the
interface state, which may be a better idea.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help