diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2019-08-24 14:07:31 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2020-02-12 11:06:09 +0100 |
commit | f94aa64e1b36490b150a63121eb1d1cd2a5fbce5 (patch) | |
tree | 461d7a0695bb6e71fecebeb69b429ed398557885 /drivers | |
parent | 4051587ccd228267169151813cc11efccaa41348 (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)
Diffstat (limited to 'drivers')
-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 */ |