net: mvpp2: use phylink_pcs_change() to report PCS link change events
[linux-block.git] / drivers / net / ethernet / marvell / mvpp2 / mvpp2_main.c
index 23adf53c2aa1c08086bff5758a99673e023c7de4..19253a0fb4fef8b6e6e316231fab8ecc93b1f11c 100644 (file)
@@ -3434,12 +3434,13 @@ static void mvpp2_isr_handle_ptp(struct mvpp2_port *port)
                mvpp2_isr_handle_ptp_queue(port, 1);
 }
 
-static void mvpp2_isr_handle_link(struct mvpp2_port *port, bool link)
+static void mvpp2_isr_handle_link(struct mvpp2_port *port,
+                                 struct phylink_pcs *pcs, bool link)
 {
        struct net_device *dev = port->dev;
 
        if (port->phylink) {
-               phylink_mac_change(port->phylink, link);
+               phylink_pcs_change(pcs, link);
                return;
        }
 
@@ -3472,7 +3473,7 @@ static void mvpp2_isr_handle_xlg(struct mvpp2_port *port)
        if (val & MVPP22_XLG_INT_STAT_LINK) {
                val = readl(port->base + MVPP22_XLG_STATUS);
                link = (val & MVPP22_XLG_STATUS_LINK_UP);
-               mvpp2_isr_handle_link(port, link);
+               mvpp2_isr_handle_link(port, &port->pcs_xlg, link);
        }
 }
 
@@ -3488,7 +3489,7 @@ static void mvpp2_isr_handle_gmac_internal(struct mvpp2_port *port)
                if (val & MVPP22_GMAC_INT_STAT_LINK) {
                        val = readl(port->base + MVPP2_GMAC_STATUS0);
                        link = (val & MVPP2_GMAC_STATUS0_LINK_UP);
-                       mvpp2_isr_handle_link(port, link);
+                       mvpp2_isr_handle_link(port, &port->pcs_gmac, link);
                }
        }
 }