linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups
@ 2025-06-17 13:24 Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 01/10] net: fec: fix typos found by codespell Marc Kleine-Budde
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

This series first cleans up the fec driver a bit (typos, obsolete
comments, add missing header files, rename struct, replace magic
number by defines).

The last 5 patches clean up the fec_enet_rx_queue() function,
including VLAN handling.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Changes in v3:
- update cover letter and subject
- 1: fix another typo (thanks Bence Csókás)
- 7: clarify patch description (thanks Andrew Lunn)
- collected Wei Fang's, Bence Csókás's and Andrew Lunn's Reviewed-by
- Link to v2: https://patch.msgid.link/20250612-fec-cleanups-v2-0-ae7c36df185e@pengutronix.de

Changes in v2:
- removed patches 7, 8 for now
- rebased to recent net-next/main:
  dropped patch 6
- 2, 3: wrap patch description at 75 chars:
  (thanks Frank Li)
- 4, 5, 6, 7, 9: updated wording of patch description
  (thanks Frank Li)
- 10: move VLAN_header into the if statement (thanks Wei Fang)
- 10: mark several variables const
- collected Wei Fang's and Frank Li's Reviewed-by
- Link to v1: https://patch.msgid.link/20241016-fec-cleanups-v1-0-de783bd15e6a@pengutronix.de

---
Marc Kleine-Budde (10):
      net: fec: fix typos found by codespell
      net: fec: struct fec_enet_private: remove obsolete comment
      net: fec: add missing header files
      net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info
      net: fec: fec_restart(): introduce a define for FEC_ECR_SPEED
      net: fec: fec_enet_rx_queue(): use same signature as fec_enet_tx_queue()
      net: fec: fec_enet_rx_queue(): replace manual VLAN header calculation with skb_vlan_eth_hdr()
      net: fec: fec_enet_rx_queue(): reduce scope of data
      net: fec: fec_enet_rx_queue(): move_call to _vlan_hwaccel_put_tag()
      net: fec: fec_enet_rx_queue(): factor out VLAN handling into separate function fec_enet_rx_vlan()

 drivers/net/ethernet/freescale/fec.h         | 11 +++---
 drivers/net/ethernet/freescale/fec_main.c    | 56 ++++++++++++++--------------
 drivers/net/ethernet/freescale/fec_mpc52xx.c |  2 +-
 drivers/net/ethernet/freescale/fec_ptp.c     |  4 +-
 4 files changed, 36 insertions(+), 37 deletions(-)
---
base-commit: 170e4e3944aa39accf64d869b27c187f8c08abc7
change-id: 20240925-fec-cleanups-c9b5544bc854

Best regards,
-- 
Marc Kleine-Budde <mkl@pengutronix.de>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 01/10] net: fec: fix typos found by codespell
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 02/10] net: fec: struct fec_enet_private: remove obsolete comment Marc Kleine-Budde
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

codespell has found some typos in the comments, fix them.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Csókás, Bence <csokas.bence@prolan.hu>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec.h         | 8 ++++----
 drivers/net/ethernet/freescale/fec_mpc52xx.c | 2 +-
 drivers/net/ethernet/freescale/fec_ptp.c     | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index c81f2ea588f2..3cce9bba5dee 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -115,7 +115,7 @@
 #define IEEE_T_MCOL		0x254 /* Frames tx'd with multiple collision */
 #define IEEE_T_DEF		0x258 /* Frames tx'd after deferral delay */
 #define IEEE_T_LCOL		0x25c /* Frames tx'd with late collision */
-#define IEEE_T_EXCOL		0x260 /* Frames tx'd with excesv collisions */
+#define IEEE_T_EXCOL		0x260 /* Frames tx'd with excessive collisions */
 #define IEEE_T_MACERR		0x264 /* Frames tx'd with TX FIFO underrun */
 #define IEEE_T_CSERR		0x268 /* Frames tx'd with carrier sense err */
 #define IEEE_T_SQE		0x26c /* Frames tx'd with SQE err */
@@ -342,7 +342,7 @@ struct bufdesc_ex {
 #define FEC_TX_BD_FTYPE(X)	(((X) & 0xf) << 20)
 
 /* The number of Tx and Rx buffers.  These are allocated from the page
- * pool.  The code may assume these are power of two, so it it best
+ * pool.  The code may assume these are power of two, so it is best
  * to keep them that size.
  * We don't need to allocate pages for the transmitter.  We just use
  * the skbuffer directly.
@@ -460,7 +460,7 @@ struct bufdesc_ex {
 #define FEC_QUIRK_SINGLE_MDIO		(1 << 11)
 /* Controller supports RACC register */
 #define FEC_QUIRK_HAS_RACC		(1 << 12)
-/* Controller supports interrupt coalesc */
+/* Controller supports interrupt coalesce */
 #define FEC_QUIRK_HAS_COALESCE		(1 << 13)
 /* Interrupt doesn't wake CPU from deep idle */
 #define FEC_QUIRK_ERR006687		(1 << 14)
@@ -495,7 +495,7 @@ struct bufdesc_ex {
  */
 #define FEC_QUIRK_HAS_EEE		(1 << 20)
 
-/* i.MX8QM ENET IP version add new feture to generate delayed TXC/RXC
+/* i.MX8QM ENET IP version add new feature to generate delayed TXC/RXC
  * as an alternative option to make sure it works well with various PHYs.
  * For the implementation of delayed clock, ENET takes synchronized 250MHz
  * clocks to generate 2ns delay.
diff --git a/drivers/net/ethernet/freescale/fec_mpc52xx.c b/drivers/net/ethernet/freescale/fec_mpc52xx.c
index 2bfaf14f65c8..3fc29afc9854 100644
--- a/drivers/net/ethernet/freescale/fec_mpc52xx.c
+++ b/drivers/net/ethernet/freescale/fec_mpc52xx.c
@@ -619,7 +619,7 @@ static void mpc52xx_fec_hw_init(struct net_device *dev)
 	out_be32(&fec->rfifo_alarm, 0x0000030c);
 	out_be32(&fec->tfifo_alarm, 0x00000100);
 
-	/* begin transmittion when 256 bytes are in FIFO (or EOF or FIFO full) */
+	/* begin transmission when 256 bytes are in FIFO (or EOF or FIFO full) */
 	out_be32(&fec->x_wmrk, FEC_FIFO_WMRK_256B);
 
 	/* enable crc generation */
diff --git a/drivers/net/ethernet/freescale/fec_ptp.c b/drivers/net/ethernet/freescale/fec_ptp.c
index 876d90832596..d6d9f0d6ca99 100644
--- a/drivers/net/ethernet/freescale/fec_ptp.c
+++ b/drivers/net/ethernet/freescale/fec_ptp.c
@@ -117,7 +117,7 @@ static u64 fec_ptp_read(const struct cyclecounter *cc)
  * @fep: the fec_enet_private structure handle
  * @enable: enable the channel pps output
  *
- * This function enble the PPS ouput on the timer channel.
+ * This function enables the PPS output on the timer channel.
  */
 static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
 {
@@ -172,7 +172,7 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
 		 * very close to the second point, which means NSEC_PER_SEC
 		 * - ts.tv_nsec is close to be zero(For example 20ns); Since the timer
 		 * is still running when we calculate the first compare event, it is
-		 * possible that the remaining nanoseonds run out before the compare
+		 * possible that the remaining nanoseconds run out before the compare
 		 * counter is calculated and written into TCCR register. To avoid
 		 * this possibility, we will set the compare event to be the next
 		 * of next second. The current setting is 31-bit timer and wrap

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 02/10] net: fec: struct fec_enet_private: remove obsolete comment
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 01/10] net: fec: fix typos found by codespell Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 03/10] net: fec: add missing header files Marc Kleine-Budde
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

In commit 4d494cdc92b3 ("net: fec: change data structure to support
multiqueue") the data structures were changed, so that the comment about
the sent-in-place skb doesn't apply any more. Remove it.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index 3cce9bba5dee..ce1e4fe4d492 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -614,7 +614,6 @@ struct fec_enet_private {
 	unsigned int num_tx_queues;
 	unsigned int num_rx_queues;
 
-	/* The saved address of a sent-in-place packet/buffer, for skfree(). */
 	struct fec_enet_priv_tx_q *tx_queue[FEC_ENET_MAX_TX_QS];
 	struct fec_enet_priv_rx_q *rx_queue[FEC_ENET_MAX_RX_QS];
 

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 03/10] net: fec: add missing header files
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 01/10] net: fec: fix typos found by codespell Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 02/10] net: fec: struct fec_enet_private: remove obsolete comment Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 14:55   ` Alexander Lobakin
  2025-06-17 13:24 ` [PATCH net-next v3 04/10] net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info Marc Kleine-Budde
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

The fec.h isn't self contained. Add missing header files, so that it can be
parsed by language servers without errors.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index ce1e4fe4d492..4098d439a6ff 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -15,7 +15,9 @@
 /****************************************************************************/
 
 #include <linux/clocksource.h>
+#include <linux/ethtool.h>
 #include <linux/net_tstamp.h>
+#include <linux/phy.h>
 #include <linux/pm_qos.h>
 #include <linux/bpf.h>
 #include <linux/ptp_clock_kernel.h>

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 04/10] net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (2 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 03/10] net: fec: add missing header files Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 05/10] net: fec: fec_restart(): introduce a define for FEC_ECR_SPEED Marc Kleine-Budde
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

In da722186f654 ("net: fec: set GPR bit on suspend by DT
configuration.") the platform_device_id fec_devtype::driver_data was
converted from holding the quirks to a pointing to struct fec_devinfo.

The struct fec_devinfo holding the information for the i.MX6SX was
named fec_imx6x_info.

Rename fec_imx6x_info to fec_imx6sx_info to align with the SoC's name.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 17e9bddb9ddd..e0d7365e5b4f 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -131,7 +131,7 @@ static const struct fec_devinfo fec_mvf600_info = {
 		  FEC_QUIRK_HAS_MDIO_C45,
 };
 
-static const struct fec_devinfo fec_imx6x_info = {
+static const struct fec_devinfo fec_imx6sx_info = {
 	.quirks = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT |
 		  FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM |
 		  FEC_QUIRK_HAS_VLAN | FEC_QUIRK_HAS_AVB |
@@ -196,7 +196,7 @@ static const struct of_device_id fec_dt_ids[] = {
 	{ .compatible = "fsl,imx28-fec", .data = &fec_imx28_info, },
 	{ .compatible = "fsl,imx6q-fec", .data = &fec_imx6q_info, },
 	{ .compatible = "fsl,mvf600-fec", .data = &fec_mvf600_info, },
-	{ .compatible = "fsl,imx6sx-fec", .data = &fec_imx6x_info, },
+	{ .compatible = "fsl,imx6sx-fec", .data = &fec_imx6sx_info, },
 	{ .compatible = "fsl,imx6ul-fec", .data = &fec_imx6ul_info, },
 	{ .compatible = "fsl,imx8mq-fec", .data = &fec_imx8mq_info, },
 	{ .compatible = "fsl,imx8qm-fec", .data = &fec_imx8qm_info, },

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 05/10] net: fec: fec_restart(): introduce a define for FEC_ECR_SPEED
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (3 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 04/10] net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 06/10] net: fec: fec_enet_rx_queue(): use same signature as fec_enet_tx_queue() Marc Kleine-Budde
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

Replace "1 << 5" for configuring 1000 MBit/s with a defined constant to
improve code readability and maintainability.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index e0d7365e5b4f..21891baa2fc5 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -276,6 +276,7 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address");
 #define FEC_ECR_MAGICEN         BIT(2)
 #define FEC_ECR_SLEEP           BIT(3)
 #define FEC_ECR_EN1588          BIT(4)
+#define FEC_ECR_SPEED           BIT(5)
 #define FEC_ECR_BYTESWP         BIT(8)
 /* FEC RCR bits definition */
 #define FEC_RCR_LOOP            BIT(0)
@@ -1207,7 +1208,7 @@ fec_restart(struct net_device *ndev)
 		/* 1G, 100M or 10M */
 		if (ndev->phydev) {
 			if (ndev->phydev->speed == SPEED_1000)
-				ecntl |= (1 << 5);
+				ecntl |= FEC_ECR_SPEED;
 			else if (ndev->phydev->speed == SPEED_100)
 				rcntl &= ~FEC_RCR_10BASET;
 			else

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 06/10] net: fec: fec_enet_rx_queue(): use same signature as fec_enet_tx_queue()
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (4 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 05/10] net: fec: fec_restart(): introduce a define for FEC_ECR_SPEED Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 07/10] net: fec: fec_enet_rx_queue(): replace manual VLAN header calculation with skb_vlan_eth_hdr() Marc Kleine-Budde
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Andrew Lunn

There are the functions fec_enet_rx_queue() and fec_enet_tx_queue(),
one for handling the RX queue the other one handles the TX queue.

However they don't have the same signature. Align fec_enet_rx_queue()
argument order with fec_enet_tx_queue() to make code more readable.

Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 21891baa2fc5..6b456372de9a 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1713,7 +1713,7 @@ fec_enet_run_xdp(struct fec_enet_private *fep, struct bpf_prog *prog,
  * effectively tossing the packet.
  */
 static int
-fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
+fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 {
 	struct fec_enet_private *fep = netdev_priv(ndev);
 	struct fec_enet_priv_rx_q *rxq;
@@ -1940,7 +1940,7 @@ static int fec_enet_rx(struct net_device *ndev, int budget)
 
 	/* Make sure that AVB queues are processed first. */
 	for (i = fep->num_rx_queues - 1; i >= 0; i--)
-		done += fec_enet_rx_queue(ndev, budget - done, i);
+		done += fec_enet_rx_queue(ndev, i, budget - done);
 
 	return done;
 }

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 07/10] net: fec: fec_enet_rx_queue(): replace manual VLAN header calculation with skb_vlan_eth_hdr()
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (5 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 06/10] net: fec: fec_enet_rx_queue(): use same signature as fec_enet_tx_queue() Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 08/10] net: fec: fec_enet_rx_queue(): reduce scope of data Marc Kleine-Budde
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li,
	Andrew Lunn

For better readability and maintainability, use the provided helper function
skb_vlan_eth_hdr() to replace manual the VLAN header calculation, and change
the type of vlan_header to struct vlan_ethhdr to take into account that the
Ethernet header plus VLAN header is returned.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 6b456372de9a..f238cb60aa65 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1860,8 +1860,7 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 		    fep->bufdesc_ex &&
 		    (ebdp->cbd_esc & cpu_to_fec32(BD_ENET_RX_VLAN))) {
 			/* Push and remove the vlan tag */
-			struct vlan_hdr *vlan_header =
-					(struct vlan_hdr *) (data + ETH_HLEN);
+			struct vlan_ethhdr *vlan_header = skb_vlan_eth_hdr(skb);
 			vlan_tag = ntohs(vlan_header->h_vlan_TCI);
 
 			vlan_packet_rcvd = true;

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 08/10] net: fec: fec_enet_rx_queue(): reduce scope of data
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (6 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 07/10] net: fec: fec_enet_rx_queue(): replace manual VLAN header calculation with skb_vlan_eth_hdr() Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:24 ` [PATCH net-next v3 09/10] net: fec: fec_enet_rx_queue(): move_call to _vlan_hwaccel_put_tag() Marc Kleine-Budde
  2025-06-17 13:25 ` [PATCH net-next v3 10/10] net: fec: fec_enet_rx_queue(): factor out VLAN handling into separate function fec_enet_rx_vlan() Marc Kleine-Budde
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li

In order to clean up of the VLAN handling, reduce the scope of data.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index f238cb60aa65..bc547be59dae 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1721,7 +1721,6 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 	unsigned short status;
 	struct  sk_buff *skb;
 	ushort	pkt_len;
-	__u8 *data;
 	int	pkt_received = 0;
 	struct	bufdesc_ex *ebdp = NULL;
 	bool	vlan_packet_rcvd = false;
@@ -1844,10 +1843,11 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 		skb_mark_for_recycle(skb);
 
 		if (unlikely(need_swap)) {
+			u8 *data;
+
 			data = page_address(page) + FEC_ENET_XDP_HEADROOM;
 			swap_buffer(data, pkt_len);
 		}
-		data = skb->data;
 
 		/* Extract the enhanced buffer descriptor */
 		ebdp = NULL;
@@ -1865,7 +1865,7 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 
 			vlan_packet_rcvd = true;
 
-			memmove(skb->data + VLAN_HLEN, data, ETH_ALEN * 2);
+			memmove(skb->data + VLAN_HLEN, skb->data, ETH_ALEN * 2);
 			skb_pull(skb, VLAN_HLEN);
 		}
 

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 09/10] net: fec: fec_enet_rx_queue(): move_call to _vlan_hwaccel_put_tag()
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (7 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 08/10] net: fec: fec_enet_rx_queue(): reduce scope of data Marc Kleine-Budde
@ 2025-06-17 13:24 ` Marc Kleine-Budde
  2025-06-17 13:25 ` [PATCH net-next v3 10/10] net: fec: fec_enet_rx_queue(): factor out VLAN handling into separate function fec_enet_rx_vlan() Marc Kleine-Budde
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:24 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li

Move __vlan_hwaccel_put_tag() into the if statement that sets
vlan_packet_rcvd = true. This change eliminates the unnecessary
vlan_packet_rcvd variable, simplifying the code and improving clarity.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index bc547be59dae..021cf7c2dcf6 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1723,8 +1723,6 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 	ushort	pkt_len;
 	int	pkt_received = 0;
 	struct	bufdesc_ex *ebdp = NULL;
-	bool	vlan_packet_rcvd = false;
-	u16	vlan_tag;
 	int	index = 0;
 	bool	need_swap = fep->quirks & FEC_QUIRK_SWAP_FRAME;
 	struct bpf_prog *xdp_prog = READ_ONCE(fep->xdp_prog);
@@ -1855,18 +1853,18 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 			ebdp = (struct bufdesc_ex *)bdp;
 
 		/* If this is a VLAN packet remove the VLAN Tag */
-		vlan_packet_rcvd = false;
 		if ((ndev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
 		    fep->bufdesc_ex &&
 		    (ebdp->cbd_esc & cpu_to_fec32(BD_ENET_RX_VLAN))) {
 			/* Push and remove the vlan tag */
 			struct vlan_ethhdr *vlan_header = skb_vlan_eth_hdr(skb);
-			vlan_tag = ntohs(vlan_header->h_vlan_TCI);
-
-			vlan_packet_rcvd = true;
+			u16 vlan_tag = ntohs(vlan_header->h_vlan_TCI);
 
 			memmove(skb->data + VLAN_HLEN, skb->data, ETH_ALEN * 2);
 			skb_pull(skb, VLAN_HLEN);
+			__vlan_hwaccel_put_tag(skb,
+					       htons(ETH_P_8021Q),
+					       vlan_tag);
 		}
 
 		skb->protocol = eth_type_trans(skb, ndev);
@@ -1886,12 +1884,6 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 			}
 		}
 
-		/* Handle received VLAN packets */
-		if (vlan_packet_rcvd)
-			__vlan_hwaccel_put_tag(skb,
-					       htons(ETH_P_8021Q),
-					       vlan_tag);
-
 		skb_record_rx_queue(skb, queue_id);
 		napi_gro_receive(&fep->napi, skb);
 

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH net-next v3 10/10] net: fec: fec_enet_rx_queue(): factor out VLAN handling into separate function fec_enet_rx_vlan()
  2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
                   ` (8 preceding siblings ...)
  2025-06-17 13:24 ` [PATCH net-next v3 09/10] net: fec: fec_enet_rx_queue(): move_call to _vlan_hwaccel_put_tag() Marc Kleine-Budde
@ 2025-06-17 13:25 ` Marc Kleine-Budde
  9 siblings, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn
  Cc: imx, netdev, linux-kernel, kernel, Marc Kleine-Budde, Frank Li

In order to clean up of the VLAN handling, factor out the VLAN
handling into separate function fec_enet_rx_vlan().

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/ethernet/freescale/fec_main.c | 32 ++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 021cf7c2dcf6..24dd1b280da0 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1707,6 +1707,22 @@ fec_enet_run_xdp(struct fec_enet_private *fep, struct bpf_prog *prog,
 	return ret;
 }
 
+static void fec_enet_rx_vlan(const struct net_device *ndev, struct sk_buff *skb)
+{
+	if (ndev->features & NETIF_F_HW_VLAN_CTAG_RX) {
+		const struct vlan_ethhdr *vlan_header = skb_vlan_eth_hdr(skb);
+		const u16 vlan_tag = ntohs(vlan_header->h_vlan_TCI);
+
+		/* Push and remove the vlan tag */
+
+		memmove(skb->data + VLAN_HLEN, skb->data, ETH_ALEN * 2);
+		skb_pull(skb, VLAN_HLEN);
+		__vlan_hwaccel_put_tag(skb,
+				       htons(ETH_P_8021Q),
+				       vlan_tag);
+	}
+}
+
 /* During a receive, the bd_rx.cur points to the current incoming buffer.
  * When we update through the ring, if the next incoming buffer has
  * not been given to the system, we just set the empty indicator,
@@ -1853,19 +1869,9 @@ fec_enet_rx_queue(struct net_device *ndev, u16 queue_id, int budget)
 			ebdp = (struct bufdesc_ex *)bdp;
 
 		/* If this is a VLAN packet remove the VLAN Tag */
-		if ((ndev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
-		    fep->bufdesc_ex &&
-		    (ebdp->cbd_esc & cpu_to_fec32(BD_ENET_RX_VLAN))) {
-			/* Push and remove the vlan tag */
-			struct vlan_ethhdr *vlan_header = skb_vlan_eth_hdr(skb);
-			u16 vlan_tag = ntohs(vlan_header->h_vlan_TCI);
-
-			memmove(skb->data + VLAN_HLEN, skb->data, ETH_ALEN * 2);
-			skb_pull(skb, VLAN_HLEN);
-			__vlan_hwaccel_put_tag(skb,
-					       htons(ETH_P_8021Q),
-					       vlan_tag);
-		}
+		if (fep->bufdesc_ex &&
+		    (ebdp->cbd_esc & cpu_to_fec32(BD_ENET_RX_VLAN)))
+			fec_enet_rx_vlan(ndev, skb);
 
 		skb->protocol = eth_type_trans(skb, ndev);
 

-- 
2.47.2



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH net-next v3 03/10] net: fec: add missing header files
  2025-06-17 13:24 ` [PATCH net-next v3 03/10] net: fec: add missing header files Marc Kleine-Budde
@ 2025-06-17 14:55   ` Alexander Lobakin
  2025-06-17 15:07     ` Marc Kleine-Budde
  0 siblings, 1 reply; 14+ messages in thread
From: Alexander Lobakin @ 2025-06-17 14:55 UTC (permalink / raw)
  To: Marc Kleine-Budde
  Cc: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn, imx,
	netdev, linux-kernel, kernel, Frank Li, Andrew Lunn

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Tue, 17 Jun 2025 15:24:53 +0200

> The fec.h isn't self contained. Add missing header files, so that it can be
> parsed by language servers without errors.
> 
> Reviewed-by: Wei Fang <wei.fang@nxp.com>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
>  drivers/net/ethernet/freescale/fec.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
> index ce1e4fe4d492..4098d439a6ff 100644
> --- a/drivers/net/ethernet/freescale/fec.h
> +++ b/drivers/net/ethernet/freescale/fec.h
> @@ -15,7 +15,9 @@
>  /****************************************************************************/
>  
>  #include <linux/clocksource.h>
> +#include <linux/ethtool.h>
>  #include <linux/net_tstamp.h>
> +#include <linux/phy.h>
>  #include <linux/pm_qos.h>
>  #include <linux/bpf.h>
>  #include <linux/ptp_clock_kernel.h>

Sort alphabetically while at it? You'd only need to move bpf.h AFAICS.

Thanks,
Olek

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH net-next v3 03/10] net: fec: add missing header files
  2025-06-17 14:55   ` Alexander Lobakin
@ 2025-06-17 15:07     ` Marc Kleine-Budde
  2025-06-18  1:31       ` Wei Fang
  0 siblings, 1 reply; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-17 15:07 UTC (permalink / raw)
  To: Alexander Lobakin
  Cc: Wei Fang, Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn, imx,
	netdev, linux-kernel, kernel, Frank Li, Andrew Lunn

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

On 17.06.2025 16:55:19, Alexander Lobakin wrote:
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Date: Tue, 17 Jun 2025 15:24:53 +0200
> 
> > The fec.h isn't self contained. Add missing header files, so that it can be
> > parsed by language servers without errors.
> > 
> > Reviewed-by: Wei Fang <wei.fang@nxp.com>
> > Reviewed-by: Frank Li <Frank.Li@nxp.com>
> > Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> > Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> > ---
> >  drivers/net/ethernet/freescale/fec.h | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
> > index ce1e4fe4d492..4098d439a6ff 100644
> > --- a/drivers/net/ethernet/freescale/fec.h
> > +++ b/drivers/net/ethernet/freescale/fec.h
> > @@ -15,7 +15,9 @@
> >  /****************************************************************************/
> >  
> >  #include <linux/clocksource.h>
> > +#include <linux/ethtool.h>
> >  #include <linux/net_tstamp.h>
> > +#include <linux/phy.h>
> >  #include <linux/pm_qos.h>
> >  #include <linux/bpf.h>
> >  #include <linux/ptp_clock_kernel.h>
> 
> Sort alphabetically while at it? You'd only need to move bpf.h AFAICS.

After sorting, the incremental diff will look like this:

diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index 15334a5cce0f..1fe5e92afeb3 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -14,16 +14,16 @@
 #define FEC_H
 /****************************************************************************/
 
+#include <dt-bindings/firmware/imx/rsrc.h>
+#include <linux/bpf.h>
 #include <linux/clocksource.h>
 #include <linux/ethtool.h>
+#include <linux/firmware/imx/sci.h>
 #include <linux/net_tstamp.h>
 #include <linux/phy.h>
 #include <linux/pm_qos.h>
-#include <linux/bpf.h>
 #include <linux/ptp_clock_kernel.h>
 #include <linux/timecounter.h>
-#include <dt-bindings/firmware/imx/rsrc.h>
-#include <linux/firmware/imx/sci.h>
 #include <net/xdp.h>
 
 #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \

Is that okay? If so, I'll squash it.

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |

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

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* RE: [PATCH net-next v3 03/10] net: fec: add missing header files
  2025-06-17 15:07     ` Marc Kleine-Budde
@ 2025-06-18  1:31       ` Wei Fang
  0 siblings, 0 replies; 14+ messages in thread
From: Wei Fang @ 2025-06-18  1:31 UTC (permalink / raw)
  To: Marc Kleine-Budde, Alexander Lobakin
  Cc: Shenwei Wang, Clark Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Richard Cochran, Andrew Lunn,
	imx@lists.linux.dev, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel@pengutronix.de, Frank Li,
	Andrew Lunn

> On 17.06.2025 16:55:19, Alexander Lobakin wrote:
> > From: Marc Kleine-Budde <mkl@pengutronix.de>
> > Date: Tue, 17 Jun 2025 15:24:53 +0200
> >
> > > The fec.h isn't self contained. Add missing header files, so that it can be
> > > parsed by language servers without errors.
> > >
> > > Reviewed-by: Wei Fang <wei.fang@nxp.com>
> > > Reviewed-by: Frank Li <Frank.Li@nxp.com>
> > > Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> > > Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> > > ---
> > >  drivers/net/ethernet/freescale/fec.h | 2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/net/ethernet/freescale/fec.h
> b/drivers/net/ethernet/freescale/fec.h
> > > index ce1e4fe4d492..4098d439a6ff 100644
> > > --- a/drivers/net/ethernet/freescale/fec.h
> > > +++ b/drivers/net/ethernet/freescale/fec.h
> > > @@ -15,7 +15,9 @@
> > >
> /*********************************************************************
> *******/
> > >
> > >  #include <linux/clocksource.h>
> > > +#include <linux/ethtool.h>
> > >  #include <linux/net_tstamp.h>
> > > +#include <linux/phy.h>
> > >  #include <linux/pm_qos.h>
> > >  #include <linux/bpf.h>
> > >  #include <linux/ptp_clock_kernel.h>
> >
> > Sort alphabetically while at it? You'd only need to move bpf.h AFAICS.
> 
> After sorting, the incremental diff will look like this:
> 
> diff --git a/drivers/net/ethernet/freescale/fec.h
> b/drivers/net/ethernet/freescale/fec.h
> index 15334a5cce0f..1fe5e92afeb3 100644
> --- a/drivers/net/ethernet/freescale/fec.h
> +++ b/drivers/net/ethernet/freescale/fec.h
> @@ -14,16 +14,16 @@
>  #define FEC_H
> 
> /*********************************************************************
> *******/
> 
> +#include <dt-bindings/firmware/imx/rsrc.h>
> +#include <linux/bpf.h>
>  #include <linux/clocksource.h>
>  #include <linux/ethtool.h>
> +#include <linux/firmware/imx/sci.h>
>  #include <linux/net_tstamp.h>
>  #include <linux/phy.h>
>  #include <linux/pm_qos.h>
> -#include <linux/bpf.h>
>  #include <linux/ptp_clock_kernel.h>
>  #include <linux/timecounter.h>
> -#include <dt-bindings/firmware/imx/rsrc.h>
> -#include <linux/firmware/imx/sci.h>
>  #include <net/xdp.h>
> 
>  #if defined(CONFIG_M523x) || defined(CONFIG_M527x) ||
> defined(CONFIG_M528x) || \
> 
> Is that okay? If so, I'll squash it.
> 

If you want alphabetical sorting, I think it's better to use another separate
patch, otherwise you will need to re-edit the title and commit message.


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-06-18  1:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 13:24 [PATCH net-next v3 00/10] net: fec: general + VLAN cleanups Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 01/10] net: fec: fix typos found by codespell Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 02/10] net: fec: struct fec_enet_private: remove obsolete comment Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 03/10] net: fec: add missing header files Marc Kleine-Budde
2025-06-17 14:55   ` Alexander Lobakin
2025-06-17 15:07     ` Marc Kleine-Budde
2025-06-18  1:31       ` Wei Fang
2025-06-17 13:24 ` [PATCH net-next v3 04/10] net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 05/10] net: fec: fec_restart(): introduce a define for FEC_ECR_SPEED Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 06/10] net: fec: fec_enet_rx_queue(): use same signature as fec_enet_tx_queue() Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 07/10] net: fec: fec_enet_rx_queue(): replace manual VLAN header calculation with skb_vlan_eth_hdr() Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 08/10] net: fec: fec_enet_rx_queue(): reduce scope of data Marc Kleine-Budde
2025-06-17 13:24 ` [PATCH net-next v3 09/10] net: fec: fec_enet_rx_queue(): move_call to _vlan_hwaccel_put_tag() Marc Kleine-Budde
2025-06-17 13:25 ` [PATCH net-next v3 10/10] net: fec: fec_enet_rx_queue(): factor out VLAN handling into separate function fec_enet_rx_vlan() Marc Kleine-Budde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).