RE: [PATCH] can: rcar_canfd: Add Renesas R-Car CAN FD driver
From: Ramesh Shanmugasundaram <hidden>
Date: 2016-03-02 08:41:40
Also in:
linux-can, linux-renesas-soc, netdev
Hi Marc, Thanks for the review.
On 03/01/2016 10:34 AM, Ramesh Shanmugasundaram wrote:quoted
This patch adds support for the CAN FD controller found in Renesas R-Car SoCs. The controller operates in CAN FD mode by default. Two test modes are available and can be enabled by the "rcar_canfd.testmode" module parameter. Refer to Documentation/kernel-parameters.txt. Is the channel loopback mode configurable per channel? If so, please remove the module parameter and make use of CAN_CTRLMODE_LOOPBACK to configure it.
The loopback setting is not truly a per channel attribute. It requires touching Rx rules which can be done only when the controller's global state is reset (during probe). CAN_CTRLMODE_LOOPBACK config option is possible only through .ndo_open of that channel but the global controller state needs to be operational by this time. As it is a global attribute & for the above reason, I choose the module option.
quoted
CAN FD mode supports both Classical CAN & CAN FD frame formats. The controller supports ISO 11898-1:2015 CAN FD format only. This controller supports two channels and the driver can enable either or both of the channels. Driver uses Rx FIFOs (one per channel) for reception & Common FIFOs (one per channel) for transmission. Rx filter rules are configured to the minimum (one per channel) and it accepts Standard, Extended, Data & Remote Frame combinations.I see no locking for the tx-path.
I am not sure why locking is needed in tx-path? However, looking at it again, I should move the incrementing of head after the "sts" handing to be apt. What do you think? Thanks, Ramesh