From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Christoph Fritz <christoph.fritz@hexdev.de>
Cc: Jiri Slaby <jirislaby@kernel.org>,
Oliver Hartkopp <socketcan@hartkopp.net>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Vincent Mailhol <mailhol.vincent@wanadoo.fr>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sebastian Reichel <sre@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Andreas Lauser <andreas.lauser@mercedes-benz.com>,
Jonathan Corbet <corbet@lwn.net>,
Pavel Pisa <pisa@cmp.felk.cvut.cz>,
linux-can@vger.kernel.org, Netdev <netdev@vger.kernel.org>,
devicetree@vger.kernel.org, linux-input@vger.kernel.org,
linux-serial <linux-serial@vger.kernel.org>
Subject: Re: [PATCH v3 09/11] can: lin: Handle rx offload config frames
Date: Mon, 6 May 2024 20:11:30 +0300 (EEST) [thread overview]
Message-ID: <9cf35451-9d03-e487-c06b-580208ac3a3d@linux.intel.com> (raw)
In-Reply-To: <20240502182804.145926-10-christoph.fritz@hexdev.de>
On Thu, 2 May 2024, Christoph Fritz wrote:
> The CAN Broadcast Manager now has the capability to dispatch CANFD
> frames marked with the id LINBUS_RXOFFLOAD_ID. This patch introduces
> functionality to interpret these specific frames, enabling the
> configuration of RX offloading within the LIN driver.
>
> Signed-off-by: Christoph Fritz <christoph.fritz@hexdev.de>
> ---
> drivers/net/can/lin.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/net/can/lin.c b/drivers/net/can/lin.c
> index 95906003666fb..ee2ebea2c865f 100644
> --- a/drivers/net/can/lin.c
> +++ b/drivers/net/can/lin.c
> @@ -194,6 +194,27 @@ static void lin_remove_sysfs_id_files(struct net_device *ndev)
> }
> }
>
> +static int lin_setup_rxoffload(struct lin_device *ldev,
> + struct canfd_frame *cfd)
> +{
> + struct lin_responder_answer answ;
> +
> + if (!(cfd->flags & CANFD_FDF))
> + return -EMSGSIZE;
This seems a bit odd error code.
> + BUILD_BUG_ON(sizeof(struct lin_responder_answer) > sizeof(cfd->data));
> + memcpy(&answ, cfd->data, sizeof(struct lin_responder_answer));
2x sizeof(answ)
> +
> + answ.lf.checksum_mode = (cfd->can_id & LIN_ENHANCED_CKSUM_FLAG) ?
> + LINBUS_ENHANCED : LINBUS_CLASSIC;
> +
> + if (answ.lf.lin_id > LIN_ID_MASK ||
> + answ.event_associated_id > LIN_ID_MASK)
> + return -EINVAL;
> +
> + return ldev->ldev_ops->update_responder_answer(ldev, &answ);
> +}
> +
> static void lin_tx_work_handler(struct work_struct *ws)
> {
> struct lin_device *ldev = container_of(ws, struct lin_device,
> @@ -206,6 +227,14 @@ static void lin_tx_work_handler(struct work_struct *ws)
> ldev->tx_busy = true;
>
> cfd = (struct canfd_frame *)ldev->tx_skb->data;
> +
> + if (cfd->can_id & LIN_RXOFFLOAD_DATA_FLAG) {
> + ret = lin_setup_rxoffload(ldev, cfd);
> + if (ret < 0)
> + netdev_err(ndev, "setting up rx failed %d\n", ret);
> + goto lin_tx_out;
> + }
> +
> lf.checksum_mode = (cfd->can_id & LIN_ENHANCED_CKSUM_FLAG) ?
> LINBUS_ENHANCED : LINBUS_CLASSIC;
> lf.lin_id = cfd->can_id & LIN_ID_MASK;
>
--
i.
next prev parent reply other threads:[~2024-05-06 17:11 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-02 18:27 [PATCH v3 00/11] LIN Bus support for Linux Christoph Fritz
2024-05-02 18:27 ` [PATCH v3 01/11] can: Add LIN bus as CAN abstraction Christoph Fritz
2024-05-06 16:24 ` Ilpo Järvinen
2024-05-08 12:47 ` Christoph Fritz
2024-05-08 13:08 ` Ilpo Järvinen
2024-05-08 18:20 ` Christoph Fritz
2024-05-08 18:48 ` Greg Kroah-Hartman
2024-05-09 17:06 ` Christoph Fritz
2024-05-02 18:27 ` [PATCH v3 02/11] HID: hexLIN: Add support for USB LIN bus adapter Christoph Fritz
2024-05-06 16:53 ` Ilpo Järvinen
2024-05-09 17:06 ` Christoph Fritz
2024-05-10 9:31 ` Ilpo Järvinen
2024-05-02 18:27 ` [PATCH v3 03/11] tty: serdev: Add flag buffer aware receive_buf_fp() Christoph Fritz
2024-05-04 16:00 ` Greg Kroah-Hartman
2024-05-08 8:48 ` Christoph Fritz
2024-05-02 18:27 ` [PATCH v3 04/11] tty: serdev: Add method to enable break flags Christoph Fritz
2024-05-02 18:27 ` [PATCH v3 05/11] dt-bindings: vendor-prefixes: Add hexDEV Christoph Fritz
2024-05-02 18:27 ` [PATCH v3 06/11] dt-bindings: net/can: Add serial (serdev) LIN adapter Christoph Fritz
2024-05-03 17:12 ` Conor Dooley
2024-05-03 18:29 ` Christoph Fritz
2024-05-06 16:16 ` Conor Dooley
2024-05-06 18:50 ` Krzysztof Kozlowski
2024-05-08 11:34 ` Christoph Fritz
2024-05-08 16:16 ` Conor Dooley
2024-05-02 18:28 ` [PATCH v3 07/11] can: Add support for serdev LIN adapters Christoph Fritz
2024-05-06 17:03 ` Ilpo Järvinen
2024-05-09 17:06 ` Christoph Fritz
2024-05-02 18:28 ` [PATCH v3 08/11] can: bcm: Add LIN answer offloading for responder mode Christoph Fritz
2024-05-06 17:08 ` Ilpo Järvinen
2024-05-09 17:06 ` Christoph Fritz
2024-05-02 18:28 ` [PATCH v3 09/11] can: lin: Handle rx offload config frames Christoph Fritz
2024-05-06 17:11 ` Ilpo Järvinen [this message]
2024-05-09 17:07 ` Christoph Fritz
2024-05-02 18:28 ` [PATCH v3 10/11] can: lin: Support setting LIN mode Christoph Fritz
2024-05-02 18:28 ` [PATCH v3 11/11] HID: hexLIN: Implement ability to update lin mode Christoph Fritz
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=9cf35451-9d03-e487-c06b-580208ac3a3d@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=andreas.lauser@mercedes-benz.com \
--cc=bentiss@kernel.org \
--cc=christoph.fritz@hexdev.de \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=jikos@kernel.org \
--cc=jirislaby@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mailhol.vincent@wanadoo.fr \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pisa@cmp.felk.cvut.cz \
--cc=robh@kernel.org \
--cc=socketcan@hartkopp.net \
--cc=sre@kernel.org \
/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.