Hi Marc, Thanks for the review. > On 03/01/2016 10:34 AM, Ramesh Shanmugasundaram wrote: > > 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. > > > 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