Re: [RFC PATCH 5/5] can: m_can: Add hrtimer to generate software interrupt

From: Oliver Hartkopp
Date: Sun Apr 16 2023 - 15:46:59 EST




On 16.04.23 17:35, Marc Kleine-Budde wrote:
On 16.04.2023 14:33:11, Oliver Hartkopp wrote:


On 4/14/23 20:20, Marc Kleine-Budde wrote:
On 13.04.2023 17:30:51, Judith Mendez wrote:
Add a hrtimer to MCAN struct. Each MCAN will have its own
hrtimer instantiated if there is no hardware interrupt found.

The hrtimer will generate a software interrupt every 1 ms. In

Are you sure about the 1ms?

I had the 5ms that are actually used in the code in mind. But this is a
good calculation.

@Judith: Can you acknowledge the value calculation?

The "shortest" 11 bit CAN ID CAN frame is a Classical CAN frame with DLC = 0
and 1 Mbit/s (arbitration) bitrate. This should be 48 bits @1Mbit => ~50
usecs

So it should be something about

50 usecs * (FIFO queue len - 2)

Where does the "2" come from?

I thought about handling the FIFO earlier than it gets completely "full".

The fetching routine would need some time too and the hrtimer could also jitter to some extend.

if there is some FIFO involved, right?

Yes, the mcan core has a FIFO. In the current driver the FIFO
configuration is done via device tree and fixed after that. And I don't
know the size of the available RAM in the mcan IP core on that TI SoC.

Marc


Best regards,
Oliver