[PATCH 00/15] can: m_can: Optimizations for tcan and peripheral chips

From: Markus Schneider-Pargmann
Date: Wed Nov 16 2022 - 15:54:11 EST


Hi,

this series is aimed at optimizing the driver code for tcan chips and
more generally for peripheral m_can chips.

I did different things to improve the performance:
- Reduce the number of SPI transfers.
- Reduce the number of interrupts.
- Enable use of FIFOs.

I am working with a tcan4550 in loopback mode attached to a beaglebone
black. I am currently working on optimizing the receive path as well
which will be submitted in another series once it is done.

Best,
Markus

Markus Schneider-Pargmann (15):
can: m_can: Eliminate double read of TXFQS in tx_handler
can: m_can: Wakeup net queue once tx was issued
can: m_can: Cache tx putidx and transmits in flight
can: m_can: Use transmit event FIFO watermark level interrupt
can: m_can: Disable unused interrupts
can: m_can: Avoid reading irqstatus twice
can: m_can: Read register PSR only on error
can: m_can: Count TXE FIFO getidx in the driver
can: m_can: Count read getindex in the driver
can: m_can: Batch acknowledge rx fifo
can: m_can: Batch acknowledge transmit events
can: tcan4x5x: Remove invalid write in clear_interrupts
can: tcan4x5x: Fix use of register error status mask
can: tcan4x5x: Fix register range of first block
can: tcan4x5x: Specify separate read/write ranges

drivers/net/can/m_can/m_can.c | 140 +++++++++++++++---------
drivers/net/can/m_can/m_can.h | 5 +
drivers/net/can/m_can/tcan4x5x-core.c | 19 ++--
drivers/net/can/m_can/tcan4x5x-regmap.c | 45 ++++++--
4 files changed, 141 insertions(+), 68 deletions(-)


base-commit: 094226ad94f471a9f19e8f8e7140a09c2625abaa
prerequisite-patch-id: e9df6751d43bb0d1e3b8938d7e93bc1cfa22cef2
prerequisite-patch-id: dad9ec37af766bcafe54cb156f896267a0f47fe1
prerequisite-patch-id: f4e6f1a213a31df2741a5fa3baa87aa45ef6707a
--
2.38.1