Thread (20 messages) flat view 20 messages, 6 authors, 2016-08-11

Re: [PATCH RESEND] net: can: Introduce MEN 16Z192-00 CAN controller driver

From: Andreas Werner <andreas.werner@men.de>
Date: 2016-08-11 08:59:44
Also in: linux-can, lkml

On Thu, Aug 11, 2016 at 10:45:00AM +0200, Oliver Hartkopp wrote:
On 08/11/2016 09:14 AM, Andreas Werner wrote:
quoted
On Wed, Aug 10, 2016 at 10:28:45PM +0200, Oliver Hartkopp wrote:
quoted
quoted
Just check 'git grep IFF_ECHO'. Even grcan.c and janz-ican3.c have IFF_ECHO
set - but implement it in a different way without using the provided
machanism from dev.c .
Ok I am with you.
Great :-)
quoted
quoted
A local loopback inside the CAN controller which is generated after
successful transmit is an excellent implementation with excellent
timestamps. The only problem for you is to detect the looped CAN frames and
match them to the skb pointer of the outgoing frame to 'receive' the correct
echo skb.
At the moment, i think there is no way to detect those looped frames.
I will talk to our IC designer and discuss this issue with him. Maybe we
have the possibility to get a local loopback inside the CAN controller.
This seems to be the best way to do it.
When you still have the possibility to change the IP core I would suggest to
create some kind of 16/32 bit value which you can pass to the CAN controller
along with the CAN frame to be sent.

And when this frame comes back due to the loopback you can use this non-zero
16/32 bit value to match into a list of tx skb pointers for IFF_ECHO.

E.g. when this 16/32 bit value is zero this CAN frame obviously was received
from another CAN node.

Just an idea.
I am not sure if we have a way to change the IP but i will try to talk with
my IC designer. He will be available next week.

Your idea sounds good. I will check a few more driver to get more information
how they did the implementation.
Regards,
Oliver
Thanks your comments and explanations Oliver.

Regards
Andy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help