1 # SPDX-License-Identifier: GPL-2.0 2 # 3 # Makefile for Mellanox 5th generation network adapters 4 # (ConnectX series) core & netdev driver 5 # 6 7 subdir-ccflags-y += -I$(src) 8 9 obj-$(CONFIG_MLX5_CORE) += mlx5_core.o 10 11 # 12 # mlx5 core basic 13 # 14 mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \ 15 health.o mcg.o cq.o alloc.o port.o mr.o pd.o \ 16 transobj.o vport.o sriov.o fs_cmd.o fs_core.o pci_irq.o \ 17 fs_counters.o fs_ft_pool.o rl.o lag/debugfs.o lag/lag.o dev.o events.o wq.o lib/gid.o \ 18 lib/devcom.o lib/pci_vsc.o lib/dm.o lib/fs_ttc.o diag/fs_tracepoint.o \ 19 diag/fw_tracer.o diag/crdump.o devlink.o diag/rsc_dump.o diag/reporter_vnic.o \ 20 fw_reset.o qos.o lib/tout.o lib/aso.o wc.o 21 22 # 23 # Netdev basic 24 # 25 mlx5_core-$(CONFIG_MLX5_CORE_EN) += en/rqt.o en/tir.o en/rss.o en/rx_res.o \ 26 en/channels.o en_main.o en_common.o en_fs.o en_ethtool.o \ 27 en_tx.o en_rx.o en_dim.o en_txrx.o en/xdp.o en_stats.o \ 28 en_selftest.o en/port.o en/monitor_stats.o en/health.o \ 29 en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \ 30 en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o en/ptp.o \ 31 en/qos.o en/htb.o en/trap.o en/fs_tt_redirect.o en/selq.o \ 32 lib/crypto.o lib/sd.o 33 34 # 35 # Netdev extra 36 # 37 mlx5_core-$(CONFIG_MLX5_EN_ARFS) += en_arfs.o 38 mlx5_core-$(CONFIG_MLX5_EN_RXNFC) += en_fs_ethtool.o 39 mlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) += en_dcbnl.o en/port_buffer.o 40 mlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += en/hv_vhca_stats.o 41 mlx5_core-$(CONFIG_MLX5_ESWITCH) += lag/mp.o lag/port_sel.o lib/geneve.o lib/port_tun.o \ 42 en_rep.o en/rep/bond.o en/mod_hdr.o \ 43 en/mapping.o lag/mpesw.o 44 mlx5_core-$(CONFIG_MLX5_CLS_ACT) += en_tc.o en/rep/tc.o en/rep/neigh.o \ 45 lib/fs_chains.o en/tc_tun.o \ 46 esw/indir_table.o en/tc_tun_encap.o \ 47 en/tc_tun_vxlan.o en/tc_tun_gre.o en/tc_tun_geneve.o \ 48 en/tc_tun_mplsoudp.o diag/en_tc_tracepoint.o \ 49 en/tc/post_act.o en/tc/int_port.o en/tc/meter.o \ 50 en/tc/post_meter.o en/tc/act_stats.o 51 52 mlx5_core-$(CONFIG_MLX5_CLS_ACT) += en/tc/act/act.o en/tc/act/drop.o en/tc/act/trap.o \ 53 en/tc/act/accept.o en/tc/act/mark.o en/tc/act/goto.o \ 54 en/tc/act/tun.o en/tc/act/csum.o en/tc/act/pedit.o \ 55 en/tc/act/vlan.o en/tc/act/vlan_mangle.o en/tc/act/mpls.o \ 56 en/tc/act/mirred.o en/tc/act/mirred_nic.o \ 57 en/tc/act/ct.o en/tc/act/sample.o en/tc/act/ptype.o \ 58 en/tc/act/redirect_ingress.o en/tc/act/police.o 59 60 ifneq ($(CONFIG_MLX5_TC_CT),) 61 mlx5_core-y += en/tc_ct.o en/tc/ct_fs_dmfs.o 62 mlx5_core-$(CONFIG_MLX5_SW_STEERING) += en/tc/ct_fs_smfs.o 63 endif 64 65 mlx5_core-$(CONFIG_MLX5_TC_SAMPLE) += en/tc/sample.o 66 67 # 68 # Core extra 69 # 70 mlx5_core-$(CONFIG_MLX5_ESWITCH) += eswitch.o eswitch_offloads.o eswitch_offloads_termtbl.o \ 71 ecpf.o rdma.o esw/legacy.o \ 72 esw/devlink_port.o esw/vporttbl.o esw/qos.o esw/ipsec.o 73 74 mlx5_core-$(CONFIG_MLX5_ESWITCH) += esw/acl/helper.o \ 75 esw/acl/egress_lgcy.o esw/acl/egress_ofld.o \ 76 esw/acl/ingress_lgcy.o esw/acl/ingress_ofld.o 77 78 ifneq ($(CONFIG_MLX5_EN_IPSEC),) 79 mlx5_core-$(CONFIG_MLX5_ESWITCH) += esw/ipsec_fs.o 80 endif 81 82 mlx5_core-$(CONFIG_MLX5_BRIDGE) += esw/bridge.o esw/bridge_mcast.o esw/bridge_debugfs.o \ 83 en/rep/bridge.o 84 85 mlx5_core-$(CONFIG_HWMON) += hwmon.o 86 mlx5_core-$(CONFIG_MLX5_MPFS) += lib/mpfs.o 87 mlx5_core-$(CONFIG_VXLAN) += lib/vxlan.o 88 mlx5_core-$(CONFIG_PTP_1588_CLOCK) += lib/clock.o 89 mlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += lib/hv.o lib/hv_vhca.o 90 91 # 92 # Ipoib netdev 93 # 94 mlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o ipoib/ipoib_vlan.o 95 96 # 97 # Accelerations & FPGA 98 # 99 mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o 100 101 mlx5_core-$(CONFIG_MLX5_MACSEC) += en_accel/macsec.o lib/macsec_fs.o \ 102 en_accel/macsec_stats.o 103 104 mlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o en_accel/ipsec_rxtx.o \ 105 en_accel/ipsec_stats.o en_accel/ipsec_fs.o \ 106 en_accel/ipsec_offload.o lib/ipsec_fs_roce.o 107 108 mlx5_core-$(CONFIG_MLX5_EN_TLS) += en_accel/ktls_stats.o \ 109 en_accel/fs_tcp.o en_accel/ktls.o en_accel/ktls_txrx.o \ 110 en_accel/ktls_tx.o en_accel/ktls_rx.o 111 112 mlx5_core-$(CONFIG_MLX5_SW_STEERING) += steering/dr_domain.o steering/dr_table.o \ 113 steering/dr_matcher.o steering/dr_rule.o \ 114 steering/dr_icm_pool.o steering/dr_buddy.o \ 115 steering/dr_ste.o steering/dr_send.o \ 116 steering/dr_ste_v0.o steering/dr_ste_v1.o \ 117 steering/dr_ste_v2.o \ 118 steering/dr_cmd.o steering/dr_fw.o \ 119 steering/dr_action.o steering/fs_dr.o \ 120 steering/dr_definer.o steering/dr_ptrn.o \ 121 steering/dr_arg.o steering/dr_dbg.o lib/smfs.o 122 123 # 124 # HW Steering 125 # 126 mlx5_core-$(CONFIG_MLX5_HW_STEERING) += steering/hws/mlx5hws_cmd.o \ 127 steering/hws/mlx5hws_context.o \ 128 steering/hws/mlx5hws_pat_arg.o \ 129 steering/hws/mlx5hws_buddy.o \ 130 steering/hws/mlx5hws_pool.o \ 131 steering/hws/mlx5hws_table.o \ 132 steering/hws/mlx5hws_action.o \ 133 steering/hws/mlx5hws_rule.o \ 134 steering/hws/mlx5hws_matcher.o \ 135 steering/hws/mlx5hws_send.o \ 136 steering/hws/mlx5hws_definer.o \ 137 steering/hws/mlx5hws_bwc.o \ 138 steering/hws/mlx5hws_debug.o \ 139 steering/hws/mlx5hws_vport.o \ 140 steering/hws/mlx5hws_bwc_complex.o 141 142 143 # 144 # SF device 145 # 146 mlx5_core-$(CONFIG_MLX5_SF) += sf/vhca_event.o sf/dev/dev.o sf/dev/driver.o irq_affinity.o 147 148 # 149 # SF manager 150 # 151 mlx5_core-$(CONFIG_MLX5_SF_MANAGER) += sf/cmd.o sf/hw_table.o sf/devlink.o 152 153 obj-$(CONFIG_MLX5_DPLL) += mlx5_dpll.o 154 mlx5_dpll-y := dpll.o 155