[PATCH v2 00/18] can: m_can: Optimizations for m_can/tcan part 2

From: Markus Schneider-Pargmann
Date: Wed Jan 25 2023 - 14:51:14 EST


Hi Marc and everyone,

second version part 2, I fixed the bug I noticed for integrated m_can
devices. The accounting was wrong or missing for these. I don't have the
integrated hardware myself so any testing is appreciated (I only have
the tcan device to test the mcan driver). Also v2 rebases on top of
v6.2-rc5.

The series implements many small and bigger throughput improvements and
adds rx/tx coalescing at the end.

Best,
Markus

Changes in v2:
- Rebased on v6.2-rc5
- Fixed missing/broken accounting for non peripheral m_can devices.

part 1:
v1 - https://lore.kernel.org/lkml/20221116205308.2996556-1-msp@xxxxxxxxxxxx
v2 - https://lore.kernel.org/lkml/20221206115728.1056014-1-msp@xxxxxxxxxxxx

part 2:
v1 - https://lore.kernel.org/lkml/20221221152537.751564-1-msp@xxxxxxxxxxxx

Markus Schneider-Pargmann (18):
can: tcan4x5x: Remove reserved register 0x814 from writable table
can: tcan4x5x: Check size of mram configuration
can: m_can: Remove repeated check for is_peripheral
can: m_can: Always acknowledge all interrupts
can: m_can: Remove double interrupt enable
can: m_can: Disable unused interrupts
can: m_can: Keep interrupts enabled during peripheral read
can: m_can: Write transmit header and data in one transaction
can: m_can: Implement receive coalescing
can: m_can: Implement transmit coalescing
can: m_can: Add rx coalescing ethtool support
can: m_can: Add tx coalescing ethtool support
can: m_can: Cache tx putidx
can: m_can: Use the workqueue as queue
can: m_can: Introduce a tx_fifo_in_flight counter
can: m_can: Use tx_fifo_in_flight for netif_queue control
can: m_can: Implement BQL
can: m_can: Implement transmit submission coalescing

drivers/net/can/m_can/m_can.c | 514 ++++++++++++++++++------
drivers/net/can/m_can/m_can.h | 36 +-
drivers/net/can/m_can/tcan4x5x-core.c | 5 +
drivers/net/can/m_can/tcan4x5x-regmap.c | 1 -
4 files changed, 432 insertions(+), 124 deletions(-)

--
2.39.0