Good Morning Marc, On Fri, Dec 02, 2022 at 03:03:06PM +0100, Marc Kleine-Budde wrote: > On 16.11.2022 21:52:53, Markus Schneider-Pargmann wrote: > > 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. > > The patches I've not commented on look fine. If you re-spin the series > only containing those, I'll include them in my next pull request, which > I'll send out soonish. Ok, thank you, I will send a subset of the patches today. > > regards, > Marc > > > 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 > > BTW: I don't have access to these prerequisite-patch-id. I think I messed up here. I have three patches, SPI fixes and devicetree snippet that this series is based on. I guess I shouldn't have used --base then or rebase on something without these patches first. Thanks, Markus