Commit 61fac60a authored by Jose Abreu's avatar Jose Abreu Committed by David S. Miller

net: stmmac: Remove if condition by taking advantage of hwif return code

We can remove the if condition and check if return code is different
than -EINVAL, meaning callback is present.
Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Joao Pinto <jpinto@synopsys.com>
Cc: Vitor Soares <soares@synopsys.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d2df9ea0
...@@ -3644,6 +3644,7 @@ static irqreturn_t stmmac_interrupt(int irq, void *dev_id) ...@@ -3644,6 +3644,7 @@ static irqreturn_t stmmac_interrupt(int irq, void *dev_id)
/* To handle GMAC own interrupts */ /* To handle GMAC own interrupts */
if ((priv->plat->has_gmac) || (priv->plat->has_gmac4)) { if ((priv->plat->has_gmac) || (priv->plat->has_gmac4)) {
int status = stmmac_host_irq_status(priv, priv->hw, &priv->xstats); int status = stmmac_host_irq_status(priv, priv->hw, &priv->xstats);
int mtl_status;
if (unlikely(status)) { if (unlikely(status)) {
/* For LPI we need to save the tx status */ /* For LPI we need to save the tx status */
...@@ -3653,21 +3654,19 @@ static irqreturn_t stmmac_interrupt(int irq, void *dev_id) ...@@ -3653,21 +3654,19 @@ static irqreturn_t stmmac_interrupt(int irq, void *dev_id)
priv->tx_path_in_lpi_mode = false; priv->tx_path_in_lpi_mode = false;
} }
if (priv->synopsys_id >= DWMAC_CORE_4_00) {
for (queue = 0; queue < queues_count; queue++) { for (queue = 0; queue < queues_count; queue++) {
struct stmmac_rx_queue *rx_q = struct stmmac_rx_queue *rx_q = &priv->rx_queue[queue];
&priv->rx_queue[queue];
status |= stmmac_host_mtl_irq_status(priv, mtl_status = stmmac_host_mtl_irq_status(priv, priv->hw,
priv->hw, queue); queue);
if (mtl_status != -EINVAL)
status |= mtl_status;
if (status & CORE_IRQ_MTL_RX_OVERFLOW) if (status & CORE_IRQ_MTL_RX_OVERFLOW)
stmmac_set_rx_tail_ptr(priv, stmmac_set_rx_tail_ptr(priv, priv->ioaddr,
priv->ioaddr,
rx_q->rx_tail_addr, rx_q->rx_tail_addr,
queue); queue);
} }
}
/* PCS link status */ /* PCS link status */
if (priv->hw->pcs) { if (priv->hw->pcs) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment