xref: /linux/drivers/net/ethernet/mellanox/mlx5/core/Makefile (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2a8274b85SSaeed Mahameed#
3a8274b85SSaeed Mahameed# Makefile for Mellanox 5th generation network adapters
4a8274b85SSaeed Mahameed# (ConnectX series) core & netdev driver
5a8274b85SSaeed Mahameed#
6a8274b85SSaeed Mahameed
7e29341fbSIlan Tayarisubdir-ccflags-y += -I$(src)
8e126ba97SEli Cohen
9a8274b85SSaeed Mahameedobj-$(CONFIG_MLX5_CORE) += mlx5_core.o
10a8274b85SSaeed Mahameed
11a8274b85SSaeed Mahameed#
12a8274b85SSaeed Mahameed# mlx5 core basic
13a8274b85SSaeed Mahameed#
14e126ba97SEli Cohenmlx5_core-y :=	main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \
15333fbaa0SLeon Romanovsky		health.o mcg.o cq.o alloc.o port.o mr.o pd.o \
16256cf690SYuval Avnery		transobj.o vport.o sriov.o fs_cmd.o fs_core.o pci_irq.o \
177f46a0b7SMark Bloch		fs_counters.o fs_ft_pool.o rl.o lag/debugfs.o lag/lag.o dev.o events.o wq.o lib/gid.o \
18371cf74eSMaor Gottlieb		lib/devcom.o lib/pci_vsc.o lib/dm.o lib/fs_ttc.o diag/fs_tracepoint.o \
19b0bc615dSMaher Sanalla		diag/fw_tracer.o diag/crdump.o devlink.o diag/rsc_dump.o diag/reporter_vnic.o \
20bf2da479SSaeed Mahameed		fw_reset.o qos.o lib/tout.o lib/aso.o wc.o fs_pool.o lib/nv_param.o
2108fb1dacSSaeed Mahameed
22a8274b85SSaeed Mahameed#
23a8274b85SSaeed Mahameed# Netdev basic
24a8274b85SSaeed Mahameed#
2525307a91STariq Toukanmlx5_core-$(CONFIG_MLX5_CORE_EN) += en/rqt.o en/tir.o en/rss.o en/rx_res.o \
2625307a91STariq Toukan		en/channels.o en_main.o en_common.o en_fs.o en_ethtool.o \
27358aa5ceSSaeed Mahameed		en_tx.o en_rx.o en_dim.o en_txrx.o en/xdp.o en_stats.o \
28c50de4afSAya Levin		en_selftest.o en/port.o en/monitor_stats.o en/health.o \
291742b3d5SMagnus Karlsson		en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \
30214baf22SMaxim Mikityanskiy		en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o en/ptp.o \
31462b0059SMoshe Tal		en/qos.o en/htb.o en/trap.o en/fs_tt_redirect.o en/selq.o \
32ab2b0d4dSDragos Tatulea		lib/crypto.o lib/sd.o en/pcie_cong_event.o
33fe6d86b3SSaeed Mahameed
34a8274b85SSaeed Mahameed#
35a8274b85SSaeed Mahameed# Netdev extra
36a8274b85SSaeed Mahameed#
37ec080045SSaeed Mahameedmlx5_core-$(CONFIG_MLX5_EN_ARFS)     += en_arfs.o
38fe6d86b3SSaeed Mahameedmlx5_core-$(CONFIG_MLX5_EN_RXNFC)    += en_fs_ethtool.o
390696d608SHuy Nguyenmlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) += en_dcbnl.o en/port_buffer.o
40cef35af3SEran Ben Elishamlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += en/hv_vhca_stats.o
41b7267869SMaor Gottliebmlx5_core-$(CONFIG_MLX5_ESWITCH)     += lag/mp.o lag/port_sel.o lib/geneve.o lib/port_tun.o \
42c9355682SChris Mi					en_rep.o en/rep/bond.o en/mod_hdr.o \
4394db3317SEli Cohen					en/mapping.o lag/mpesw.o
44d956873fSVlad Buslovmlx5_core-$(CONFIG_MLX5_CLS_ACT)     += en_tc.o en/rep/tc.o en/rep/neigh.o \
45c9355682SChris Mi					lib/fs_chains.o en/tc_tun.o \
460d9f9647SVlad Buslov					esw/indir_table.o en/tc_tun_encap.o \
47d956873fSVlad Buslov					en/tc_tun_vxlan.o en/tc_tun_gre.o en/tc_tun_geneve.o \
486f0b692aSChris Mi					en/tc_tun_mplsoudp.o diag/en_tc_tracepoint.o \
4906fe52a4SJianbo Liu					en/tc/post_act.o en/tc/int_port.o en/tc/meter.o \
50d13674b1SOz Shlomo					en/tc/post_meter.o en/tc/act_stats.o
51fad54790SRoi Dayan
52fad54790SRoi Dayanmlx5_core-$(CONFIG_MLX5_CLS_ACT)     += en/tc/act/act.o en/tc/act/drop.o en/tc/act/trap.o \
53c65686d7SRoi Dayan					en/tc/act/accept.o en/tc/act/mark.o en/tc/act/goto.o \
548ee72638SRoi Dayan					en/tc/act/tun.o en/tc/act/csum.o en/tc/act/pedit.o \
55ab3f3d5eSRoi Dayan					en/tc/act/vlan.o en/tc/act/vlan_mangle.o en/tc/act/mpls.o \
56758bc134SRoi Dayan					en/tc/act/mirred.o en/tc/act/mirred_nic.o \
57922d69edSRoi Dayan					en/tc/act/ct.o en/tc/act/sample.o en/tc/act/ptype.o \
58a8d52b02SJianbo Liu					en/tc/act/redirect_ingress.o en/tc/act/police.o
59fad54790SRoi Dayan
603ee61ebbSPaul Blakeyifneq ($(CONFIG_MLX5_TC_CT),)
613ee61ebbSPaul Blakey	mlx5_core-y			     += en/tc_ct.o en/tc/ct_fs_dmfs.o
623ee61ebbSPaul Blakey	mlx5_core-$(CONFIG_MLX5_SW_STEERING) += en/tc/ct_fs_smfs.o
6334eea5b1SCosmin Ratiu	mlx5_core-$(CONFIG_MLX5_HW_STEERING) += en/tc/ct_fs_hmfs.o
643ee61ebbSPaul Blakeyendif
653ee61ebbSPaul Blakey
660027d70cSChris Mimlx5_core-$(CONFIG_MLX5_TC_SAMPLE)   += en/tc/sample.o
6748935bbbSSaeed Mahameed
68a8274b85SSaeed Mahameed#
69a8274b85SSaeed Mahameed# Core extra
70a8274b85SSaeed Mahameed#
7110caabdaSOz Shlomomlx5_core-$(CONFIG_MLX5_ESWITCH)   += eswitch.o eswitch_offloads.o eswitch_offloads_termtbl.o \
7217426c5dSAdithya Jayachandran				      ecpf.o rdma.o esw/legacy.o esw/adj_vport.o \
7306bab696SDima Chumak				      esw/devlink_port.o esw/vporttbl.o esw/qos.o esw/ipsec.o
742d116e3eSDmytro Linkin
75ea651a86SVu Phammlx5_core-$(CONFIG_MLX5_ESWITCH)   += esw/acl/helper.o \
7607bab950SVu Pham				      esw/acl/egress_lgcy.o esw/acl/egress_ofld.o \
772d116e3eSDmytro Linkin				      esw/acl/ingress_lgcy.o esw/acl/ingress_ofld.o
782d116e3eSDmytro Linkin
791762f132SJianbo Liuifneq ($(CONFIG_MLX5_EN_IPSEC),)
801762f132SJianbo Liu	mlx5_core-$(CONFIG_MLX5_ESWITCH)   += esw/ipsec_fs.o
811762f132SJianbo Liuendif
821762f132SJianbo Liu
83791eb782SVlad Buslovmlx5_core-$(CONFIG_MLX5_BRIDGE)    += esw/bridge.o esw/bridge_mcast.o esw/bridge_debugfs.o \
84791eb782SVlad Buslov				      en/rep/bridge.o
85ea651a86SVu Pham
861f507e80SAdham Farismlx5_core-$(CONFIG_HWMON)          += hwmon.o
87a8274b85SSaeed Mahameedmlx5_core-$(CONFIG_MLX5_MPFS)      += lib/mpfs.o
8815d157c3SJakub Kicinskiifneq ($(CONFIG_VXLAN),)
8915d157c3SJakub Kicinski	mlx5_core-y		   += lib/vxlan.o
9015d157c3SJakub Kicinskiendif
91a8274b85SSaeed Mahameedmlx5_core-$(CONFIG_PTP_1588_CLOCK) += lib/clock.o
9287175120SEran Ben Elishamlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += lib/hv.o lib/hv_vhca.o
93a8274b85SSaeed Mahameed
94a8274b85SSaeed Mahameed#
95a8274b85SSaeed Mahameed# Ipoib netdev
96a8274b85SSaeed Mahameed#
977e7f4780SAlex Veskermlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o ipoib/ipoib_vlan.o
98547eede0SIlan Tayari
99a8274b85SSaeed Mahameed#
100a8274b85SSaeed Mahameed# Accelerations & FPGA
101a8274b85SSaeed Mahameed#
102e2869fb2STariq Toukanmlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o
103a8274b85SSaeed Mahameed
1047390762aSPatrisious Haddadmlx5_core-$(CONFIG_MLX5_MACSEC) += en_accel/macsec.o lib/macsec_fs.o \
105807a1b76SLior Nahmanson				      en_accel/macsec_stats.o
1068ff0ac5bSLior Nahmanson
107164f16f7SIlan Tayarimlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o en_accel/ipsec_rxtx.o \
10854deb0e7SLeon Romanovsky				     en_accel/ipsec_stats.o en_accel/ipsec_fs.o \
10989957760SMark Zhang				     en_accel/ipsec_offload.o lib/ipsec_fs_roce.o
1104c03e69aSMatan Barak
111943aa7bdSLeon Romanovskymlx5_core-$(CONFIG_MLX5_EN_TLS) += en_accel/ktls_stats.o \
1127d0d0d86STariq Toukan				   en_accel/fs_tcp.o en_accel/ktls.o en_accel/ktls_txrx.o \
1131182f365STariq Toukan				   en_accel/ktls_tx.o en_accel/ktls_rx.o
114fb86f121SAlex Vesker
115*e5a1861aSRaed Salemmlx5_core-$(CONFIG_MLX5_EN_PSP) += en_accel/psp.o en_accel/psp_rxtx.o
11689ee2d92SRaed Salem
117e03cf321SYevgeny Kliteynik#
118e03cf321SYevgeny Kliteynik# SW Steering
119e03cf321SYevgeny Kliteynik#
120e03cf321SYevgeny Kliteynikmlx5_core-$(CONFIG_MLX5_SW_STEERING) += steering/sws/dr_domain.o \
121e03cf321SYevgeny Kliteynik					steering/sws/dr_table.o \
122e03cf321SYevgeny Kliteynik					steering/sws/dr_matcher.o \
123e03cf321SYevgeny Kliteynik					steering/sws/dr_rule.o \
124e03cf321SYevgeny Kliteynik					steering/sws/dr_icm_pool.o \
125e03cf321SYevgeny Kliteynik					steering/sws/dr_buddy.o \
126e03cf321SYevgeny Kliteynik					steering/sws/dr_ste.o \
127e03cf321SYevgeny Kliteynik					steering/sws/dr_send.o \
128e03cf321SYevgeny Kliteynik					steering/sws/dr_ste_v0.o \
129e03cf321SYevgeny Kliteynik					steering/sws/dr_ste_v1.o \
130e03cf321SYevgeny Kliteynik					steering/sws/dr_ste_v2.o \
1314d617b57SItamar Gozlan					steering/sws/dr_ste_v3.o \
132e03cf321SYevgeny Kliteynik					steering/sws/dr_cmd.o \
133e03cf321SYevgeny Kliteynik					steering/sws/dr_fw.o \
134e03cf321SYevgeny Kliteynik					steering/sws/dr_action.o \
135e03cf321SYevgeny Kliteynik					steering/sws/dr_definer.o \
136e03cf321SYevgeny Kliteynik					steering/sws/dr_ptrn.o \
137e03cf321SYevgeny Kliteynik					steering/sws/dr_arg.o \
138e03cf321SYevgeny Kliteynik					steering/sws/dr_dbg.o \
139e03cf321SYevgeny Kliteynik					steering/sws/fs_dr.o \
140e03cf321SYevgeny Kliteynik					lib/smfs.o
141510f9f61SYevgeny Kliteynik
142510f9f61SYevgeny Kliteynik#
143510f9f61SYevgeny Kliteynik# HW Steering
144510f9f61SYevgeny Kliteynik#
145a2740138SYevgeny Kliteynikmlx5_core-$(CONFIG_MLX5_HW_STEERING) += steering/hws/cmd.o \
146a2740138SYevgeny Kliteynik					steering/hws/context.o \
147a2740138SYevgeny Kliteynik					steering/hws/pat_arg.o \
148a2740138SYevgeny Kliteynik					steering/hws/buddy.o \
149a2740138SYevgeny Kliteynik					steering/hws/pool.o \
150a2740138SYevgeny Kliteynik					steering/hws/table.o \
151a2740138SYevgeny Kliteynik					steering/hws/action.o \
152a2740138SYevgeny Kliteynik					steering/hws/rule.o \
153a2740138SYevgeny Kliteynik					steering/hws/matcher.o \
154a2740138SYevgeny Kliteynik					steering/hws/send.o \
155a2740138SYevgeny Kliteynik					steering/hws/definer.o \
156a2740138SYevgeny Kliteynik					steering/hws/bwc.o \
157a2740138SYevgeny Kliteynik					steering/hws/debug.o \
158a2740138SYevgeny Kliteynik					steering/hws/vport.o \
159cbfdefc4SMoshe Shemesh					steering/hws/bwc_complex.o \
160aecd9d10SMoshe Shemesh					steering/hws/fs_hws_pools.o \
161983d01b2SVlad Dogaru					steering/hws/fs_hws.o \
162983d01b2SVlad Dogaru					steering/hws/action_ste_pool.o
163510f9f61SYevgeny Kliteynik
164f3196bb0SParav Pandit#
165f3196bb0SParav Pandit# SF device
166f3196bb0SParav Pandit#
167424544dfSShay Drorymlx5_core-$(CONFIG_MLX5_SF) += sf/vhca_event.o sf/dev/dev.o sf/dev/driver.o irq_affinity.o
1688f010541SParav Pandit
1698f010541SParav Pandit#
1708f010541SParav Pandit# SF manager
1718f010541SParav Pandit#
1728f010541SParav Panditmlx5_core-$(CONFIG_MLX5_SF_MANAGER) += sf/cmd.o sf/hw_table.o sf/devlink.o
173496fd0a2SJiri Pirko
174888a7776SYishai Hadas#
175888a7776SYishai Hadas# TPH support
176888a7776SYishai Hadas#
177888a7776SYishai Hadasmlx5_core-$(CONFIG_PCIE_TPH) += lib/st.o
178888a7776SYishai Hadas
179496fd0a2SJiri Pirkoobj-$(CONFIG_MLX5_DPLL) += mlx5_dpll.o
180496fd0a2SJiri Pirkomlx5_dpll-y :=	dpll.o
181