28 May 2012 22:02
[RFC v5] CAN FD support
Oliver Hartkopp <socketcan <at> hartkopp.net>
2012-05-28 20:02:54 GMT
2012-05-28 20:02:54 GMT
Hi all, since RFC v4 - see http://marc.info/?l=linux-can&m=133708871921901&w=2 from 2012-05-15 - i cleaned up some details and added the support of simultaneous CAN and CANFD frame handling inside the networking code after some discussion with Kurt. Sometimes code needs to be implemented to see that there is a more elegant solution out there when removing that code again(Continue reading)If you also feel fine with this patch i would finally create a patchset of four patches, like - adding new structures and constants - adding CAN FD support in af_can.c - adding CAN FD support in raw.c - adding CAN FD support in vcan.c for the upcoming net-next bound for Linux 3.6 . Some words about the basic concepts of this CAN FD support for Linux CAN networking. In general the new CAN FD controllers support two different bitrates for the arbitration phase and the payload phase of the CAN FD frame and up to 64 bytes of payload. This extended payload length breaks all the kernel interfaces (ABI) which heavily rely on the CAN frame with fixed eight bytes of payload (struct can_frame) like the CAN_RAW socket. This patch enables the CAN network layer to handle CAN FD frames and 'legacy' CAN frames following ISO 11898-1 and updates the virtual CAN driver (vcan) to be able to develop and test userspace applications and CAN network drivers. Main concepts:
If you also feel fine with this patch i would finally create a patchset of
four patches, like
- adding new structures and constants
- adding CAN FD support in af_can.c
- adding CAN FD support in raw.c
- adding CAN FD support in vcan.c
for the upcoming net-next bound for Linux 3.6 .
Some words about the basic concepts of this CAN FD support for Linux CAN
networking. In general the new CAN FD controllers support two different
bitrates for the arbitration phase and the payload phase of the CAN FD frame
and up to 64 bytes of payload. This extended payload length breaks all the
kernel interfaces (ABI) which heavily rely on the CAN frame with fixed eight
bytes of payload (struct can_frame) like the CAN_RAW socket.
This patch enables the CAN network layer to handle CAN FD frames and 'legacy'
CAN frames following ISO 11898-1 and updates the virtual CAN driver (vcan) to
be able to develop and test userspace applications and CAN network drivers.
Main concepts:
RSS Feed