Skip to content

Commit

Permalink
net: mvpp2: use phylink_pcs_change() to report PCS link change events
Browse files Browse the repository at this point in the history
Use phylink_pcs_change() when reporting changes in PCS link state to
phylink as the interrupts are informing us about changes to the PCS
state.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/E1s0OGn-009hgf-G6@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Russell King (Oracle) authored and Jakub Kicinski committed Apr 30, 2024
1 parent 3c668ce commit 45f54a9
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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);
}
}

Expand All @@ -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);
}
}
}
Expand Down

0 comments on commit 45f54a9

Please sign in to comment.