All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Cc: linux-can@vger.kernel.org, linux-kernel@vger.kernel.org,
	Max Staudt <max@enpas.org>,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	netdev@vger.kernel.org
Subject: Re: [PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD
Date: Sat, 4 Jun 2022 13:22:27 +0200	[thread overview]
Message-ID: <20220604112227.nlyxulkxelgofruz@pengutronix.de> (raw)
In-Reply-To: <20220603102848.17907-5-mailhol.vincent@wanadoo.fr>

[-- Attachment #1: Type: text/plain, Size: 4442 bytes --]

On 03.06.2022 19:28:45, Vincent Mailhol wrote:
> Only a few drivers rely on the CAN rx offload framework (as of the
> writing of this patch, only three: flexcan, ti_hecc and
> mcp251xfd). Give the option to the user to deselect this features
> during compilation.
> 
> The drivers relying on CAN rx offload are in different sub
> folders. All of these drivers get tagged with "select CAN_RX_OFFLOAD"
> so that the option is automatically enabled whenever one of those
> driver is chosen.
> 
> Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
> ---
>  drivers/net/can/Kconfig               | 16 ++++++++++++++++
>  drivers/net/can/dev/Makefile          |  2 ++
>  drivers/net/can/spi/mcp251xfd/Kconfig |  1 +
>  3 files changed, 19 insertions(+)
> 
> diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
> index 8f3b97aea638..1f1d81da1c8c 100644
> --- a/drivers/net/can/Kconfig
> +++ b/drivers/net/can/Kconfig
> @@ -102,6 +102,20 @@ config CAN_CALC_BITTIMING
>  
>  	  If unsure, say Y.
>  
> +config CAN_RX_OFFLOAD
> +	bool "CAN RX offload"
> +	default y
> +	help
> +	  Framework to offload the controller's RX FIFO during one
> +	  interrupt. The CAN frames of the FIFO are read and put into a skb
> +	  queue during that interrupt and transmitted afterwards in a NAPI
> +	  context.
> +
> +	  The additional features selected by this option will be added to the
> +	  can-dev module.
> +
> +	  If unsure, say Y.
> +
>  config CAN_AT91
>  	tristate "Atmel AT91 onchip CAN controller"
>  	depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
> @@ -113,6 +127,7 @@ config CAN_FLEXCAN
>  	tristate "Support for Freescale FLEXCAN based chips"
>  	depends on OF || COLDFIRE || COMPILE_TEST
>  	depends on HAS_IOMEM
> +	select CAN_RX_OFFLOAD
>  	help
>  	  Say Y here if you want to support for Freescale FlexCAN.
>  
> @@ -162,6 +177,7 @@ config CAN_SUN4I
>  config CAN_TI_HECC
>  	depends on ARM
>  	tristate "TI High End CAN Controller"
> +	select CAN_RX_OFFLOAD
>  	help
>  	  Driver for TI HECC (High End CAN Controller) module found on many
>  	  TI devices. The device specifications are available from www.ti.com
> diff --git a/drivers/net/can/dev/Makefile b/drivers/net/can/dev/Makefile
> index b8a55b1d90cd..5081d8a3be57 100644
> --- a/drivers/net/can/dev/Makefile
> +++ b/drivers/net/can/dev/Makefile
> @@ -11,3 +11,5 @@ can-dev-$(CONFIG_CAN_NETLINK) += netlink.o
>  can-dev-$(CONFIG_CAN_NETLINK) += rx-offload.o
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Do you want to remove this?

>  
>  can-dev-$(CONFIG_CAN_CALC_BITTIMING) += calc_bittiming.o
> +
> +can-dev-$(CONFIG_CAN_RX_OFFLOAD) += rx-offload.o
> diff --git a/drivers/net/can/spi/mcp251xfd/Kconfig b/drivers/net/can/spi/mcp251xfd/Kconfig
> index dd0fc0a54be1..877e4356010d 100644
> --- a/drivers/net/can/spi/mcp251xfd/Kconfig
> +++ b/drivers/net/can/spi/mcp251xfd/Kconfig
> @@ -2,6 +2,7 @@
>  
>  config CAN_MCP251XFD
>  	tristate "Microchip MCP251xFD SPI CAN controllers"
> +	select CAN_RX_OFFLOAD
>  	select REGMAP
>  	select WANT_DEV_COREDUMP
>  	help

I remember I've given you a list of drivers needing RX offload, I
probably missed the m_can driver. Feel free to squash this patch:

--- a/drivers/net/can/dev/Makefile
+++ b/drivers/net/can/dev/Makefile
@@ -8,7 +8,6 @@ can-dev-$(CONFIG_CAN_NETLINK) += bittiming.o
 can-dev-$(CONFIG_CAN_NETLINK) += dev.o
 can-dev-$(CONFIG_CAN_NETLINK) += length.o
 can-dev-$(CONFIG_CAN_NETLINK) += netlink.o
-can-dev-$(CONFIG_CAN_NETLINK) += rx-offload.o
 
 can-dev-$(CONFIG_CAN_CALC_BITTIMING) += calc_bittiming.o
 
diff --git a/drivers/net/can/m_can/Kconfig b/drivers/net/can/m_can/Kconfig
index 45ad1b3f0cd0..fc2afab36279 100644
--- a/drivers/net/can/m_can/Kconfig
+++ b/drivers/net/can/m_can/Kconfig
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 menuconfig CAN_M_CAN
        tristate "Bosch M_CAN support"
+       select CAN_RX_OFFLOAD
        help
          Say Y here if you want support for Bosch M_CAN controller framework.
          This is common support for devices that embed the Bosch M_CAN IP.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2022-06-04 11:22 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 14:23 [PATCH 0/2] can: drop tx skb if the device is in listen only mode Vincent Mailhol
2022-05-13 14:23 ` [PATCH 1/2] can: move can_dropped_invalid_skb from skb.h to dev.h Vincent Mailhol
2022-05-13 14:23 ` [PATCH 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 14:42 ` [PATCH 0/2] can: drop tx skb if the device is " Marc Kleine-Budde
2022-05-13 15:20   ` Vincent MAILHOL
2022-05-13 15:36 ` [PATCH v2 " Vincent Mailhol
2022-05-13 15:36   ` [PATCH v2 1/2] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-14  4:20     ` kernel test robot
2022-05-14  5:16       ` Vincent MAILHOL
2022-05-14  5:16         ` Vincent MAILHOL
2022-05-14 11:17         ` Max Staudt
2022-05-14 11:17           ` Max Staudt
2022-05-13 15:36   ` [PATCH v2 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 17:40   ` [PATCH v2 0/2] can: drop tx skb if the device is " Max Staudt
2022-05-14  3:00     ` Vincent MAILHOL
2022-05-14 14:16 ` [PATCH v3 0/4] can: can_dropped_invalid_skb() and Kbuild changes Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 1/4] can: slcan: use can_dropped_invalid_skb() instead of manual check Vincent Mailhol
2022-05-16 20:40     ` Marc Kleine-Budde
2022-05-14 14:16   ` [PATCH v3 2/4] can: Kconfig: change CAN_DEV into a menuconfig Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-15 19:17     ` Oliver Hartkopp
2022-05-17  1:50       ` Vincent MAILHOL
2022-05-17  4:12         ` Max Staudt
2022-05-17  6:08         ` Marc Kleine-Budde
2022-05-17  7:04           ` Vincent MAILHOL
2022-05-17 10:45             ` Marc Kleine-Budde
2022-05-17 11:51               ` Oliver Hartkopp
2022-05-17 12:14                 ` Max Staudt
2022-05-17 12:21                   ` Marc Kleine-Budde
2022-05-17 12:39                     ` Max Staudt
2022-05-17 13:35                       ` Oliver Hartkopp
2022-05-17 13:43                         ` Max Staudt
2022-05-17 14:23                           ` Marc Kleine-Budde
2022-05-17 14:35                           ` Oliver Hartkopp
2022-05-17 15:38                             ` Max Staudt
2022-05-17 15:50                               ` Oliver Hartkopp
2022-05-17 17:52                                 ` Max Staudt
2022-05-18 12:03                         ` Vincent MAILHOL
2022-05-18 12:12                           ` Device Drivers: (was: Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c) Marc Kleine-Budde
2022-05-18 12:45                             ` Oliver Hartkopp
2022-05-18 13:10                           ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Oliver Hartkopp
2022-05-18 13:28                             ` Marc Kleine-Budde
2022-05-18 14:07                               ` Vincent MAILHOL
2022-05-18 14:33                                 ` Oliver Hartkopp
2022-05-18 14:36                                   ` Marc Kleine-Budde
2022-05-18 14:38                                     ` Oliver Hartkopp
2022-05-18 14:55                                       ` Oliver Hartkopp
2022-05-18 15:38                                         ` Vincent MAILHOL
2022-05-18 15:48                                           ` Max Staudt
2022-05-18 16:01                                             ` Vincent MAILHOL
2022-05-14 14:16   ` [PATCH v3 4/4] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-06-03 10:28 ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 11:27     ` Marc Kleine-Budde
2022-06-04 12:30       ` Vincent MAILHOL
2022-06-04 12:43         ` Marc Kleine-Budde
2022-06-04 13:46     ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 11:25     ` Marc Kleine-Budde
2022-06-04 12:21       ` Vincent MAILHOL
2022-06-04 12:41         ` Marc Kleine-Budde
2022-06-04 12:56           ` Vincent MAILHOL
2022-06-04 13:51             ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-04 11:22     ` Marc Kleine-Budde [this message]
2022-06-04 12:14       ` Vincent MAILHOL
2022-06-03 10:28   ` [PATCH v4 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-04 11:46   ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Marc Kleine-Budde
2022-06-04 13:05     ` Vincent MAILHOL
2022-06-04 13:55       ` Marc Kleine-Budde
2022-06-04 14:59         ` Vincent MAILHOL
2022-06-04 15:18           ` Marc Kleine-Budde
2022-06-04 16:32             ` Vincent MAILHOL
2022-06-05 10:39               ` Marc Kleine-Budde
2022-06-05 13:57                 ` Vincent MAILHOL
2022-06-05 18:08                   ` Marc Kleine-Budde
2022-06-04 16:29 ` [PATCH v5 " Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-07  8:43     ` Geert Uytterhoeven
2022-06-07  9:27       ` Vincent MAILHOL
2022-06-07 16:22         ` Max Staudt
2022-06-07 22:06           ` Jakub Kicinski
2022-06-07 23:40             ` Vincent MAILHOL
2022-06-08  0:07               ` Jakub Kicinski
2022-06-07 23:43             ` Max Staudt
2022-06-08  0:14               ` Jakub Kicinski
2022-06-08  0:22                 ` Max Staudt
2022-06-08  1:38                 ` Vincent MAILHOL
2022-06-04 16:29   ` [PATCH v5 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-04 16:30   ` [PATCH v5 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-05 17:23   ` [PATCH v5 0/7] can: refactoring of can-dev module and of Kbuild Max Staudt
2022-06-05 18:06     ` Marc Kleine-Budde
2022-06-05 20:46       ` Max Staudt
2022-06-06  0:24         ` Vincent MAILHOL
2022-06-06 19:24   ` Oliver Hartkopp
2022-06-07  2:49     ` Vincent MAILHOL
2022-06-07  7:13       ` Marc Kleine-Budde
2022-06-07  8:49         ` Vincent MAILHOL
2022-06-07 20:12       ` Oliver Hartkopp
2022-06-07 20:27         ` Marc Kleine-Budde
2022-06-07 20:51           ` Oliver Hartkopp
2022-06-07 23:59             ` Vincent MAILHOL
2022-06-08 20:10               ` Oliver Hartkopp
2022-06-10 14:30 ` [PATCH v6 " Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 1/7] can: Kconfig: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-10 21:38   ` [PATCH v6 0/7] can: refactoring of can-dev module and of Kbuild Oliver Hartkopp
2022-06-10 22:43   ` Max Staudt
2022-06-11 15:17   ` Marc Kleine-Budde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220604112227.nlyxulkxelgofruz@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=max@enpas.org \
    --cc=netdev@vger.kernel.org \
    --cc=socketcan@hartkopp.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.