linux/drivers/net/can
Marc Kleine-Budde d3a51507e4 can: flexcan: flexcan_read_reg_iflag_rx(): optimize reading
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 all non RX
interrupt sources, it uses the precomputed value rx_mask of struct flexcan_priv
for this.

In certain use cases, for example the CANFD mode, the contents of the iflag2
register is completely masked.

This patch optimizes the flexcan_read_reg_iflag_rx() function by not reading
the iflag1 or iflag2 register if the contents is masked.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2019-11-11 21:58:11 +01:00
..
c_can can: c_can: c_can_plaform: fix checkpatch warnings 2019-11-11 21:58:08 +01:00
cc770 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 495 2019-06-19 17:09:52 +02:00
ifi_canfd can: ifi: use devm_platform_ioremap_resource() to simplify code 2019-11-11 21:58:09 +01:00
m_can can: m_can: add support for handling arbitration error 2019-11-11 21:58:09 +01:00
mscan treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 344 2019-06-05 17:37:07 +02:00
peak_canfd can: peak_canfd: provide hw timestamps in rx skbs 2019-11-11 21:58:09 +01:00
rcar can: rcar: use devm_platform_ioremap_resource() to simplify code 2019-11-11 21:58:10 +01:00
sja1000 can: peak_pci: Make structure peak_pciec_i2c_bit_ops constant 2019-08-20 13:41:25 +02:00
softing net/can: using dev_get_drvdata directly 2019-07-05 15:24:41 -07:00
spi can: mcp251x: only reset hardware as required 2019-11-11 21:57:28 +01:00
usb can: peak_usb: report bus recovery as well 2019-11-04 21:47:20 +01:00
at91_can.c can: mark expected switch fall-throughs 2019-07-25 20:09:42 -05:00
dev.c can: dev: can_restart(): remove unused code 2019-11-11 21:57:28 +01:00
flexcan.c can: flexcan: flexcan_read_reg_iflag_rx(): optimize reading 2019-11-11 21:58:11 +01:00
grcan.c can: grcan: use devm_platform_ioremap_resource() to simplify code 2019-11-11 21:58:09 +01:00
janz-ican3.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
Kconfig can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices 2019-07-24 10:31:53 +02:00
kvaser_pciefd.c can: kvaser_pciefd: the PWM generator is running at the bus frequency of the system. 2019-09-03 10:23:57 +02:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices 2019-07-24 10:31:53 +02:00
pch_can.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
rx-offload.c can: rx-offload: Prepare for CAN FD support 2019-11-11 21:58:10 +01:00
slcan.c can: make use of preallocated can_ml_priv for per device struct can_dev_rcv_lists 2019-09-04 13:29:15 +02:00
sun4i_can.c can: sun4i: use devm_platform_ioremap_resource() to simplify code 2019-11-11 21:58:10 +01:00
ti_hecc.c can: rx-offload: Prepare for CAN FD support 2019-11-11 21:58:10 +01:00
vcan.c can: make use of preallocated can_ml_priv for per device struct can_dev_rcv_lists 2019-09-04 13:29:15 +02:00
vxcan.c can: make use of preallocated can_ml_priv for per device struct can_dev_rcv_lists 2019-09-04 13:29:15 +02:00
xilinx_can.c can: xilinx_can: use devm_platform_ioremap_resource() to simplify code 2019-11-11 21:58:09 +01:00