Re: mcp251xfd: rx frame truncation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18.01.2023 11:26:31, Stefan Althöfer wrote:
> While still testing the double-RX erratum patch I'm experiencing another problem.
> 
> I'm using my setup with two mcp2518fd and my own 'sctest' program. Both are
> sending  messages to each other. I start sending a number of transmit ahead 
> frames and then  send out one more messages when a frame arrives at the peer. 
> So  overrun should not occur.
> 
> In contrast to the tests I did over the weekend, I increased the transmit 
> ahead to 3, sending now up to 64 bytes and the frame size is now random.
> 
> I now frequently see these kind of messages appear:
> 
> Jan 18 05:34:00 raspberrypi kernel: [405471.116322] mcp251xfd spi0.0 can0: Transmit Event FIFO buffer not empty. (seq=0x00001e36, tef_tail=0x00001e3a, tef_head=0x00001e3b, tx_head=0x00001e3b).
> Jan 18 09:36:27 raspberrypi kernel: [420017.452369] mcp251xfd spi6.0 can1: Transmit Event FIFO buffer full. (seq=0x00001062, tef_tail=0x00001066, tef_head=0x00001067, tx_head=0x00001067).
> 
> Why do they occur?

As I mentioned in the other mail, the erratum also affects the TX FIFO.

In tests with high TX load I have seen the message "buffer not empty" in
the past, but never the message "buffer full". With the "buffer not
empty" errors, I haven't seen any CAN frame drops or truncated messages,
but I've been testing mainly CAN-2.0.

I'll have to look at the TEF and TX handling with what I learned from
developing the RX FIFO workaround.

I'll look into your mail in detail later.

regards,
Marc

-- 
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 |

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux