Skip to content

Commit

Permalink
net: stmmac: provide stmmac_eee_tx_busy()
Browse files Browse the repository at this point in the history
Extract the code which checks whether there's still work to do on any
of the stmmac transmit queues. This will allow us to combine
stmmac_enable_eee_mode() with stmmac_try_to_start_sw_lpi() in the
next patch.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1tXItR-000MBO-GF@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Russell King (Oracle) authored and Jakub Kicinski committed Jan 15, 2025
1 parent 0cf44bd commit 82f2025
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -400,13 +400,7 @@ static void stmmac_enable_hw_lpi_timer(struct stmmac_priv *priv)
stmmac_set_eee_lpi_timer(priv, priv->hw, priv->tx_lpi_timer);
}

/**
* stmmac_enable_eee_mode - check and enter in LPI mode
* @priv: driver private structure
* Description: this function is to verify and enter in LPI mode in case of
* EEE.
*/
static int stmmac_enable_eee_mode(struct stmmac_priv *priv)
static bool stmmac_eee_tx_busy(struct stmmac_priv *priv)
{
u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 queue;
Expand All @@ -416,9 +410,23 @@ static int stmmac_enable_eee_mode(struct stmmac_priv *priv)
struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[queue];

if (tx_q->dirty_tx != tx_q->cur_tx)
return -EBUSY; /* still unfinished work */
return true; /* still unfinished work */
}

return false;
}

/**
* stmmac_enable_eee_mode - check and enter in LPI mode
* @priv: driver private structure
* Description: this function is to verify and enter in LPI mode in case of
* EEE.
*/
static int stmmac_enable_eee_mode(struct stmmac_priv *priv)
{
if (stmmac_eee_tx_busy(priv))
return -EBUSY; /* still unfinished work */

/* Check and enter in LPI mode */
if (!priv->tx_path_in_lpi_mode)
stmmac_set_eee_mode(priv, priv->hw,
Expand Down

0 comments on commit 82f2025

Please sign in to comment.