mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 15:07:13 -04:00
net: stmmac: provide stmmac_eee_tx_busy()
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
0cf44bd0c1
commit
82f2025dda
@@ -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;
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user