diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2019-08-24 14:07:31 +0200 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2019-12-02 14:22:41 +0100 |
commit | 24be9bc4f2facb5028fd5ef0e1f542575797d480 (patch) | |
tree | 037811cd0d80b1f9ebc4564f84067ff0e4b72f10 | |
parent | 23d69b363c8a7c68eedfaeb6d1d8aa5ca6c1e4ab (diff) |
can: mcp25xxfd: mcp25xxfd_can_tx_handle_int_tefif(): simplyfy function and add comments
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
(cherry picked from commit bd0713e14f8665ffaff2f17f6e0ac0b7fcaef902)
-rw-r--r-- | drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c index 50252d530725..84803ca2005d 100644 --- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c +++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can_tx.c @@ -407,13 +407,12 @@ int mcp25xxfd_can_tx_handle_int_tefif(struct mcp25xxfd_can_priv *cpriv) MCP25XXFD_DEBUGFS_STATS_INCR(cpriv, int_tef_count); + /* compute finished fifos and clear them immediately + * + * bit in txreq == 0 means successfully sent + */ spin_lock_irqsave(&cpriv->fifos.tx_queue->lock, flags); - - /* compute finished fifos and clear them immediately */ - finished = (cpriv->fifos.tx_queue->in_can_transfer ^ - cpriv->status.txreq) & - cpriv->fifos.tx_queue->in_can_transfer; - + finished = ~cpriv->status.txreq & cpriv->fifos.tx_queue->in_can_transfer; spin_unlock_irqrestore(&cpriv->fifos.tx_queue->lock, flags); /* run in optimized mode if possible */ |