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;
        }
 
        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);
        }
 }
 
                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);
                }
        }
 }