diff --git a/arch/arm64/configs/tencent.config b/arch/arm64/configs/tencent.config index ca842e8ad2a256838fe574fa01f97abdae744b8d..25d10b12c77e5540bfb7418b315c5128b070a7ee 100644 --- a/arch/arm64/configs/tencent.config +++ b/arch/arm64/configs/tencent.config @@ -1873,4 +1873,18 @@ CONFIG_FWCTL=m # UB_FWCTL CONFIG_FWCTL_UB=m # end of UB_FWCTL -CONFIG_ARM64_HISI_IPIV=y \ No newline at end of file +CONFIG_ARM64_HISI_IPIV=y + +# DINGHAI +CONFIG_NET_VENDOR_DINGHAI=y +CONFIG_DINGHAI_DH_CMD=m +CONFIG_DINGHAI_EN_AUX=y +CONFIG_DINGHAI_NP=m +CONFIG_DINGHAI_PTP=m +CONFIG_DINGHAI_TSN=y +CONFIG_DINGHAI_TSN_M=m +CONFIG_ZXDH_SF=y +CONFIG_DINGHAI_AUXILIARY=m +CONFIG_DINGHAI_PF=m +CONFIG_INFINIBAND_ZRDMA=m +# end of DINGHAI \ No newline at end of file diff --git a/arch/x86/configs/tencent.config b/arch/x86/configs/tencent.config index c0f5462d18daea280c88ec69300bfb9fe5317f8b..6561abde22ca53094446f441a1b1429dfe7a0cfb 100644 --- a/arch/x86/configs/tencent.config +++ b/arch/x86/configs/tencent.config @@ -2029,3 +2029,17 @@ CONFIG_TEST_BPF=m # fwctl CONFIG_FWCTL=m + +# DINGHAI +CONFIG_NET_VENDOR_DINGHAI=y +CONFIG_DINGHAI_DH_CMD=m +CONFIG_DINGHAI_EN_AUX=y +CONFIG_DINGHAI_NP=m +CONFIG_DINGHAI_PTP=m +CONFIG_DINGHAI_TSN=y +CONFIG_DINGHAI_TSN_M=m +CONFIG_ZXDH_SF=y +CONFIG_DINGHAI_AUXILIARY=m +CONFIG_DINGHAI_PF=m +CONFIG_INFINIBAND_ZRDMA=m +# end of DINGHAI \ No newline at end of file diff --git a/drivers/net/ethernet/dinghai/Kconfig b/drivers/net/ethernet/dinghai/Kconfig index 86831c41842af3a354dee28a5619f3cf7e834975..c9776c953d4dbf81804dabceb942c2c6d8b2f4db 100644 --- a/drivers/net/ethernet/dinghai/Kconfig +++ b/drivers/net/ethernet/dinghai/Kconfig @@ -1,6 +1,7 @@ config NET_VENDOR_DINGHAI tristate "Dinghai Devices" depends on (X86 || ARM64) + select NET_DEVLINK default y help If you have a Ethernet DINGHAI device belonging to this @@ -68,6 +69,7 @@ config ZXDH_MSGQ config DINGHAI_SEC tristate "Dinghai SEC Support" depends on (X86 || ARM64) + depends on XFRM_OFFLOAD default n help Security (SEC) module support. diff --git a/drivers/net/ethernet/dinghai/Makefile b/drivers/net/ethernet/dinghai/Makefile index 1f0b65ed6694cf4927a5a9a969c83ff67cf8646b..cd4b60ff4462bfb60b519765fd4ae991af214323 100644 --- a/drivers/net/ethernet/dinghai/Makefile +++ b/drivers/net/ethernet/dinghai/Makefile @@ -32,7 +32,7 @@ dinghai10e-$(CONFIG_DINGHAI_EN_AUX) += en_aux.o eq.o pci_irq.o irq_affinity.o en en_aux/dcbnl/en_dcbnl.o en_aux/dcbnl/en_dcbnl_api.o \ zxdh_tools/zxdh_tools_ioctl.o zxdh_tools/zxdh_tools_netlink.o \ en_aux/en_1588_pkt_proc.o en_aux/en_1588_pkt_proc_func.o xarray.o en_aux/selq.o log.o slib.o -dinghai10e-y += en_aux/drs_sec_dtb.o +dinghai10e-$(CONFIG_DINGHAI_SEC) += en_aux/drs_sec_dtb.o dinghai10e-y += en_aux/priv_queue.o dinghai10e-y += bonding/zxdh_lag.o bonding/rdma_ops.o diff --git a/drivers/net/ethernet/dinghai/en_aux.c b/drivers/net/ethernet/dinghai/en_aux.c index ca9cbae4d89a979140f0f213c590ff13facf7a5d..fdea6a515acc51a4ed903c90137aeefb636c74f5 100644 --- a/drivers/net/ethernet/dinghai/en_aux.c +++ b/drivers/net/ethernet/dinghai/en_aux.c @@ -5409,7 +5409,9 @@ void zxdh_netdev_features_init(struct net_device *netdev) return; } +#ifdef ZXDH_SEC extern const struct xfrmdev_ops zxdh_xfrmdev_ops; +#endif static void zxdh_build_nic_netdev(struct net_device *netdev) { struct zxdh_en_priv *en_priv = netdev_priv(netdev); diff --git a/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.c b/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.c index 292ce4819772cec72f7532388adb9f1571c7c76e..f8fd69cdfa9f66e66c8df6c53802dfc8b44d6906 100644 --- a/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.c +++ b/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.c @@ -823,7 +823,9 @@ uint32_t zxdh_dcbnl_initialize(struct net_device *netdev) zxdh_dcbnl_printk_ets_tree(en_priv); en_dev->dcb_para.init_flag = ZXDH_DCBNL_INIT_FLAG; +#ifdef CONFIG_DCB netdev->dcbnl_ops = &zxdh_dcbnl_ops; +#endif //zxdh_dcbnl_set_tm_pport_mcode_gate_open(netdev); LOG_INFO("%s dcbnl init ok ", netdev->name); @@ -842,7 +844,9 @@ uint32_t zxdh_dcbnl_ets_uninit(struct net_device *netdev) LOG_INFO("%s dcbnl uninit begin\n", netdev->name); en_dev->dcb_para.init_flag = 0; +#ifdef CONFIG_DCB netdev->dcbnl_ops = NULL; +#endif zxdh_dcbnl_set_tm_pport_mcode_gate_close(netdev); zxdh_dcbnl_free_flow_resources(en_priv); diff --git a/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.h b/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.h index fd6810133a7b183f1c3f786fa5318881cf769d07..fb2f53d40bd66b849a4f4afa3dfbfad2ec7aefab 100644 --- a/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.h +++ b/drivers/net/ethernet/dinghai/en_aux/dcbnl/en_dcbnl.h @@ -6,6 +6,8 @@ extern "C" { #endif #include +#include +#include /* 启用dcb会大幅度增加初始化时间,暂时先注释 */ #define ZXDH_DCBNL_OPEN