blob: a2cc3b43316afc936b43e599465d6b8a40e593fd [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001# We can build either as part of a standalone Kernel build or as
2# an external module. Determine which mechanism is being used
3ifeq ($(MODNAME),)
4 KERNEL_BUILD := 1
5else
6 KERNEL_BUILD := 0
7endif
8
9ifeq ($(CONFIG_CNSS), y)
10ifndef CONFIG_ROME_IF
11 #use pci as default interface
12 CONFIG_ROME_IF = pci
13endif
14endif
15
16ifeq ($(KERNEL_BUILD),1)
17 # These are provided in external module based builds
18 # Need to explicitly define for Kernel-based builds
19 MODNAME := wlan
20 WLAN_ROOT := drivers/staging/qcacld-3.0
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -080021 WLAN_COMMON_ROOT := drivers/staging/qca-wifi-host-cmn
22 WLAN_COMMON_INC := $(WLAN_COMMON_ROOT)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080023endif
24
25# Make WLAN as open-source driver by default
26WLAN_OPEN_SOURCE := 1
27
28ifeq ($(KERNEL_BUILD), 0)
29 # These are configurable via Kconfig for kernel-based builds
30 # Need to explicitly configure for Android-based builds
31
32 ifeq ($(CONFIG_ARCH_MDM9630), y)
33 CONFIG_MOBILE_ROUTER := y
34 endif
35
36 ifeq ($(CONFIG_ARCH_MDM9640), y)
37 CONFIG_MOBILE_ROUTER := y
38 endif
39
40 #Flag to enable Legacy Fast Roaming3(LFR3)
41 CONFIG_QCACLD_WLAN_LFR3 := y
42
43 #JB kernel has PMKSA patches, hence enabling this flag
44 CONFIG_PRIMA_WLAN_OKC := y
45
46 # JB kernel has CPU enablement patches, so enable
47 ifeq ($(CONFIG_ROME_IF),pci)
48 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := y
49 endif
50 ifeq ($(CONFIG_ROME_IF),usb)
51 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
52 endif
53 ifeq ($(CONFIG_ROME_IF),sdio)
54 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
55 endif
56
57 ifneq ($(CONFIG_MOBILE_ROUTER), y)
58 #Flag to enable TDLS feature
59 CONFIG_QCOM_TDLS := y
60 endif
61
62 ifeq ($(CONFIG_MOBILE_ROUTER), y)
63 CONFIG_QCACLD_FEATURE_GREEN_AP := y
64 endif
65
66 #Flag to enable Fast Transition (11r) feature
67 CONFIG_QCOM_VOWIFI_11R := y
68
69 ifneq ($(CONFIG_QCA_CLD_WLAN),)
Yue Mab8f2bb52016-02-19 16:44:06 -080070 ifeq (y,$(filter y,$(CONFIG_CNSS) $(CONFIG_ICNSS)))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080071 #Flag to enable Protected Managment Frames (11w) feature
72 CONFIG_WLAN_FEATURE_11W := y
73 #Flag to enable LTE CoEx feature
74 CONFIG_QCOM_LTE_COEX := y
75 ifneq ($(CONFIG_MOBILE_ROUTER), y)
76 #Flag to enable LPSS feature
77 CONFIG_WLAN_FEATURE_LPSS := y
78 endif
79 endif
80 endif
81
82
83 #Flag to enable Protected Managment Frames (11w) feature
84 ifeq ($(CONFIG_ROME_IF),usb)
85 CONFIG_WLAN_FEATURE_11W := y
86 endif
87 ifeq ($(CONFIG_ROME_IF),sdio)
88 CONFIG_WLAN_FEATURE_11W := y
89 endif
90
91 ifneq ($(CONFIG_MOBILE_ROUTER), y)
92 #Flag to enable NAN
93 CONFIG_QCACLD_FEATURE_NAN := y
94 endif
95
96 #Flag to enable Linux QCMBR feature as default feature
97 ifeq ($(CONFIG_ROME_IF),usb)
98 CONFIG_LINUX_QCMBR :=y
99 endif
100
101 ifeq ($(CONFIG_CNSS_EOS),y)
102 CONFIG_FEATURE_BMI_2 :=y
103 endif
104
105 CONFIG_MPC_UT_FRAMEWORK := y
106
107 #Flag to enable offload packets feature
108 CONFIG_WLAN_OFFLOAD_PACKETS := y
109
110 #Flag to enable memdump feature
111 CONFIG_WLAN_FEATURE_MEMDUMP := y
112
113 #Flag to enable Fast Path feature
114 CONFIG_WLAN_FASTPATH := y
115
116 # Flag to enable NAPI
117 CONFIG_WLAN_NAPI := y
118 CONFIG_WLAN_NAPI_DEBUG := n
119
120 # Flag to enable FW based TX Flow control
Nirav Shah9d7f2e82015-09-28 11:09:09 -0700121 ifeq ($(CONFIG_CNSS_EOS),y)
122 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
123 else
124 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
125 endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800126
127 # Flag to enable LRO (Large Receive Offload)
128 ifeq ($(CONFIG_CNSS_EOS), y)
129 ifeq ($(CONFIG_INET_LRO), y)
130 CONFIG_WLAN_LRO := y
131 else
132 CONFIG_WLAN_LRO := n
133 endif
134 endif
Ravi Joshi61c3c7a2015-11-09 18:41:20 -0800135
136 # Flag to enable LFR Subnet Detection
137 CONFIG_LFR_SUBNET_DETECTION := y
Chandrasekaran Manishekar068e25e2016-03-07 11:51:07 +0530138
139 # Flag to enable MCC to SCC switch feature
140 CONFIG_MCC_TO_SCC_SWITCH := y
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800141endif
142
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800143# If not set, assume, Common driver is with in the build tree
144WLAN_COMMON_ROOT ?= qca-wifi-host-cmn
145WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
146
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800147ifneq ($(CONFIG_MOBILE_ROUTER), y)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800148CONFIG_QCOM_ESE := y
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800149endif
150
151# Feature flags which are not (currently) configurable via Kconfig
152
153#Whether to build debug version
154BUILD_DEBUG_VERSION := 1
155
156#Enable this flag to build driver in diag version
157BUILD_DIAG_VERSION := 1
158
159#Do we panic on bug? default is to warn
160PANIC_ON_BUG := 1
161
162#Enable OL debug and wmi unified functions
163CONFIG_ATH_PERF_PWR_OFFLOAD := 1
164
165#Disable packet log
166CONFIG_REMOVE_PKT_LOG := 0
167
168#Enable 11AC TX
169ifeq ($(CONFIG_ROME_IF),pci)
170 CONFIG_ATH_11AC_TXCOMPACT := 1
171endif
172ifeq ($(CONFIG_ROME_IF),usb)
173 CONFIG_ATH_11AC_TXCOMPACT := 0
174endif
175
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800176#Enable OS specific IRQ abstraction
177CONFIG_ATH_SUPPORT_SHARED_IRQ := 1
178
179#Enable message based HIF instead of RAW access in BMI
180ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
181CONFIG_HIF_MESSAGE_BASED := 0
182else
183CONFIG_HIF_MESSAGE_BASED := 1
184endif
185
186#Enable PCI specific APIS (dma, etc)
187ifeq ($(CONFIG_ROME_IF),pci)
188 CONFIG_HIF_PCI := 1
189endif
190
191#Enable pci read/write config functions
192ifeq ($(CONFIG_ROME_IF),pci)
193 CONFIG_ATH_PCI := 1
194endif
195ifeq ($(CONFIG_ROME_IF),usb)
196#CONFIG_ATH_PCI := 1
197endif
198
199ifneq ($(CONFIG_MOBILE_ROUTER), y)
200#Enable IBSS support on CLD
201CONFIG_QCA_IBSS_SUPPORT := 1
202endif
203
204#Enable power management suspend/resume functionality to PCI
205CONFIG_ATH_BUS_PM := 1
206
207#Enable FLOWMAC module support
208CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := 0
209
210#Enable spectral support
211CONFIG_ATH_SUPPORT_SPECTRAL := 0
212
213#Enable HOST statistics support
214CONFIG_SUPPORT_HOST_STATISTICS := 0
215
216#Enable WDI Event support
217CONFIG_WDI_EVENT_ENABLE := 1
218
219#Endianess selection
220CONFIG_LITTLE_ENDIAN := 1
221
222#Enable TX reclaim support
223CONFIG_TX_CREDIT_RECLAIM_SUPPORT := 0
224
225#Enable FTM support
226CONFIG_QCA_WIFI_FTM := 1
227
228#Enable Checksum Offload
229CONFIG_CHECKSUM_OFFLOAD := 1
230
231#Enable GTK offload
232CONFIG_GTK_OFFLOAD := 1
233
234#Enable EXT WOW
235ifeq ($(CONFIG_ROME_IF),pci)
236 CONFIG_EXT_WOW := 1
237endif
238
239#Set this to 1 to catch erroneous Target accesses during debug.
240CONFIG_ATH_PCIE_ACCESS_DEBUG := 0
241
242#Enable IPA offload
243ifeq ($(CONFIG_IPA), y)
244CONFIG_IPA_OFFLOAD := 1
245endif
246
247#Enable Signed firmware support for split binary format
248CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := 0
249
250#Enable single firmware binary format
251CONFIG_QCA_SINGLE_BINARY_SUPPORT := 0
252
253#Enable collecting target RAM dump after kernel panic
254CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := 1
255
256#Flag to enable/disable secure firmware feature
257CONFIG_FEATURE_SECURE_FIRMWARE := 0
258
259#Flag to enable Stats Ext implementation
260CONFIG_FEATURE_STATS_EXT := 1
261
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800262ifeq ($(CONFIG_CFG80211),y)
263HAVE_CFG80211 := 1
264else
265ifeq ($(CONFIG_CFG80211),m)
266HAVE_CFG80211 := 1
267else
268HAVE_CFG80211 := 0
269endif
270endif
271
272############ UAPI ############
273UAPI_DIR := uapi
274UAPI_INC := -I$(WLAN_ROOT)/$(UAPI_DIR)/linux
275
276############ COMMON ############
277COMMON_DIR := core/common
278COMMON_INC := -I$(WLAN_ROOT)/$(COMMON_DIR)
279
280############ HDD ############
281HDD_DIR := core/hdd
282HDD_INC_DIR := $(HDD_DIR)/inc
283HDD_SRC_DIR := $(HDD_DIR)/src
284
285HDD_INC := -I$(WLAN_ROOT)/$(HDD_INC_DIR) \
286 -I$(WLAN_ROOT)/$(HDD_SRC_DIR)
287
288HDD_OBJS := $(HDD_SRC_DIR)/wlan_hdd_assoc.o \
289 $(HDD_SRC_DIR)/wlan_hdd_cfg.o \
290 $(HDD_SRC_DIR)/wlan_hdd_debugfs.o \
291 $(HDD_SRC_DIR)/wlan_hdd_driver_ops.o \
292 $(HDD_SRC_DIR)/wlan_hdd_ftm.o \
293 $(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
294 $(HDD_SRC_DIR)/wlan_hdd_ioctl.o \
295 $(HDD_SRC_DIR)/wlan_hdd_main.o \
296 $(HDD_SRC_DIR)/wlan_hdd_ocb.o \
297 $(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
298 $(HDD_SRC_DIR)/wlan_hdd_power.o \
Amar Singhale4f28ee2015-10-21 14:36:56 -0700299 $(HDD_SRC_DIR)/wlan_hdd_regulatory.o \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800300 $(HDD_SRC_DIR)/wlan_hdd_scan.o \
301 $(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
302 $(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
303 $(HDD_SRC_DIR)/wlan_hdd_trace.o \
304 $(HDD_SRC_DIR)/wlan_hdd_wext.o \
305 $(HDD_SRC_DIR)/wlan_hdd_wmm.o \
306 $(HDD_SRC_DIR)/wlan_hdd_wowl.o
307
Amar Singhale4f28ee2015-10-21 14:36:56 -0700308
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800309ifeq ($(CONFIG_WLAN_LRO), y)
310HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_lro.o
311endif
312
313ifeq ($(CONFIG_WLAN_NAPI), y)
314HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_napi.o
315endif
316
317ifeq ($(CONFIG_IPA_OFFLOAD), 1)
318HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ipa.o
319endif
320
321ifeq ($(HAVE_CFG80211),1)
322HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
323 $(HDD_SRC_DIR)/wlan_hdd_ext_scan.o \
324 $(HDD_SRC_DIR)/wlan_hdd_stats.o \
325 $(HDD_SRC_DIR)/wlan_hdd_p2p.o
326endif
327
328ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
329HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_green_ap.o
330endif
331
332ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
333HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan.o
334endif
335
336ifeq ($(CONFIG_QCOM_TDLS),y)
337HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tdls.o
338endif
339
340ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
341HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_conc_ut.o
342endif
343
344ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
345HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
346endif
347
Ravi Joshi61c3c7a2015-11-09 18:41:20 -0800348ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
349HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_subnet_detect.o
350endif
351
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800352########### HOST DIAG LOG ###########
353HOST_DIAG_LOG_DIR := core/utils/host_diag_log
354
355HOST_DIAG_LOG_INC_DIR := $(HOST_DIAG_LOG_DIR)/inc
356HOST_DIAG_LOG_SRC_DIR := $(HOST_DIAG_LOG_DIR)/src
357
358HOST_DIAG_LOG_INC := -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \
359 -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR)
360
361HOST_DIAG_LOG_OBJS += $(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o
362
363############ EPPING ############
364EPPING_DIR := core/utils/epping
365EPPING_INC_DIR := $(EPPING_DIR)/inc
366EPPING_SRC_DIR := $(EPPING_DIR)/src
367
368EPPING_INC := -I$(WLAN_ROOT)/$(EPPING_INC_DIR)
369
370EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
371 $(EPPING_SRC_DIR)/epping_txrx.o \
372 $(EPPING_SRC_DIR)/epping_tx.o \
373 $(EPPING_SRC_DIR)/epping_rx.o \
374 $(EPPING_SRC_DIR)/epping_helper.o \
375
376
377############ MAC ############
378MAC_DIR := core/mac
379MAC_INC_DIR := $(MAC_DIR)/inc
380MAC_SRC_DIR := $(MAC_DIR)/src
381
382MAC_INC := -I$(WLAN_ROOT)/$(MAC_INC_DIR) \
383 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \
384 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \
385 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \
386 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim
387
388MAC_CFG_OBJS := $(MAC_SRC_DIR)/cfg/cfg_api.o \
389 $(MAC_SRC_DIR)/cfg/cfg_debug.o \
390 $(MAC_SRC_DIR)/cfg/cfg_param_name.o \
391 $(MAC_SRC_DIR)/cfg/cfg_proc_msg.o \
392 $(MAC_SRC_DIR)/cfg/cfg_send_msg.o
393
394MAC_DPH_OBJS := $(MAC_SRC_DIR)/dph/dph_hash_table.o
395
396MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \
397 $(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \
398 $(MAC_SRC_DIR)/pe/lim/lim_api.o \
399 $(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \
400 $(MAC_SRC_DIR)/pe/lim/lim_debug.o \
401 $(MAC_SRC_DIR)/pe/lim/lim_ft.o \
402 $(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o \
403 $(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \
404 $(MAC_SRC_DIR)/pe/lim/lim_p2p.o \
405 $(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \
406 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \
407 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \
408 $(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \
409 $(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \
410 $(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \
411 $(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \
412 $(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \
413 $(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \
414 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \
415 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \
416 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \
417 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \
418 $(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \
419 $(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \
420 $(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \
421 $(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \
422 $(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \
423 $(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \
424 $(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \
425 $(MAC_SRC_DIR)/pe/lim/lim_ser_des_utils.o \
426 $(MAC_SRC_DIR)/pe/lim/lim_session.o \
427 $(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \
428 $(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \
429 $(MAC_SRC_DIR)/pe/lim/lim_sta_hash_api.o \
430 $(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \
431 $(MAC_SRC_DIR)/pe/lim/lim_trace.o \
432 $(MAC_SRC_DIR)/pe/lim/lim_utils.o
433
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800434ifeq ($(CONFIG_QCOM_TDLS),y)
435MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_tdls.o
436endif
437
438MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/sch_api.o \
439 $(MAC_SRC_DIR)/pe/sch/sch_beacon_gen.o \
440 $(MAC_SRC_DIR)/pe/sch/sch_beacon_process.o \
441 $(MAC_SRC_DIR)/pe/sch/sch_debug.o \
442 $(MAC_SRC_DIR)/pe/sch/sch_message.o
443
444MAC_RRM_OBJS := $(MAC_SRC_DIR)/pe/rrm/rrm_api.o
445
446MAC_OBJS := $(MAC_CFG_OBJS) \
447 $(MAC_DPH_OBJS) \
448 $(MAC_LIM_OBJS) \
449 $(MAC_SCH_OBJS) \
450 $(MAC_RRM_OBJS)
451
452############ SAP ############
453SAP_DIR := core/sap
454SAP_INC_DIR := $(SAP_DIR)/inc
455SAP_SRC_DIR := $(SAP_DIR)/src
456
457SAP_INC := -I$(WLAN_ROOT)/$(SAP_INC_DIR) \
458 -I$(WLAN_ROOT)/$(SAP_SRC_DIR)
459
460SAP_OBJS := $(SAP_SRC_DIR)/sap_api_link_cntl.o \
461 $(SAP_SRC_DIR)/sap_ch_select.o \
462 $(SAP_SRC_DIR)/sap_fsm.o \
463 $(SAP_SRC_DIR)/sap_module.o
464
465############ DFS ############ 350
466DFS_DIR := $(SAP_DIR)/dfs
467DFS_INC_DIR := $(DFS_DIR)/inc
468DFS_SRC_DIR := $(DFS_DIR)/src
469
470DFS_INC := -I$(WLAN_ROOT)/$(DFS_INC_DIR) \
471 -I$(WLAN_ROOT)/$(DFS_SRC_DIR)
472
473DFS_OBJS := $(DFS_SRC_DIR)/dfs_bindetects.o \
474 $(DFS_SRC_DIR)/dfs.o \
475 $(DFS_SRC_DIR)/dfs_debug.o\
476 $(DFS_SRC_DIR)/dfs_fcc_bin5.o\
477 $(DFS_SRC_DIR)/dfs_init.o\
478 $(DFS_SRC_DIR)/dfs_misc.o\
479 $(DFS_SRC_DIR)/dfs_nol.o\
480 $(DFS_SRC_DIR)/dfs_phyerr_tlv.o\
481 $(DFS_SRC_DIR)/dfs_process_phyerr.o\
482 $(DFS_SRC_DIR)/dfs_process_radarevent.o\
483 $(DFS_SRC_DIR)/dfs_staggered.o
484
485############ SME ############
486SME_DIR := core/sme
487SME_INC_DIR := $(SME_DIR)/inc
488SME_SRC_DIR := $(SME_DIR)/src
489
490SME_INC := -I$(WLAN_ROOT)/$(SME_INC_DIR) \
491 -I$(WLAN_ROOT)/$(SME_SRC_DIR)/csr
492
493SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \
494 $(SME_SRC_DIR)/csr/csr_api_scan.o \
495 $(SME_SRC_DIR)/csr/csr_cmd_process.o \
496 $(SME_SRC_DIR)/csr/csr_link_list.o \
497 $(SME_SRC_DIR)/csr/csr_neighbor_roam.o \
498 $(SME_SRC_DIR)/csr/csr_util.o
499
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800500ifeq ($(CONFIG_QCOM_TDLS),y)
501SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_tdls_process.o
502endif
503
504SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o
505
506SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \
507 $(SME_SRC_DIR)/common/sme_ft_api.o \
508 $(SME_SRC_DIR)/common/sme_power_save.o \
509 $(SME_SRC_DIR)/common/sme_trace.o
510
511SME_OEM_DATA_OBJS := $(SME_SRC_DIR)/oem_data/oem_data_api.o
512
513SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_api.o
514
515SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
516
517ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
518SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_api.o
519endif
520
521SME_OBJS := $(SME_CMN_OBJS) \
522 $(SME_CSR_OBJS) \
523 $(SME_OEM_DATA_OBJS) \
524 $(SME_P2P_OBJS) \
525 $(SME_QOS_OBJS) \
526 $(SME_RRM_OBJS) \
527 $(SME_NAN_OBJS)
528
529############ NLINK ############
530NLINK_DIR := core/utils/nlink
531NLINK_INC_DIR := $(NLINK_DIR)/inc
532NLINK_SRC_DIR := $(NLINK_DIR)/src
533
534NLINK_INC := -I$(WLAN_ROOT)/$(NLINK_INC_DIR)
535NLINK_OBJS := $(NLINK_SRC_DIR)/wlan_nlink_srv.o
536
537############ PTT ############
538PTT_DIR := core/utils/ptt
539PTT_INC_DIR := $(PTT_DIR)/inc
540PTT_SRC_DIR := $(PTT_DIR)/src
541
542PTT_INC := -I$(WLAN_ROOT)/$(PTT_INC_DIR)
543PTT_OBJS := $(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
544
545############ WLAN_LOGGING ############
546WLAN_LOGGING_DIR := core/utils/logging
547WLAN_LOGGING_INC_DIR := $(WLAN_LOGGING_DIR)/inc
548WLAN_LOGGING_SRC_DIR := $(WLAN_LOGGING_DIR)/src
549
550WLAN_LOGGING_INC := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR)
551WLAN_LOGGING_OBJS := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o
552
553############ SYS ############
554SYS_DIR := core/mac/src/sys
555
556SYS_INC := -I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \
557 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \
558 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \
559 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc
560
561SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src
562SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src
563SYS_OBJS := $(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \
564 $(SYS_LEGACY_SRC_DIR)/platform/src/sys_wrapper.o \
565 $(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \
566 $(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \
567 $(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
568 $(SYS_LEGACY_SRC_DIR)/utils/src/log_api.o \
569 $(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \
570 $(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \
571 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_api.o \
572 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o
573
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800574############ Qca-wifi-host-cmn ############
575QDF_OS_DIR := qdf
576QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc
577QDF_OS_SRC_DIR := $(QDF_OS_DIR)/linux/src
578QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800579
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800580QDF_INC := -I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \
581 -I$(WLAN_COMMON_INC)/$(QDF_OS_SRC_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800582
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800583QDF_OBJS := $(QDF_OBJ_DIR)/qdf_defer.o \
584 $(QDF_OBJ_DIR)/qdf_event.o \
585 $(QDF_OBJ_DIR)/qdf_list.o \
586 $(QDF_OBJ_DIR)/qdf_lock.o \
587 $(QDF_OBJ_DIR)/qdf_mc_timer.o \
588 $(QDF_OBJ_DIR)/qdf_mem.o \
589 $(QDF_OBJ_DIR)/qdf_nbuf.o \
590 $(QDF_OBJ_DIR)/qdf_threads.o \
591 $(QDF_OBJ_DIR)/qdf_trace.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800592
593############ CDS (Connectivity driver services) ############
594CDS_DIR := core/cds
595CDS_INC_DIR := $(CDS_DIR)/inc
596CDS_SRC_DIR := $(CDS_DIR)/src
597
598CDS_INC := -I$(WLAN_ROOT)/$(CDS_INC_DIR) \
599 -I$(WLAN_ROOT)/$(CDS_SRC_DIR)
600
601CDS_OBJS := $(CDS_SRC_DIR)/cds_api.o \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800602 $(CDS_SRC_DIR)/cds_reg_service.o \
603 $(CDS_SRC_DIR)/cds_mq.o \
604 $(CDS_SRC_DIR)/cds_packet.o \
605 $(CDS_SRC_DIR)/cds_regdomain.o \
606 $(CDS_SRC_DIR)/cds_sched.o \
607 $(CDS_SRC_DIR)/cds_concurrency.o \
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800608 $(CDS_SRC_DIR)/cds_utils.o \
609 $(CDS_SRC_DIR)/cds_mc_timer.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800610
611
612########### BMI ###########
613BMI_DIR := core/bmi
614
615BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc
616
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800617BMI_OBJS := $(BMI_DIR)/src/bmi.o \
618 $(BMI_DIR)/src/ol_fw.o
619ifeq ($(CONFIG_FEATURE_BMI_2), y)
620BMI_OBJS += $(BMI_DIR)/src/bmi_2.o
621else
622BMI_OBJS += $(BMI_DIR)/src/bmi_1.o
623endif
Govind Singh0fea23a2016-03-18 12:59:27 +0530624
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800625########### WMI ###########
Govind Singh0fea23a2016-03-18 12:59:27 +0530626WMI_ROOT_DIR := wmi
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800627
Govind Singh0fea23a2016-03-18 12:59:27 +0530628WMI_SRC_DIR := $(WMI_ROOT_DIR)/src
629WMI_INC_DIR := $(WMI_ROOT_DIR)/inc
630WMI_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(WMI_SRC_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800631
Govind Singh0fea23a2016-03-18 12:59:27 +0530632WMI_INC := -I$(WLAN_COMMON_INC)/$(WMI_INC_DIR)
633
634WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \
635 $(WMI_OBJ_DIR)/wmi_tlv_helper.o \
636 $(WMI_OBJ_DIR)/wmi_unified_tlv.o \
637 $(WMI_OBJ_DIR)/wmi_unified_api.o \
638 $(WMI_OBJ_DIR)/wmi_unified_non_tlv.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800639
640########### FWLOG ###########
641FWLOG_DIR := core/utils/fwlog
642
643FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR)
644
645FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o
646
647############ TXRX ############
648TXRX_DIR := core/dp/txrx
649TXRX_INC := -I$(WLAN_ROOT)/$(TXRX_DIR)
650
651TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \
652 $(TXRX_DIR)/ol_cfg.o \
653 $(TXRX_DIR)/ol_rx.o \
654 $(TXRX_DIR)/ol_rx_fwd.o \
655 $(TXRX_DIR)/ol_txrx.o \
656 $(TXRX_DIR)/ol_rx_defrag.o \
657 $(TXRX_DIR)/ol_tx_desc.o \
658 $(TXRX_DIR)/ol_tx.o \
659 $(TXRX_DIR)/ol_rx_reorder_timeout.o \
660 $(TXRX_DIR)/ol_rx_reorder.o \
661 $(TXRX_DIR)/ol_rx_pn.o \
662 $(TXRX_DIR)/ol_tx_queue.o \
663 $(TXRX_DIR)/ol_txrx_peer_find.o \
664 $(TXRX_DIR)/ol_txrx_event.o \
665 $(TXRX_DIR)/ol_txrx_encap.o \
666 $(TXRX_DIR)/ol_tx_send.o
667
668ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
669TXRX_OBJS += $(TXRX_DIR)/ol_txrx_flow_control.o
670endif
671
672############ OL ############
673OL_DIR := core/dp/ol
674OL_INC := -I$(WLAN_ROOT)/$(OL_DIR)/inc
675
Dhanashri Atre12a08392016-02-17 13:10:34 -0800676############ CDP ############
677CDP_ROOT_DIR := dp
678CDP_INC_DIR := $(CDP_ROOT_DIR)/inc
679CDP_INC := -I$(WLAN_COMMON_INC)/$(CDP_INC_DIR)
680
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800681############ PKTLOG ############
682PKTLOG_DIR := core/utils/pktlog
683PKTLOG_INC := -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include
684
685PKTLOG_OBJS := $(PKTLOG_DIR)/pktlog_ac.o \
686 $(PKTLOG_DIR)/pktlog_internal.o \
687 $(PKTLOG_DIR)/linux_ac.o
688
689############ HTT ############
690HTT_DIR := core/dp/htt
691HTT_INC := -I$(WLAN_ROOT)/$(HTT_DIR)
692
693HTT_OBJS := $(HTT_DIR)/htt_tx.o \
694 $(HTT_DIR)/htt.o \
695 $(HTT_DIR)/htt_t2h.o \
696 $(HTT_DIR)/htt_h2t.o \
697 $(HTT_DIR)/htt_fw_stats.o \
698 $(HTT_DIR)/htt_rx.o
699
700############## HTC ##########
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800701HTC_DIR := htc
702HTC_INC := -I$(WLAN_COMMON_INC)/$(HTC_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800703
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800704HTC_OBJS := $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc.o \
705 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_send.o \
706 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_recv.o \
707 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_services.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800708
709########### HIF ###########
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800710HIF_DIR := hif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800711HIF_CE_DIR := $(HIF_DIR)/src/ce
712HIF_CNSS_STUB_DIR := $(HIF_DIR)/src/icnss_stub
713
Houston Hoffman1edffd32016-01-27 16:30:34 -0800714
715HIF_DISPATCHER_DIR := $(HIF_DIR)/src/dispatcher
716
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800717HIF_PCIE_DIR := $(HIF_DIR)/src/pcie
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800718HIF_SNOC_DIR := $(HIF_DIR)/src/snoc
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800719
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800720HIF_INC := -I$(WLAN_COMMON_INC)/$(HIF_DIR)/inc \
721 -I$(WLAN_COMMON_INC)/$(HIF_DIR)/src \
722 -I$(WLAN_COMMON_INC)/$(HIF_CE_DIR) \
723 -I$(WLAN_COMMON_INC)/$(HIF_CNSS_STUB_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800724
Houston Hoffman1edffd32016-01-27 16:30:34 -0800725
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800726ifeq ($(CONFIG_HIF_PCI), 1)
Houston Hoffman1edffd32016-01-27 16:30:34 -0800727HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800728HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_PCIE_DIR)
Houston Hoffman1edffd32016-01-27 16:30:34 -0800729endif
730
731ifeq ($(CONFIG_HIF_SNOC), 1)
732HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800733HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SNOC_DIR)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800734endif
735
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800736HIF_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/ath_procfs.o \
737 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_diag.o \
738 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_main.o \
739 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service.o \
740 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_tasklet.o \
741 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_main.o \
742 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/mp_dev.o \
743 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/regtable.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800744
Houston Hoffman1edffd32016-01-27 16:30:34 -0800745ifneq ($(CONFIG_ICNSS), y)
746HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_CNSS_STUB_DIR)/icnss_stub.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800747endif
748
749ifeq ($(CONFIG_WLAN_NAPI), y)
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800750HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800751endif
752
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800753HIF_PCIE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/if_pci.o
Houston Hoffman1edffd32016-01-27 16:30:34 -0800754HIF_PCIE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_bmi.o
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800755HIF_SNOC_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/if_snoc.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800756
Houston Hoffman1edffd32016-01-27 16:30:34 -0800757HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus.o
Houston Hoffmanb61b9b12016-03-03 20:04:16 -0800758HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/dummy.o
Houston Hoffman1edffd32016-01-27 16:30:34 -0800759
760ifeq ($(CONFIG_HIF_PCI), 1)
761HIF_OBJS += $(HIF_PCIE_OBJS)
762HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_pci.o
763endif
764
765ifeq ($(CONFIG_HIF_SNOC), 1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800766HIF_OBJS += $(HIF_SNOC_OBJS)
Houston Hoffman1edffd32016-01-27 16:30:34 -0800767HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_snoc.o
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800768endif
769
770############ WMA ############
771WMA_DIR := core/wma
772
773WMA_INC_DIR := $(WMA_DIR)/inc
774WMA_SRC_DIR := $(WMA_DIR)/src
775
776WMA_INC := -I$(WLAN_ROOT)/$(WMA_INC_DIR) \
777 -I$(WLAN_ROOT)/$(WMA_SRC_DIR)
778
779WMA_OBJS := $(WMA_SRC_DIR)/wma_main.o \
780 $(WMA_SRC_DIR)/wma_scan_roam.o \
781 $(WMA_SRC_DIR)/wma_dev_if.o \
782 $(WMA_SRC_DIR)/wma_mgmt.o \
783 $(WMA_SRC_DIR)/wma_power.o \
784 $(WMA_SRC_DIR)/wma_data.o \
785 $(WMA_SRC_DIR)/wma_utils.o \
786 $(WMA_SRC_DIR)/wma_features.o \
787 $(WMA_SRC_DIR)/wma_dfs_interface.o \
788 $(WMA_SRC_DIR)/wma_ocb.o \
789 $(WMA_SRC_DIR)/wlan_qct_wma_legacy.o
790
791ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
792WMA_OBJS += $(WMA_SRC_DIR)/wma_utils_ut.o
793endif
794
795TARGET_INC := -I$(WLAN_ROOT)/target/inc
796
797LINUX_INC := -Iinclude/linux
798
799INCS := $(HDD_INC) \
800 $(EPPING_INC) \
801 $(LINUX_INC) \
802 $(MAC_INC) \
803 $(SAP_INC) \
804 $(SME_INC) \
805 $(SYS_INC) \
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800806 $(QDF_INC) \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800807 $(CDS_INC) \
808 $(DFS_INC)
809
810INCS += $(WMA_INC) \
811 $(UAPI_INC) \
812 $(COMMON_INC) \
813 $(WMI_INC) \
814 $(FWLOG_INC) \
815 $(TXRX_INC) \
816 $(OL_INC) \
Dhanashri Atre12a08392016-02-17 13:10:34 -0800817 $(CDP_INC) \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800818 $(PKTLOG_INC) \
819 $(HTT_INC) \
820 $(HTC_INC) \
821 $(DFS_INC)
822
823INCS += $(HIF_INC) \
824 $(BMI_INC)
825
826INCS += $(TARGET_INC)
827
828INCS += $(NLINK_INC) \
829 $(PTT_INC) \
830 $(WLAN_LOGGING_INC)
831
832ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
833INCS += $(PKTLOG_INC)
834endif
835
836ifeq ($(BUILD_DIAG_VERSION), 1)
837INCS += $(HOST_DIAG_LOG_INC)
838endif
839
840OBJS := $(HDD_OBJS) \
841 $(EPPING_OBJS) \
842 $(MAC_OBJS) \
843 $(SAP_OBJS) \
844 $(SME_OBJS) \
845 $(SYS_OBJS) \
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800846 $(QDF_OBJS) \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800847 $(CDS_OBJS) \
848 $(DFS_OBJS)
849
850OBJS += $(WMA_OBJS) \
851 $(TXRX_OBJS) \
852 $(WMI_OBJS) \
853 $(FWLOG_OBJS) \
854 $(HTC_OBJS) \
855 $(DFS_OBJS)
856
857OBJS += $(HIF_OBJS) \
858 $(BMI_OBJS) \
859 $(HTT_OBJS)
860
861OBJS += $(WLAN_LOGGING_OBJS)
862OBJS += $(NLINK_OBJS)
863OBJS += $(PTT_OBJS)
864
865ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
866OBJS += $(PKTLOG_OBJS)
867endif
868
869ifeq ($(BUILD_DIAG_VERSION), 1)
870OBJS += $(HOST_DIAG_LOG_OBJS)
871endif
872
873
874EXTRA_CFLAGS += $(INCS)
875
876CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
877 -DANI_LITTLE_BIT_ENDIAN \
878 -DQC_WLAN_CHIPSET_QCA_CLD \
879 -DDOT11F_LITTLE_ENDIAN_HOST \
880 -DANI_COMPILER_TYPE_GCC \
881 -DANI_OS_TYPE_ANDROID=6 \
882 -DWLAN_PERF \
883 -DPTT_SOCK_SVC_ENABLE \
884 -Wall\
885 -Werror\
886 -D__linux__ \
887 -DHAL_SELF_STA_PER_BSS=1 \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800888 -DFEATURE_WLAN_WAPI \
889 -DFEATURE_OEM_DATA_SUPPORT\
890 -DSOFTAP_CHANNEL_RANGE \
891 -DWLAN_AP_STA_CONCURRENCY \
892 -DFEATURE_WLAN_SCAN_PNO \
893 -DWLAN_FEATURE_PACKET_FILTERING \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800894 -DWLAN_FEATURE_P2P_DEBUG \
895 -DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
896 -DWLANTL_DEBUG\
897 -DWLAN_NS_OFFLOAD \
898 -DWLAN_SOFTAP_VSTA_FEATURE \
899 -DWLAN_FEATURE_GTK_OFFLOAD \
900 -DWLAN_WAKEUP_EVENTS \
901 -DFEATURE_WLAN_RA_FILTERING\
902 -DWLAN_KD_READY_NOTIFIER \
903 -DWLAN_NL80211_TESTMODE \
904 -DFEATURE_WLAN_LPHB \
905 -DFEATURE_WLAN_PAL_TIMER_DISABLE \
906 -DFEATURE_WLAN_PAL_MEM_DISABLE \
907 -DQCA_SUPPORT_TX_THROTTLE \
908 -DWMI_INTERFACE_EVENT_LOGGING \
909 -DATH_SUPPORT_WAPI \
910 -DWLAN_FEATURE_LINK_LAYER_STATS \
911 -DWLAN_LOGGING_SOCK_SVC_ENABLE \
912 -DFEATURE_WLAN_EXTSCAN \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800913 -DWLAN_FEATURE_MBSSID \
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -0800914 -DCONFIG_160MHZ_SUPPORT \
915 -DCONFIG_MCL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800916
917ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
918CDEFINES += -DQCA_WIFI_3_0
919CDEFINES += -DQCA_WIFI_3_0_EMU
920endif
921
922ifeq (y,$(filter y,$(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
923CDEFINES += -DQCA_WIFI_3_0_ADRASTEA
924CDEFINES += -DADRASTEA_SHADOW_REGISTERS
Sanjay Devnanicdab59e2015-11-12 14:43:58 -0800925CDEFINES += -DADRASTEA_RRI_ON_DDR
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800926endif
927
Manikandan Mohanfba8e0d2015-11-18 16:27:37 -0800928ifneq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS) $(CONFIG_CNSS_ADRASTEA)))
929CDEFINES += -DQCA_WIFI_2_0
930endif
931
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800932ifeq ($(CONFIG_WLAN_FASTPATH), y)
933CDEFINES += -DWLAN_FEATURE_FASTPATH
934endif
935
936ifeq ($(CONFIG_WLAN_NAPI), y)
937CDEFINES += -DFEATURE_NAPI
938ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y)
939CDEFINES += -DFEATURE_NAPI_DEBUG
940endif
941endif
942
943ifeq ($(CONFIG_FEATURE_BMI_2), y)
944CDEFINES += -DFEATURE_BMI_2
945endif
946
947ifeq ($(CONFIG_ARCH_MSM), y)
948CDEFINES += -DMSM_PLATFORM
949endif
950
951CDEFINES += -DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
952
953ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
954CDEFINES += -DQCA_LL_TX_FLOW_CONTROL_V2
955CDEFINES += -DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL
956else
957ifeq ($(CONFIG_ROME_IF),pci)
958CDEFINES += -DQCA_LL_LEGACY_TX_FLOW_CONTROL
959endif
960endif
961
962ifeq ($(CONFIG_DEBUG_LL),y)
963CDEFINES += -DQCA_PKT_PROTO_TRACE
964endif
965
966ifneq ($(CONFIG_QCA_CLD_WLAN),)
967CDEFINES += -DWCN_PRONTO
968CDEFINES += -DWCN_PRONTO_V1
969endif
970
971ifeq ($(BUILD_DEBUG_VERSION),1)
972CDEFINES += -DWLAN_DEBUG \
973 -DTRACE_RECORD \
974 -DLIM_TRACE_RECORD \
975 -DSME_TRACE_RECORD \
976 -DHDD_TRACE_RECORD \
977 -DPE_DEBUG_LOGW \
978 -DPE_DEBUG_LOGE \
979 -DDEBUG
980endif
981
982ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
983CDEFINES += -DTIMER_MANAGER
984CDEFINES += -DMEMORY_DEBUG
985endif
986
987ifeq ($(HAVE_CFG80211),1)
988CDEFINES += -DWLAN_FEATURE_P2P
989CDEFINES += -DWLAN_FEATURE_WFD
990ifeq ($(CONFIG_QCOM_VOWIFI_11R),y)
991CDEFINES += -DKERNEL_SUPPORT_11R_CFG80211
992CDEFINES += -DUSE_80211_WMMTSPEC_FOR_RIC
993endif
994endif
995
996ifeq ($(CONFIG_QCOM_ESE),y)
997CDEFINES += -DFEATURE_WLAN_ESE
998CDEFINES += -DQCA_COMPUTE_TX_DELAY
999CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001000endif
1001
1002#normally, TDLS negative behavior is not needed
1003ifeq ($(CONFIG_QCOM_TDLS),y)
1004CDEFINES += -DFEATURE_WLAN_TDLS
1005endif
1006
1007ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y)
1008CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD
1009endif
1010
1011ifeq ($(CONFIG_PRIMA_WLAN_OKC),y)
1012CDEFINES += -DFEATURE_WLAN_OKC
1013endif
1014
1015ifeq ($(CONFIG_PRIMA_WLAN_11AC_HIGH_TP),y)
1016CDEFINES += -DWLAN_FEATURE_11AC_HIGH_TP
1017endif
1018
1019ifeq ($(BUILD_DIAG_VERSION),1)
1020CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT
1021CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_CSR
1022CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_LIM
1023ifeq ($(CONFIG_HIF_PCI), 1)
1024CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1025endif
1026endif
1027
1028ifeq ($(CONFIG_HIF_USB), 1)
1029CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1030CDEFINES += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT
1031CDEFINES += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0
1032CDEFINES += -DQCA_TX_HTT2_SUPPORT
1033endif
1034
1035# enable the MAC Address auto-generation feature
1036CDEFINES += -DWLAN_AUTOGEN_MACADDR_FEATURE
1037
1038ifeq ($(CONFIG_WLAN_FEATURE_11W),y)
1039CDEFINES += -DWLAN_FEATURE_11W
1040endif
1041
1042ifeq ($(CONFIG_QCOM_LTE_COEX),y)
1043CDEFINES += -DFEATURE_WLAN_CH_AVOID
1044endif
1045
1046ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y)
1047CDEFINES += -DWLAN_FEATURE_LPSS
1048endif
1049
1050ifeq ($(PANIC_ON_BUG),1)
1051CDEFINES += -DPANIC_ON_BUG
1052endif
1053
1054ifeq ($(WLAN_OPEN_SOURCE), 1)
1055CDEFINES += -DWLAN_OPEN_SOURCE
1056endif
1057
1058ifeq ($(CONFIG_FEATURE_STATS_EXT), 1)
1059CDEFINES += -DWLAN_FEATURE_STATS_EXT
1060endif
1061
1062ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
1063CDEFINES += -DWLAN_FEATURE_NAN
1064endif
1065
1066ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1)
1067CDEFINES += -DQCA_IBSS_SUPPORT
1068endif
1069
1070#Enable OL debug and wmi unified functions
1071ifeq ($(CONFIG_ATH_PERF_PWR_OFFLOAD), 1)
1072CDEFINES += -DATH_PERF_PWR_OFFLOAD
1073endif
1074
1075#Disable packet log
1076ifeq ($(CONFIG_REMOVE_PKT_LOG), 1)
1077CDEFINES += -DREMOVE_PKT_LOG
1078endif
1079
1080#Enable 11AC TX
1081ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1)
1082CDEFINES += -DATH_11AC_TXCOMPACT
1083endif
1084
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001085#Enable OS specific IRQ abstraction
1086ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
1087CDEFINES += -DATH_SUPPORT_SHARED_IRQ
1088endif
1089
1090#Enable message based HIF instead of RAW access in BMI
1091ifeq ($(CONFIG_HIF_MESSAGE_BASED), 1)
1092CDEFINES += -DHIF_MESSAGE_BASED
1093endif
1094
1095#Enable PCI specific APIS (dma, etc)
1096ifeq ($(CONFIG_HIF_PCI), 1)
1097CDEFINES += -DHIF_PCI
1098endif
1099
Houston Hoffman1edffd32016-01-27 16:30:34 -08001100ifeq ($(CONFIG_HIF_SNOC), 1)
1101CDEFINES += -DHIF_SNOC
1102endif
1103
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001104#Enable USB specific APIS
1105ifeq ($(CONFIG_HIF_USB), 1)
1106CDEFINES += -DHIF_USB
1107CDEFINES += -DCONFIG_HL_SUPPORT
1108endif
1109
1110#Enable FW logs through ini
1111CDEFINES += -DCONFIG_FW_LOGS_BASED_ON_INI
1112
1113#Enable pci read/write config functions
1114ifeq ($(CONFIG_ATH_PCI), 1)
1115CDEFINES += -DATH_PCI
1116endif
1117
1118#Enable power management suspend/resume functionality
1119ifeq ($(CONFIG_ATH_BUS_PM), 1)
1120CDEFINES += -DATH_BUS_PM
1121endif
1122
1123#Enable FLOWMAC module support
1124ifeq ($(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE), 1)
1125CDEFINES += -DATH_SUPPORT_FLOWMAC_MODULE
1126endif
1127
1128#Enable spectral support
1129ifeq ($(CONFIG_ATH_SUPPORT_SPECTRAL), 1)
1130CDEFINES += -DATH_SUPPORT_SPECTRAL
1131endif
1132
1133#Enable WDI Event support
1134ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1)
1135CDEFINES += -DWDI_EVENT_ENABLE
1136endif
1137
1138#Endianess selection
1139ifeq ($(CONFIG_LITTLE_ENDIAN), 1)
1140AH_LITTLE_ENDIAN=1234
1141CDEFINES += -DAH_BYTE_ORDER=$(AH_LITTLE_ENDIAN)
1142else
1143AH_BIG_ENDIAN=4321
1144CDEFINES += -DAH_BYTE_ORDER=$(AH_BIG_ENDIAN)
1145CDEFINES += -DBIG_ENDIAN_HOST
1146endif
1147
1148#Enable TX reclaim support
1149ifeq ($(CONFIG_TX_CREDIT_RECLAIM_SUPPORT), 1)
1150CDEFINES += -DTX_CREDIT_RECLAIM_SUPPORT
1151endif
1152
1153#Enable FTM support
1154ifeq ($(CONFIG_QCA_WIFI_FTM), 1)
1155CDEFINES += -DQCA_WIFI_FTM
1156endif
1157
1158#Enable Checksum Offload support
1159ifeq ($(CONFIG_CHECKSUM_OFFLOAD), 1)
1160CDEFINES += -DCHECKSUM_OFFLOAD
1161endif
1162
1163#Enable Checksum Offload support
1164ifeq ($(CONFIG_IPA_OFFLOAD), 1)
1165CDEFINES += -DIPA_OFFLOAD
1166endif
1167
1168ifneq ($(CONFIG_ARCH_MDM9630), y)
1169ifeq ($(CONFIG_ARCH_MDM9640), y)
1170CDEFINES += -DQCA_CONFIG_SMP
1171endif
1172endif
1173
1174#Enable GTK Offload
1175ifeq ($(CONFIG_GTK_OFFLOAD), 1)
1176CDEFINES += -DWLAN_FEATURE_GTK_OFFLOAD
1177CDEFINES += -DIGTK_OFFLOAD
1178endif
1179
1180#Enable GTK Offload
1181ifeq ($(CONFIG_EXT_WOW), 1)
1182CDEFINES += -DWLAN_FEATURE_EXTWOW_SUPPORT
1183endif
1184
1185#Mark it as SMP Kernel
1186ifeq ($(CONFIG_SMP),y)
1187CDEFINES += -DQCA_CONFIG_SMP
1188endif
1189
1190ifeq ($(CONFIG_WLAN_FEATURE_RX_WAKELOCK), y)
1191CDEFINES += -DWLAN_FEATURE_HOLD_RX_WAKELOCK
1192endif
1193
Sandeep Puligilla2111d3c2016-02-03 01:46:15 -08001194#Enable Channel Matrix restriction for all Rome only targets
1195ifneq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001196CDEFINES += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION
Sandeep Puligilla2111d3c2016-02-03 01:46:15 -08001197endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001198
1199#features specific to mobile router use case
1200ifeq ($(CONFIG_MOBILE_ROUTER), y)
1201
1202#enable MCC TO SCC switch
1203CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
1204
1205#enable wlan auto shutdown feature
1206CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN
1207
1208#enable for MBSSID
1209CDEFINES += -DWLAN_FEATURE_MBSSID
1210
1211#enable AP-AP ACS Optimization
1212CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
1213
1214#Enable 4address scheme
1215CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME
1216
1217#Disable STA-AP Mode DFS support
1218CDEFINES += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE
1219
1220#Enable OBSS feature
1221CDEFINES += -DQCA_HT_2040_COEX
1222
1223#Disable HT40 in 2.4GHZ STA mode
1224CDEFINES += -DQCA_HT_20_24G_STA_ONLY
1225
1226else #CONFIG_MOBILE_ROUTER
1227
1228#Open P2P device interface only for non-Mobile router use cases
1229CDEFINES += -DWLAN_OPEN_P2P_INTERFACE
1230
1231#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage
1232CDEFINES += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY
1233
1234endif #CONFIG_MOBILE_ROUTER
1235
1236#Green AP feature
1237ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
1238CDEFINES += -DFEATURE_GREEN_AP
1239endif
1240
1241#Enable RX Full re-order OL feature only "LL and NON-MDM9630 platform"
1242ifneq ($(CONFIG_ARCH_MDM9630), y)
1243ifeq ($(CONFIG_HIF_PCI), 1)
1244CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
1245endif
1246endif
1247
1248#Enable Signed firmware support for split binary format
1249ifeq ($(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT), 1)
1250CDEFINES += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT
1251endif
1252
1253#Enable single firmware binary format
1254ifeq ($(CONFIG_QCA_SINGLE_BINARY_SUPPORT), 1)
1255CDEFINES += -DQCA_SINGLE_BINARY_SUPPORT
1256endif
1257
1258#Enable collecting target RAM dump after kernel panic
1259ifeq ($(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC), 1)
1260CDEFINES += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC
1261endif
1262
1263#Enable/disable secure firmware feature
1264ifeq ($(CONFIG_FEATURE_SECURE_FIRMWARE), 1)
1265CDEFINES += -DFEATURE_SECURE_FIRMWARE
1266endif
1267
1268ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1)
1269CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
1270endif
1271
1272# Some kernel include files are being moved. Check to see if
1273# the old version of the files are present
1274
1275ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smd.h),)
1276CDEFINES += -DEXISTS_MSM_SMD
1277endif
1278
1279ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smsm.h),)
1280CDEFINES += -DEXISTS_MSM_SMSM
1281endif
1282
1283# Enable feature support fo Linux version QCMBR
1284ifeq ($(CONFIG_LINUX_QCMBR),y)
1285CDEFINES += -DLINUX_QCMBR
1286endif
1287
Rajeev Kumare0fd9dd2015-11-16 13:33:07 -08001288
1289# Enable full rx re-order offload for adrastea
1290ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1291CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
1292endif
1293
Rajeev Kumar321a19a2015-12-08 12:54:46 -08001294# Enable athdiag procfs debug support for adrastea
1295ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1296CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1297endif
1298
Rajeev Kumar9c4809e2016-01-13 18:32:40 -08001299# Enable 11AC TX compact feature for adrastea
1300ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1301CDEFINES += -DATH_11AC_TXCOMPACT
1302endif
1303
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001304# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
1305ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
1306CONFIG_HELIUMPLUS := y
1307CONFIG_64BIT_PADDR := y
1308CONFIG_FEATURE_TSO := y
1309CONFIG_FEATURE_TSO_DEBUG := y
1310ifeq ($(CONFIG_HELIUMPLUS),y)
1311CDEFINES += -DHELIUMPLUS_PADDR64
1312CDEFINES += -DHELIUMPLUS
Dhanashri Atre48c2ae62015-12-15 18:07:10 -08001313CDEFINES += -DAR900B
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001314ifeq ($(CONFIG_64BIT_PADDR),y)
1315CDEFINES += -DHTT_PADDR64
1316endif
1317endif
1318endif
1319
1320ifeq ($(CONFIG_FEATURE_TSO),y)
1321CDEFINES += -DFEATURE_TSO
1322endif
1323ifeq ($(CONFIG_FEATURE_TSO_DEBUG),y)
1324CDEFINES += -DFEATURE_TSO_DEBUG
1325endif
1326
1327ifeq ($(CONFIG_WLAN_LRO), y)
1328CDEFINES += -DFEATURE_LRO
1329endif
1330
1331ifeq ($(CONFIG_MOBILE_ROUTER), y)
1332CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
1333endif
1334
1335ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
1336CDEFINES += -DMPC_UT_FRAMEWORK
1337endif
1338
1339ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y)
1340CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS
1341endif
1342
1343ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
1344CDEFINES += -DWLAN_FEATURE_MEMDUMP
1345endif
1346
Ravi Joshi61c3c7a2015-11-09 18:41:20 -08001347ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
1348CDEFINES += -DFEATURE_LFR_SUBNET_DETECTION
1349endif
1350
Chandrasekaran Manishekar068e25e2016-03-07 11:51:07 +05301351ifeq ($(CONFIG_MCC_TO_SCC_SWITCH), y)
1352CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
1353endif
1354
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001355KBUILD_CPPFLAGS += $(CDEFINES)
1356
1357# Currently, for versions of gcc which support it, the kernel Makefile
1358# is disabling the maybe-uninitialized warning. Re-enable it for the
1359# WLAN driver. Note that we must use EXTRA_CFLAGS here so that it
1360# will override the kernel settings.
1361ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
1362EXTRA_CFLAGS += -Wmaybe-uninitialized
1363endif
1364
1365# Module information used by KBuild framework
1366obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
1367$(MODNAME)-y := $(OBJS)
Prashanth Bhatta7e58dd32016-02-16 15:46:46 -08001368