Skip to content

Commit

Permalink
net: mucse: Add support for ethernet card drivers from Mucse Technology
Browse files Browse the repository at this point in the history
These drivers is to support follow ethernet cards:
 *mucse n500/n210 (rnpgbe)
  mucse n500/n210 virtual function (rnpgbevf)
  mucse n10-2ports (rnp)
  mucse n10 virtual function (rnpvf)

Link: deepin-community/kernel#413
Link: deepin-community/kernel#441
Link: deepin-community/kernel#447
Link: deepin-community/kernel#448
Link: deepin-community/kernel#449
Link: deepin-community/kernel#468
Link: deepin-community/kernel#495
Co-developed-by: WangYuli <[email protected]>
Signed-off-by: WangYuli <[email protected]>
Signed-off-by: Dong Yibo <[email protected]>
Signed-off-by: WangYuli <[email protected]>
  • Loading branch information
xiaolong1305 authored and Avenger-285714 committed Jan 4, 2025
1 parent 100b4d6 commit 7776e83
Show file tree
Hide file tree
Showing 84 changed files with 78,155 additions and 0 deletions.
6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -23942,6 +23942,12 @@ L: [email protected]
S: Maintained
F: mm/zswap.c

MUCSE Ethernet Controller drivers
M: Yibo Dong <[email protected]>
R: WangYuli <[email protected]>
S: Maintained
F: drivers/net/ethernet/mucse/

THE REST
M: Linus Torvalds <[email protected]>
L: [email protected]
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ source "drivers/net/ethernet/i825xx/Kconfig"
source "drivers/net/ethernet/ibm/Kconfig"
source "drivers/net/ethernet/intel/Kconfig"
source "drivers/net/ethernet/xscale/Kconfig"
source "drivers/net/ethernet/mucse/Kconfig"

config JME
tristate "JMicron(R) PCI-Express Gigabit Ethernet support"
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
obj-$(CONFIG_NET_VENDOR_HUAWEI) += huawei/
obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
obj-$(CONFIG_NET_VENDOR_INTEL) += intel/
obj-$(CONFIG_NET_VENDOR_MUCSE) += mucse/
obj-$(CONFIG_NET_VENDOR_I825XX) += i825xx/
obj-$(CONFIG_NET_VENDOR_MICROSOFT) += microsoft/
obj-$(CONFIG_NET_VENDOR_XSCALE) += xscale/
Expand Down
160 changes: 160 additions & 0 deletions drivers/net/ethernet/mucse/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# Mucse network device configuration
#

config NET_VENDOR_MUCSE
bool "Mucse devices"
default y
help
If you have a network (Ethernet) card belonging to this class, say Y.

Note that the answer to this question doesn't directly affect the
kernel: saying N will just cause the configurator to skip all
the questions about Mucse cards. If you say Y, you will be asked for
your specific card in the following questions.


if NET_VENDOR_MUCSE

config MGBE
tristate "Mucse(R) 1GbE PCI Express adapters support"
depends on PCI
imply PTP_1588_CLOCK
help
This driver supports Mucse(R) 1GbE PCI Express family of
adapters.

To compile this driver as a module, choose M here. The module
will be called rnp.

config MGBE_OPTM_WITH_LPAGE
bool "Reduce Memory Cost In Large PAGE_SIZE(>8192)"
default n
depends on MGBE
help
Say Y here if you want to reduce memory cost in large PAGE_SIZE.

If unsure, say N.

config MGBE_MSIX_COUNT
int "Number of msix count"
default "26"
depends on MGBE
help
MXGBE range [2,26].

config MGBEVF
tristate "Mucse(R) 1GbE PCI Express Virtual Function adapters support"
depends on PCI
imply PTP_1588_CLOCK
help
This driver supports Mucse(R) 1GbE PCI Express family of
adapters.

To compile this driver as a module, choose M here. The module
will be called rnp.

config MGBEVF_OPTM_WITH_LARGE
bool "Reduce Memory Cost In Large PAGE_SIZE(>8192)"
default n
depends on MGBEVF
help
Say Y here if you want to reduce memory cost in large PAGE_SIZE.

If unsure, say N.

config MXGBE
tristate "Mucse(R) 1/10/25/40GbE PCI Express adapters support"
depends on PCI
imply PTP_1588_CLOCK
help
This driver supports Mucse(R) 1/10/25/40GbE PCI Express family of
adapters.

To compile this driver as a module, choose M here. The module
will be called rnp.

config MXGBE_FIX_VF_QUEUE
bool "Fix VF Queue Used(pf)"
default y
depends on MXGBE
help
Say Y here if you want to fix vf queue order in the driver.

If unsure, say N.

config MXGBE_FIX_MAC_PADDING
bool "Close Mac Padding Function(pf)"
default y
depends on MXGBE
help
Say Y here if you want to fix close mac padding in the driver.

If unsure, say N.

config MXGBE_OPTM_WITH_LARGE
bool "Reduce Memory Cost In Large PAGE_SIZE(>8192)"
default n
depends on MXGBE
help
Say Y here if you want to reduce memory cost in large PAGE_SIZE.

If unsure, say N.

config MXGBE_MSIX_COUNT
int "Number of msix count"
default "64"
depends on MXGBE
help
MXGBE range [2,64].

config MXGBE_DCB
bool "Data Center Bridging (DCB) Support"
default y
depends on MXGBE && DCB
help
Say Y here if you want to use Data Center Bridging (DCB) in the
driver.

If unsure, say N.

config MXGBEVF
tristate "Mucse(R) 1/10/25/40GbE PCI Express Virtual Function adapters support"
depends on PCI
help
This driver supports Mucse(R) 1/10/25/40GbE PCI Express Virtual Function
family of adapters.

To compile this driver as a module, choose M here. The module
will be called rnpvf.

config MXGBEVF_FIX_VF_QUEUE
bool "Fix VF Queue Used(vf)"
default y
depends on MXGBEVF
help
Say Y here if you want to fix vf queue order in the driver.

If unsure, say N.

config MXGBEVF_FIX_MAC_PADDING
bool "Close Mac Padding Function(pf)"
default y
depends on MXGBEVF
help
Say Y here if you want to fix close mac padding in the driver.

If unsure, say N.

config MXGBEVF_OPTM_WITH_LARGE
bool "Reduce Memory Cost In Large PAGE_SIZE(>8192)"
default n
depends on MXGBEVF
help
Say Y here if you want to reduce memory cost in large PAGE_SIZE.

If unsure, say N.

endif # NET_VENDOR_MUCSE

9 changes: 9 additions & 0 deletions drivers/net/ethernet/mucse/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the Mucse network device drivers.
#

obj-$(CONFIG_MGBE) += rnpgbe/
obj-$(CONFIG_MGBEVF) += rnpgbevf/
obj-$(CONFIG_MXGBE) += rnp/
obj-$(CONFIG_MXGBEVF) += rnpvf/
25 changes: 25 additions & 0 deletions drivers/net/ethernet/mucse/rnp/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright(c) 2022 - 2024 Mucse Corporation
#
# Makefile for the Mucse(R) 10GbE-2ports PCI Express ethernet driver
#
#

obj-$(CONFIG_MXGBE) += rnp.o
rnp-objs := \
rnp_main.o \
rnp_common.o \
rnp_ethtool.o \
rnp_lib.o \
rnp_mbx.o \
rnp_pcs.o \
rnp_n10.o \
rnp_mbx_fw.o\
rnp_sriov.o \
rnp_param.o \
rnp_sysfs.o \
rnp_ptp.o \
rnp_mpe.o

rnp-$(CONFIG_DCB) += rnp_dcb.o
rnp-$(CONFIG_DEBUG_FS) += rnp_debugfs.o
Loading

0 comments on commit 7776e83

Please sign in to comment.