[PATCH v1] net/macb: add new driver

Stephen Hemminger stephen at networkplumber.org
Wed Oct 30 16:40:05 CET 2024


On Wed, 30 Oct 2024 09:53:29 +0000
liwencheng <liwencheng at phytium.com.cn> wrote:

> add Phytium NIC MACB ethdev PMD driver.
> 
> Signed-off-by: liwencheng <liwencheng at phytium.com.cn>
> ---
>  drivers/net/macb/base/generic_phy.c   |  276 +++++
>  drivers/net/macb/base/generic_phy.h   |  198 ++++
>  drivers/net/macb/base/macb_common.c   |  667 +++++++++++
>  drivers/net/macb/base/macb_common.h   |  253 +++++
>  drivers/net/macb/base/macb_errno.h    |   54 +
>  drivers/net/macb/base/macb_hw.h       | 1138 +++++++++++++++++++
>  drivers/net/macb/base/macb_type.h     |   23 +
>  drivers/net/macb/base/macb_uio.c      |  354 ++++++
>  drivers/net/macb/base/macb_uio.h      |   50 +
>  drivers/net/macb/base/meson.build     |   26 +
>  drivers/net/macb/macb_ethdev.c        | 1972 +++++++++++++++++++++++++++++++++
>  drivers/net/macb/macb_ethdev.h        |   92 ++
>  drivers/net/macb/macb_log.h           |   19 +
>  drivers/net/macb/macb_rxtx.c          | 1386 +++++++++++++++++++++++
>  drivers/net/macb/macb_rxtx.h          |  325 ++++++
>  drivers/net/macb/macb_rxtx_vec_neon.c |  677 +++++++++++
>  drivers/net/macb/meson.build          |   18 +
>  drivers/net/meson.build               |    1 +
>  usertools/dpdk-devbind.py             |   95 +-
>  19 files changed, 7622 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/net/macb/base/generic_phy.c
>  create mode 100644 drivers/net/macb/base/generic_phy.h
>  create mode 100644 drivers/net/macb/base/macb_common.c
>  create mode 100644 drivers/net/macb/base/macb_common.h
>  create mode 100644 drivers/net/macb/base/macb_errno.h
>  create mode 100644 drivers/net/macb/base/macb_hw.h
>  create mode 100644 drivers/net/macb/base/macb_type.h
>  create mode 100644 drivers/net/macb/base/macb_uio.c
>  create mode 100644 drivers/net/macb/base/macb_uio.h
>  create mode 100644 drivers/net/macb/base/meson.build
>  create mode 100644 drivers/net/macb/macb_ethdev.c
>  create mode 100644 drivers/net/macb/macb_ethdev.h
>  create mode 100644 drivers/net/macb/macb_log.h
>  create mode 100644 drivers/net/macb/macb_rxtx.c
>  create mode 100644 drivers/net/macb/macb_rxtx.h
>  create mode 100644 drivers/net/macb/macb_rxtx_vec_neon.c
>  create mode 100644 drivers/net/macb/meson.build


Build fails.

gcc  -o drivers/librte_net_macb.so.25.0 drivers/librte_net_macb.so.25.0.p/meson-generated_.._rte_net_macb.pmd.c.o drivers/net/macb/base/libmacb_base.a.p/macb_common.c.o drivers/net/macb/base/libmacb_base.a.p/macb_uio.c.o drivers/net/macb/base/libmacb_base.a.p/generic_phy.c.o drivers/libtmp_rte_net_macb.a.p/net_macb_macb_ethdev.c.o drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,librte_net_macb.so.25 -Wl,--no-as-needed -pthread -lm -ldl -lnuma -lfdt '-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/' -Wl,-rpath-link,/home/runner/work/dpdk/dpdk/build/lib -Wl,-rpath-link,/home/runner/work/dpdk/dpdk/build/drivers lib/librte_ethdev.so.25.0 lib/librte_eal.so.25.0 lib/librte_kvargs.so.25.0 lib/librte_log.so.25.0 lib/librte_telemetry.so.25.0 lib/librte_net.so.25.0 lib/librte_mbuf.so.25.0 lib/librte_mempool.so.25.0 lib/librte_ring.so.25.0 lib/librte_meter.so.25.0 drivers/librte_bus_pci.so.25.0 lib/librte_pci.so.25.0 drivers/librte_bus_vdev.so.25.0 -Wl,--version-script=/home/runner/work/dpdk/dpdk/drivers/version.map /usr/lib/x86_64-linux-gnu/libbsd.so /usr/lib/x86_64-linux-gnu/libarchive.so -Wl,--end-group
/usr/bin/ld: drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx.c.o: in function `macb_set_tx_function':
/home/runner/work/dpdk/dpdk/build/../drivers/net/macb/macb_rxtx.c:550: undefined reference to `eth_macb_xmit_pkts_vec'
/usr/bin/ld: drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx.c.o: in function `macb_set_rx_function':
/home/runner/work/dpdk/dpdk/build/../drivers/net/macb/macb_rxtx.c:1243: undefined reference to `eth_macb_recv_scattered_pkts_vec'


Ignoring the CamelCase errors in base part, see the following issues reported by checkpatch.


### [PATCH] net/macb: add new driver

WARNING:TYPO_SPELLING: 'asymetrically' may be misspelled - perhaps 'asymmetrically'?
#382: FILE: drivers/net/macb/base/generic_phy.h:85:
+#define LPA_PAUSE_ASYM		0x0800	/* Can pause asymetrically     */
                       		      	             ^^^^^^^^^^^^^

WARNING:TYPO_SPELLING: 'Master' may be misspelled - perhaps 'Primary'?
#395: FILE: drivers/net/macb/base/generic_phy.h:98:
+#define LPA_1000MSFAIL		0x8000	/* Master/Slave resolution failure */
                       		      	   ^^^^^^
WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#1495: FILE: drivers/net/macb/base/macb_hw.h:2:
+/* Atmel MACB Ethernet Controller driver
+ *

WARNING:TYPO_SPELLING: 'Trnasmit' may be misspelled - perhaps 'Transmit'?
#1886: FILE: drivers/net/macb/base/macb_hw.h:393:
+#define MACB_COMP_OFFSET	5 /* Trnasmit complete */
                         	     ^^^^^^^^

WARNING:TYPO_SPELLING: 'Trnasmit' may be misspelled - perhaps 'Transmit'?
#1888: FILE: drivers/net/macb/base/macb_hw.h:395:
+#define MACB_UND_OFFSET		6 /* Trnasmit under run */
                        		     ^^^^^^^^

WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#3116: FILE: drivers/net/macb/macb_ethdev.c:2:
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2022~2023 Phytium Technology Co., Ltd.

WARNING:TYPO_SPELLING: 'cehcksum' may be misspelled - perhaps 'checksum'?
#3289: FILE: drivers/net/macb/macb_ethdev.c:175:
+	/* Enable RX cehcksum offload */
 	             ^^^^^^^^

WARNING:TYPO_SPELLING: 'CAF' may be misspelled - perhaps 'CALF'?
#4028: FILE: drivers/net/macb/macb_ethdev.c:914:
+		config |= MACB_BIT(CAF);
 		                   ^^^

WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#5094: FILE: drivers/net/macb/macb_ethdev.h:2:
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2022 Phytium Technology Co., Ltd.

WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#5217: FILE: drivers/net/macb/macb_rxtx.c:2:
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2022 Phytium Technology Co., Ltd.

WARNING:TYPO_SPELLING: 'aggresive' may be misspelled - perhaps 'aggressive'?
#5808: FILE: drivers/net/macb/macb_rxtx.c:593:
+	/* force tx_rs_thresh to adapt an aggresive tx_free_thresh */
 	                                  ^^^^^^^^^

WARNING:TYPO_SPELLING: 'Regualr' may be misspelled - perhaps 'Regular'?
#6460: FILE: drivers/net/macb/macb_rxtx.c:1245:
+			MACB_INFO("Using Regualr (non-vector) "
 			                 ^^^^^^^

WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#6910: FILE: drivers/net/macb/macb_rxtx_vec_neon.c:2:
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2022 Phytium Technology Co., Ltd.

total: 0 errors, 25 warnings, 7638 lines checked

Warning in drivers/net/macb/macb_log.h:
Prefer RTE_LOG_LINE/RTE_LOG_DP_LINE
Warning in drivers/net/macb/macb_ethdev.c:
Writing to stdout or stderr
Warning in drivers/net/macb/base/macb_uio.c:

Warning in drivers/net/macb/macb_rxtx.c:
Warning in drivers/net/macb/macb_rxtx_vec_neon.c:
Using rte_smp_[r/w]mb
Warning in drivers/net/macb/macb_rxtx_vec_neon.c:
Using __builtin helpers, prefer EAL macros
Warning in drivers/net/macb/macb_log.h:
Do not use variadic argument pack in macros
Warning in drivers/net/macb/meson.build:
Using experimental build flag for in-tree compilation
Please use __rte_aligned only for struct or union types alignment.

0/1 valid patch




More information about the dev mailing list