All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, linux-can@vger.kernel.org,
	kernel@pengutronix.de, Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [PATCH net-next 14/22] can: mcp251xfd: introduce and make use of mcp251xfd_is_fd_mode()
Date: Sat,  8 Jan 2022 22:43:37 +0100	[thread overview]
Message-ID: <20220108214345.1848470-15-mkl@pengutronix.de> (raw)
In-Reply-To: <20220108214345.1848470-1-mkl@pengutronix.de>

This patch replaces the open coded check, if the chip's FIFOs are
configured for CAN-FD mode, by the newly introduced function
mcp251xfd_is_fd_mode().

Link: https://lore.kernel.org/all/20220105154300.1258636-14-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c | 4 ++--
 drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c      | 3 +--
 drivers/net/can/spi/mcp251xfd/mcp251xfd.h           | 6 ++++++
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
index ce94dd744a93..2f9a623d381d 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
@@ -34,7 +34,7 @@ mcp251xfd_chip_rx_fifo_init_one(const struct mcp251xfd_priv *priv,
 		MCP251XFD_REG_FIFOCON_RXOVIE |
 		MCP251XFD_REG_FIFOCON_TFNRFNIE;
 
-	if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY | CAN_CTRLMODE_FD))
+	if (mcp251xfd_is_fd_mode(priv))
 		fifo_con |= FIELD_PREP(MCP251XFD_REG_FIFOCON_PLSIZE_MASK,
 				       MCP251XFD_REG_FIFOCON_PLSIZE_64);
 	else
@@ -84,7 +84,7 @@ int mcp251xfd_chip_fifo_init(const struct mcp251xfd_priv *priv)
 		MCP251XFD_REG_FIFOCON_TXEN |
 		MCP251XFD_REG_FIFOCON_TXATIE;
 
-	if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY | CAN_CTRLMODE_FD))
+	if (mcp251xfd_is_fd_mode(priv))
 		val |= FIELD_PREP(MCP251XFD_REG_FIFOCON_PLSIZE_MASK,
 				  MCP251XFD_REG_FIFOCON_PLSIZE_64);
 	else
diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
index ffb3691c4ba7..92f9e9b01289 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
@@ -209,8 +209,7 @@ int mcp251xfd_ring_alloc(struct mcp251xfd_priv *priv)
 	int ram_free, i;
 
 	tef_obj_size = sizeof(struct mcp251xfd_hw_tef_obj);
-	/* listen-only mode works like FD mode */
-	if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY | CAN_CTRLMODE_FD)) {
+	if (mcp251xfd_is_fd_mode(priv)) {
 		tx_obj_num = MCP251XFD_TX_OBJ_NUM_CANFD;
 		tx_obj_size = sizeof(struct mcp251xfd_hw_tx_obj_canfd);
 		rx_obj_size = sizeof(struct mcp251xfd_hw_rx_obj_canfd);
diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd.h b/drivers/net/can/spi/mcp251xfd/mcp251xfd.h
index 597786a85621..f551c900803e 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd.h
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd.h
@@ -626,6 +626,12 @@ MCP251XFD_IS(2517);
 MCP251XFD_IS(2518);
 MCP251XFD_IS(251X);
 
+static inline bool mcp251xfd_is_fd_mode(const struct mcp251xfd_priv *priv)
+{
+	/* listen-only mode works like FD mode */
+	return priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY | CAN_CTRLMODE_FD);
+}
+
 static inline u8 mcp251xfd_first_byte_set(u32 mask)
 {
 	return (mask & 0x0000ffff) ?
-- 
2.34.1



  parent reply	other threads:[~2022-01-08 21:44 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-08 21:43 [PATCH net-next 0/22] pull-request: can-next 2022-01-08 Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 01/22] can: janz-ican3: initialize dlc variable Marc Kleine-Budde
2022-01-09 17:00   ` patchwork-bot+netdevbpf
2022-01-08 21:43 ` [PATCH net-next 02/22] can: mcp251xfd: remove double blank lines Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 03/22] can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 04/22] can: mcp251xfd: add missing newline to printed strings Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 05/22] can: mcp251xfd: mcp251xfd_open(): open_candev() first Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 06/22] can: mcp251xfd: mcp251xfd_open(): make use of pm_runtime_resume_and_get() Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 07/22] can: mcp251xfd: mcp251xfd_handle_rxovif(): denote RX overflow message to debug + add rate limiting Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 08/22] can: mcp251xfd: mcp251xfd.h: sort function prototypes Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 09/22] can: mcp251xfd: move RX handling into separate file Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 10/22] can: mcp251xfd: move TX " Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 11/22] can: mcp251xfd: move TEF " Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 12/22] can: mcp251xfd: move chip FIFO init " Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 13/22] can: mcp251xfd: move ring init into separate function Marc Kleine-Budde
2022-01-08 21:43 ` Marc Kleine-Budde [this message]
2022-01-08 21:43 ` [PATCH net-next 15/22] can: flexcan: move driver into separate sub directory Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 16/22] can: flexcan: allow to change quirks at runtime Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 17/22] can: flexcan: rename RX modes Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 18/22] can: flexcan: add more quirks to describe RX path capabilities Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 19/22] can: flexcan: add ethtool support to change rx-rtr setting during runtime Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 20/22] can: flexcan: add ethtool support to get rx/tx ring parameters Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 21/22] docs: networking: device drivers: add can sub-folder Marc Kleine-Budde
2022-01-08 21:43 ` [PATCH net-next 22/22] docs: networking: device drivers: can: add flexcan 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=20220108214345.1848470-15-mkl@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=davem@davemloft.net \
    --cc=kernel@pengutronix.de \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=netdev@vger.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.