aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/can/flexcan.c
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2019-03-01 16:27:59 +0100
committerMarc Kleine-Budde <mkl@pengutronix.de>2019-11-11 21:58:12 +0100
commitb9468ad8ff65e6dcfeb69cab15deecafdb883643 (patch)
tree62b38ff42a747bef946f42803cded4a6182783bf /drivers/net/can/flexcan.c
parentcan: flexcan: flexcan_irq(): add support for TX mailbox in iflag1 (diff)
downloadlinux-dev-b9468ad8ff65e6dcfeb69cab15deecafdb883643.tar.xz
linux-dev-b9468ad8ff65e6dcfeb69cab15deecafdb883643.zip
can: flexcan: flexcan_mailbox_read() make use of flexcan_write64() to mark the mailbox as read
In the previous patch the function flexcan_write64() was introduced. This patch replaces the open coded variant in flexcan_mailbox_read() that marks a mailbox as read, by a single call to flexcan_write64(). Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can/flexcan.c')
-rw-r--r--drivers/net/can/flexcan.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 79696430dedf..a929cdda9ab2 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -883,15 +883,10 @@ static struct sk_buff *flexcan_mailbox_read(struct can_rx_offload *offload,
}
mark_as_read:
- if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
- /* Clear IRQ */
- if (n < 32)
- priv->write(BIT(n), &regs->iflag1);
- else
- priv->write(BIT(n - 32), &regs->iflag2);
- } else {
+ if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP)
+ flexcan_write64(priv, FLEXCAN_IFLAG_MB(n), &regs->iflag1);
+ else
priv->write(FLEXCAN_IFLAG_RX_FIFO_AVAILABLE, &regs->iflag1);
- }
/* Read the Free Running Timer. It is optional but recommended
* to unlock Mailbox as soon as possible and make it available