Skip to content

Commit

Permalink
dpaa2-eth: update the TX frame queues on DPNI_IRQ_EVENT_ENDPOINT_CHANGED
Browse files Browse the repository at this point in the history
Currently the function is called at every link up event, although the
FQID values will only change when the DPNI is disconnected from the
current object and reconnected to a different one.

The patch also avoids the forward declaration of update_tx_fqids.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ioana Ciornei authored and David S. Miller committed Oct 31, 2019
1 parent 1ac210d commit f5c3fff
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -1255,8 +1255,6 @@ static void dpaa2_eth_set_rx_taildrop(struct dpaa2_eth_priv *priv, bool enable)
priv->rx_td_enabled = enable;
}

static void update_tx_fqids(struct dpaa2_eth_priv *priv);

static int link_state_update(struct dpaa2_eth_priv *priv)
{
struct dpni_link_state state = {0};
Expand All @@ -1283,7 +1281,6 @@ static int link_state_update(struct dpaa2_eth_priv *priv)
goto out;

if (state.up) {
update_tx_fqids(priv);
netif_carrier_on(priv->net_dev);
netif_tx_start_all_queues(priv->net_dev);
} else {
Expand Down Expand Up @@ -3363,8 +3360,10 @@ static irqreturn_t dpni_irq0_handler_thread(int irq_num, void *arg)
if (status & DPNI_IRQ_EVENT_LINK_CHANGED)
link_state_update(netdev_priv(net_dev));

if (status & DPNI_IRQ_EVENT_ENDPOINT_CHANGED)
if (status & DPNI_IRQ_EVENT_ENDPOINT_CHANGED) {
set_mac_addr(netdev_priv(net_dev));
update_tx_fqids(priv);
}

return IRQ_HANDLED;
}
Expand Down

0 comments on commit f5c3fff

Please sign in to comment.