409c188c | 27-Jul-2022 |
Vincent Mailhol <mailhol.vincent@wanadoo.fr> |
can: tree-wide: advertise software timestamping capabilities
Currently, some CAN drivers support hardware timestamping, some do not. But userland has no method to query which features are supported
can: tree-wide: advertise software timestamping capabilities
Currently, some CAN drivers support hardware timestamping, some do not. But userland has no method to query which features are supported (aside maybe of getting RX messages and observe whether or not hardware timestamps stay at zero).
The canonical way for a network driver to advertised what kind of timestamping it supports is to implement ethtool_ops::get_ts_info().
This patch only targets the CAN drivers which *do not* support hardware timestamping. For each of those CAN drivers, implement the get_ts_info() using the generic ethtool_op_get_ts_info().
This way, userland can do:
| $ ethtool --show-time-stamping canX
to confirm the device timestamping capacities.
N.B. the drivers which support hardware timestamping will be migrated in separate patches.
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Link: https://lore.kernel.org/all/20220727101641.198847-6-mailhol.vincent@wanadoo.fr [mkl: mscan: add missing mscan_ethtool_ops] Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|
74fc5a45 | 08-Jan-2022 |
Dario Binacchi <dario.binacchi@amarulasolutions.com> |
can: flexcan: add ethtool support to get rx/tx ring parameters
This patch adds ethtool support to get the number of message buffers configured for reception/transmission, which may also depends on r
can: flexcan: add ethtool support to get rx/tx ring parameters
This patch adds ethtool support to get the number of message buffers configured for reception/transmission, which may also depends on runtime configurations such as the 'rx-rtr' flag state.
Link: https://lore.kernel.org/all/20220108181633.420433-1-dario.binacchi@amarulasolutions.com Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> [mkl: port to net-next/master, replace __sw_hweight64 by simpler calculation] Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|
1c45f577 | 04-Jan-2022 |
Marc Kleine-Budde <mkl@pengutronix.de> |
can: flexcan: add ethtool support to change rx-rtr setting during runtime
This patch adds a private flag to the flexcan driver to switch the "rx-rtr" setting on and off.
"rx-rtr" on - Receive RTR
can: flexcan: add ethtool support to change rx-rtr setting during runtime
This patch adds a private flag to the flexcan driver to switch the "rx-rtr" setting on and off.
"rx-rtr" on - Receive RTR frames. (default) The CAN controller can and will receive RTR frames.
On some IP cores the controller cannot receive RTR frames in the more performant "RX mailbox" mode and will use "RX FIFO" mode instead.
"rx-rtr" off - Waive ability to receive RTR frames. (not supported on all IP cores) This mode activates the "RX mailbox mode" for better performance, on some IP cores RTR frames cannot be received anymore.
The "RX FIFO" mode uses a FIFO with a depth of 6 CAN frames. The "RX mailbox" mode uses up to 62 mailboxes.
Link: https://lore.kernel.org/all/20220107193105.1699523-6-mkl@pengutronix.de Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Co-developed-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|
c5c88591 | 07-Jan-2022 |
Marc Kleine-Budde <mkl@pengutronix.de> |
can: flexcan: add more quirks to describe RX path capabilities
Most flexcan IP cores support 2 RX modes: - FIFO - mailbox
Some IP core versions cannot receive CAN RTR messages via mailboxes. This p
can: flexcan: add more quirks to describe RX path capabilities
Most flexcan IP cores support 2 RX modes: - FIFO - mailbox
Some IP core versions cannot receive CAN RTR messages via mailboxes. This patch adds quirks to document this.
This information will be used in a later patch to switch from FIFO to more performant mailbox mode at the expense of losing the ability to receive RTR messages. This trade off is beneficial in certain use cases.
Link: https://lore.kernel.org/all/20220107193105.1699523-5-mkl@pengutronix.de Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|
34ea4e1c | 06-Jan-2022 |
Marc Kleine-Budde <mkl@pengutronix.de> |
can: flexcan: rename RX modes
Most flexcan IP cores support 2 RX modes: - FIFO - mailbox
The names for these modes were chosen to reflect the name of the rx-offload mode they are using.
The name o
can: flexcan: rename RX modes
Most flexcan IP cores support 2 RX modes: - FIFO - mailbox
The names for these modes were chosen to reflect the name of the rx-offload mode they are using.
The name of the RX modes should better reflect their difference with regards the flexcan IP core. So this patch renames the various occurrences of OFF_FIFO to RX_FIFO and OFF_TIMESTAMP to RX_MAILBOX:
| FLEXCAN_TX_MB_RESERVED_OFF_FIFO -> FLEXCAN_TX_MB_RESERVED_RX_FIFO | FLEXCAN_TX_MB_RESERVED_OFF_TIMESTAMP -> FLEXCAN_TX_MB_RESERVED_RX_MAILBOX | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP -> FLEXCAN_QUIRK_USE_RX_MAILBOX
Link: https://lore.kernel.org/all/20220107193105.1699523-4-mkl@pengutronix.de Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|
01bb4dcc | 04-Jan-2022 |
Dario Binacchi <dario.binacchi@amarulasolutions.com> |
can: flexcan: allow to change quirks at runtime
This is a preparation patch for the upcoming support to change the rx-rtr capability via the ethtool API.
Link: https://lore.kernel.org/all/202201071
can: flexcan: allow to change quirks at runtime
This is a preparation patch for the upcoming support to change the rx-rtr capability via the ethtool API.
Link: https://lore.kernel.org/all/20220107193105.1699523-3-mkl@pengutronix.de Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
show more ...
|