Skip to content

can: m_can: Merge FIFO ops to increase throughput

Matt Kline linux-can 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 4 repliesIn review
  2. v22 patches 3 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3can: m_can: Disable IRQs on FIFO bus errorsdrivers/net/can/m_can/m_can.c drivers/net/can/m_can/m_can.h drivers/net/can/m_can/m_can_pci.c +2 more+152 -731 reply
2/3can: m_can: Batch FIFO reads during CAN receivedrivers/net/can/m_can/m_can.c+28 -233 replies
3/3can: m_can: Batch FIFO writes during CAN transmitdrivers/net/can/m_can/m_can.c+26 -350 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/3] can: m_can: Merge FIFO ops to increase throughput

As requested, I've propagated FIFO errors up to the m_can driver - on failure we now log the error and disable interrupts, similar to
https://elixir.bootlin.com/linux/v5.13/source/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c#L2298

I've also folded the ID and DLC fields into a struct (as suggested) so that we don't need to copy them to and from arrays for the FIFO transfers.

Following-up on
https://lore.kernel.org/linux-can/[email protected]/T/#u
Sorry for the slight delay - last week was busy!

Matt Kline (3):
can: m_can: Disable IRQs on FIFO bus errors
can: m_can: Batch FIFO reads during CAN receive
can: m_can: Batch FIFO writes during CAN transmit

 drivers/net/can/m_can/m_can.c          | 221 ++++++++++++++++---------
 drivers/net/can/m_can/m_can.h          |   6 +-
 drivers/net/can/m_can/m_can_pci.c      |  11 +-
 drivers/net/can/m_can/m_can_platform.c |  15 +-
 drivers/net/can/m_can/tcan4x5x-core.c  |  16 +-
 5 files changed, 172 insertions(+), 97 deletions(-)
Signature · 1 line
2.32.0