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. 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. -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |