can: flexcan: remove TX mailbox bit from struct flexcan_priv::rx_mask{1,2}
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 1 Mar 2019 09:22:26 +0000 (10:22 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 11 Nov 2019 20:58:11 +0000 (21:58 +0100)
commit9ed63c60c9e3ace16e4307866cc01e8ddf296155
tree40c8cfc0d74c7f327b6fdb5d68589d3b8956c3e3
parent07c054d3e53fe27025dae5e232465c8ecf658ebf
can: flexcan: remove TX mailbox bit from struct flexcan_priv::rx_mask{1,2}

The flexcan IP core has up to 64 mailboxes, each one has a corresponding
interrupt bit in the iflag1 or iflag2 registers and a mask bit in the
imask1 or imask2 registers.

In the timestamp (i.e. non FIFO) mode the driver needs to mask out all
non RX interrupt sources and uses the precomputed values rx_mask1 and
rx_mask2 of struct flexcan_priv for this.

Currently these values cannot be used directly, as they contain the TX
mailbox flag. This patch removes the TX flag from flexcan_priv::rx_mask1
and flexcan_priv::rx_mask2, and sets the TX flag directly when writing
the regs->iflag1 and regs->iflag2 into the hardware.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/flexcan.c