blob: 0ad05d87faa4268d4688ec784419b6b578f0e7d9 [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
21endif
22
23# Make WLAN as open-source driver by default
24WLAN_OPEN_SOURCE := 1
25
26ifeq ($(KERNEL_BUILD), 0)
27 # These are configurable via Kconfig for kernel-based builds
28 # Need to explicitly configure for Android-based builds
29
30 ifeq ($(CONFIG_ARCH_MDM9630), y)
31 CONFIG_MOBILE_ROUTER := y
32 endif
33
34 ifeq ($(CONFIG_ARCH_MDM9640), y)
35 CONFIG_MOBILE_ROUTER := y
36 endif
37
38 #Flag to enable Legacy Fast Roaming3(LFR3)
39 CONFIG_QCACLD_WLAN_LFR3 := y
40
41 #JB kernel has PMKSA patches, hence enabling this flag
42 CONFIG_PRIMA_WLAN_OKC := y
43
44 # JB kernel has CPU enablement patches, so enable
45 ifeq ($(CONFIG_ROME_IF),pci)
46 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := y
47 endif
48 ifeq ($(CONFIG_ROME_IF),usb)
49 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
50 endif
51 ifeq ($(CONFIG_ROME_IF),sdio)
52 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
53 endif
54
55 ifneq ($(CONFIG_MOBILE_ROUTER), y)
56 #Flag to enable TDLS feature
57 CONFIG_QCOM_TDLS := y
58 endif
59
60 ifeq ($(CONFIG_MOBILE_ROUTER), y)
61 CONFIG_QCACLD_FEATURE_GREEN_AP := y
62 endif
63
64 #Flag to enable Fast Transition (11r) feature
65 CONFIG_QCOM_VOWIFI_11R := y
66
67 ifneq ($(CONFIG_QCA_CLD_WLAN),)
68 ifeq ($(CONFIG_CNSS),y)
69 #Flag to enable Protected Managment Frames (11w) feature
70 CONFIG_WLAN_FEATURE_11W := y
71 #Flag to enable LTE CoEx feature
72 CONFIG_QCOM_LTE_COEX := y
73 ifneq ($(CONFIG_MOBILE_ROUTER), y)
74 #Flag to enable LPSS feature
75 CONFIG_WLAN_FEATURE_LPSS := y
76 endif
77 endif
78 endif
79
80
81 #Flag to enable Protected Managment Frames (11w) feature
82 ifeq ($(CONFIG_ROME_IF),usb)
83 CONFIG_WLAN_FEATURE_11W := y
84 endif
85 ifeq ($(CONFIG_ROME_IF),sdio)
86 CONFIG_WLAN_FEATURE_11W := y
87 endif
88
89 ifneq ($(CONFIG_MOBILE_ROUTER), y)
90 #Flag to enable NAN
91 CONFIG_QCACLD_FEATURE_NAN := y
92 endif
93
94 #Flag to enable Linux QCMBR feature as default feature
95 ifeq ($(CONFIG_ROME_IF),usb)
96 CONFIG_LINUX_QCMBR :=y
97 endif
98
99 ifeq ($(CONFIG_CNSS_EOS),y)
100 CONFIG_FEATURE_BMI_2 :=y
101 endif
102
103 CONFIG_MPC_UT_FRAMEWORK := y
104
105 #Flag to enable offload packets feature
106 CONFIG_WLAN_OFFLOAD_PACKETS := y
107
108 #Flag to enable memdump feature
109 CONFIG_WLAN_FEATURE_MEMDUMP := y
110
111 #Flag to enable Fast Path feature
112 CONFIG_WLAN_FASTPATH := y
113
114 # Flag to enable NAPI
115 CONFIG_WLAN_NAPI := y
116 CONFIG_WLAN_NAPI_DEBUG := n
117
118 # Flag to enable FW based TX Flow control
119 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
120
121 # Flag to enable LRO (Large Receive Offload)
122 ifeq ($(CONFIG_CNSS_EOS), y)
123 ifeq ($(CONFIG_INET_LRO), y)
124 CONFIG_WLAN_LRO := y
125 else
126 CONFIG_WLAN_LRO := n
127 endif
128 endif
129endif
130
131ifneq ($(CONFIG_MOBILE_ROUTER), y)
132# To enable ESE upload, dependent config
133# CONFIG_QCOM_ESE must be enabled.
134CONFIG_QCOM_ESE := y
135CONFIG_QCOM_ESE_UPLOAD := y
136endif
137
138# Feature flags which are not (currently) configurable via Kconfig
139
140#Whether to build debug version
141BUILD_DEBUG_VERSION := 1
142
143#Enable this flag to build driver in diag version
144BUILD_DIAG_VERSION := 1
145
146#Do we panic on bug? default is to warn
147PANIC_ON_BUG := 1
148
149#Enable OL debug and wmi unified functions
150CONFIG_ATH_PERF_PWR_OFFLOAD := 1
151
152#Disable packet log
153CONFIG_REMOVE_PKT_LOG := 0
154
155#Enable 11AC TX
156ifeq ($(CONFIG_ROME_IF),pci)
157 CONFIG_ATH_11AC_TXCOMPACT := 1
158endif
159ifeq ($(CONFIG_ROME_IF),usb)
160 CONFIG_ATH_11AC_TXCOMPACT := 0
161endif
162
163#Enable per vdev Tx desc pool
164ifeq ($(CONFIG_ROME_IF),pci)
165 CONFIG_PER_VDEV_TX_DESC_POOL := 0
166endif
167ifeq ($(CONFIG_ROME_IF),usb)
168 CONFIG_PER_VDEV_TX_DESC_POOL := 1
169endif
170
171
172#Enable OS specific IRQ abstraction
173CONFIG_ATH_SUPPORT_SHARED_IRQ := 1
174
175#Enable message based HIF instead of RAW access in BMI
176ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
177CONFIG_HIF_MESSAGE_BASED := 0
178else
179CONFIG_HIF_MESSAGE_BASED := 1
180endif
181
182#Enable PCI specific APIS (dma, etc)
183ifeq ($(CONFIG_ROME_IF),pci)
184 CONFIG_HIF_PCI := 1
185endif
186
187#Enable pci read/write config functions
188ifeq ($(CONFIG_ROME_IF),pci)
189 CONFIG_ATH_PCI := 1
190endif
191ifeq ($(CONFIG_ROME_IF),usb)
192#CONFIG_ATH_PCI := 1
193endif
194
195ifneq ($(CONFIG_MOBILE_ROUTER), y)
196#Enable IBSS support on CLD
197CONFIG_QCA_IBSS_SUPPORT := 1
198endif
199
200#Enable power management suspend/resume functionality to PCI
201CONFIG_ATH_BUS_PM := 1
202
203#Enable FLOWMAC module support
204CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := 0
205
206#Enable spectral support
207CONFIG_ATH_SUPPORT_SPECTRAL := 0
208
209#Enable HOST statistics support
210CONFIG_SUPPORT_HOST_STATISTICS := 0
211
212#Enable WDI Event support
213CONFIG_WDI_EVENT_ENABLE := 1
214
215#Endianess selection
216CONFIG_LITTLE_ENDIAN := 1
217
218#Enable TX reclaim support
219CONFIG_TX_CREDIT_RECLAIM_SUPPORT := 0
220
221#Enable FTM support
222CONFIG_QCA_WIFI_FTM := 1
223
224#Enable Checksum Offload
225CONFIG_CHECKSUM_OFFLOAD := 1
226
227#Enable GTK offload
228CONFIG_GTK_OFFLOAD := 1
229
230#Enable EXT WOW
231ifeq ($(CONFIG_ROME_IF),pci)
232 CONFIG_EXT_WOW := 1
233endif
234
235#Set this to 1 to catch erroneous Target accesses during debug.
236CONFIG_ATH_PCIE_ACCESS_DEBUG := 0
237
238#Enable IPA offload
239ifeq ($(CONFIG_IPA), y)
240CONFIG_IPA_OFFLOAD := 1
241endif
242
243#Enable Signed firmware support for split binary format
244CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := 0
245
246#Enable single firmware binary format
247CONFIG_QCA_SINGLE_BINARY_SUPPORT := 0
248
249#Enable collecting target RAM dump after kernel panic
250CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := 1
251
252#Flag to enable/disable secure firmware feature
253CONFIG_FEATURE_SECURE_FIRMWARE := 0
254
255#Flag to enable Stats Ext implementation
256CONFIG_FEATURE_STATS_EXT := 1
257
258#Flag to force the inclusion of the 802.11p channels because support
259#for these channels has not yet been added to the kernel.
260CONFIG_STATICALLY_ADD_11P_CHANNELS := n
261
262ifeq ($(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 \
299 $(HDD_SRC_DIR)/wlan_hdd_scan.o \
300 $(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
301 $(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
302 $(HDD_SRC_DIR)/wlan_hdd_trace.o \
303 $(HDD_SRC_DIR)/wlan_hdd_wext.o \
304 $(HDD_SRC_DIR)/wlan_hdd_wmm.o \
305 $(HDD_SRC_DIR)/wlan_hdd_wowl.o
306
307ifeq ($(CONFIG_WLAN_LRO), y)
308HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_lro.o
309endif
310
311ifeq ($(CONFIG_WLAN_NAPI), y)
312HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_napi.o
313endif
314
315ifeq ($(CONFIG_IPA_OFFLOAD), 1)
316HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ipa.o
317endif
318
319ifeq ($(HAVE_CFG80211),1)
320HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
321 $(HDD_SRC_DIR)/wlan_hdd_ext_scan.o \
322 $(HDD_SRC_DIR)/wlan_hdd_stats.o \
323 $(HDD_SRC_DIR)/wlan_hdd_p2p.o
324endif
325
326ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
327HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_green_ap.o
328endif
329
330ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
331HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan.o
332endif
333
334ifeq ($(CONFIG_QCOM_TDLS),y)
335HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tdls.o
336endif
337
338ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
339HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_conc_ut.o
340endif
341
342ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
343HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
344endif
345
346########### HOST DIAG LOG ###########
347HOST_DIAG_LOG_DIR := core/utils/host_diag_log
348
349HOST_DIAG_LOG_INC_DIR := $(HOST_DIAG_LOG_DIR)/inc
350HOST_DIAG_LOG_SRC_DIR := $(HOST_DIAG_LOG_DIR)/src
351
352HOST_DIAG_LOG_INC := -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \
353 -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR)
354
355HOST_DIAG_LOG_OBJS += $(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o
356
357############ EPPING ############
358EPPING_DIR := core/utils/epping
359EPPING_INC_DIR := $(EPPING_DIR)/inc
360EPPING_SRC_DIR := $(EPPING_DIR)/src
361
362EPPING_INC := -I$(WLAN_ROOT)/$(EPPING_INC_DIR)
363
364EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
365 $(EPPING_SRC_DIR)/epping_txrx.o \
366 $(EPPING_SRC_DIR)/epping_tx.o \
367 $(EPPING_SRC_DIR)/epping_rx.o \
368 $(EPPING_SRC_DIR)/epping_helper.o \
369
370
371############ MAC ############
372MAC_DIR := core/mac
373MAC_INC_DIR := $(MAC_DIR)/inc
374MAC_SRC_DIR := $(MAC_DIR)/src
375
376MAC_INC := -I$(WLAN_ROOT)/$(MAC_INC_DIR) \
377 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \
378 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \
379 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \
380 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim
381
382MAC_CFG_OBJS := $(MAC_SRC_DIR)/cfg/cfg_api.o \
383 $(MAC_SRC_DIR)/cfg/cfg_debug.o \
384 $(MAC_SRC_DIR)/cfg/cfg_param_name.o \
385 $(MAC_SRC_DIR)/cfg/cfg_proc_msg.o \
386 $(MAC_SRC_DIR)/cfg/cfg_send_msg.o
387
388MAC_DPH_OBJS := $(MAC_SRC_DIR)/dph/dph_hash_table.o
389
390MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \
391 $(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \
392 $(MAC_SRC_DIR)/pe/lim/lim_api.o \
393 $(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \
394 $(MAC_SRC_DIR)/pe/lim/lim_debug.o \
395 $(MAC_SRC_DIR)/pe/lim/lim_ft.o \
396 $(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o \
397 $(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \
398 $(MAC_SRC_DIR)/pe/lim/lim_p2p.o \
399 $(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \
400 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \
401 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \
402 $(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \
403 $(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \
404 $(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \
405 $(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \
406 $(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \
407 $(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \
408 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \
409 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \
410 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \
411 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \
412 $(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \
413 $(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \
414 $(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \
415 $(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \
416 $(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \
417 $(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \
418 $(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \
419 $(MAC_SRC_DIR)/pe/lim/lim_ser_des_utils.o \
420 $(MAC_SRC_DIR)/pe/lim/lim_session.o \
421 $(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \
422 $(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \
423 $(MAC_SRC_DIR)/pe/lim/lim_sta_hash_api.o \
424 $(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \
425 $(MAC_SRC_DIR)/pe/lim/lim_trace.o \
426 $(MAC_SRC_DIR)/pe/lim/lim_utils.o
427
428ifeq ($(CONFIG_QCOM_ESE),y)
429ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y)
430MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/limProcessEseFrame.o
431endif
432endif
433
434ifeq ($(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
500ifeq ($(CONFIG_QCOM_ESE),y)
501ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y)
502SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csrEse.o
503endif
504endif
505
506ifeq ($(CONFIG_QCOM_TDLS),y)
507SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_tdls_process.o
508endif
509
510SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o
511
512SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \
513 $(SME_SRC_DIR)/common/sme_ft_api.o \
514 $(SME_SRC_DIR)/common/sme_power_save.o \
515 $(SME_SRC_DIR)/common/sme_trace.o
516
517SME_OEM_DATA_OBJS := $(SME_SRC_DIR)/oem_data/oem_data_api.o
518
519SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_api.o
520
521SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
522
523ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
524SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_api.o
525endif
526
527SME_OBJS := $(SME_CMN_OBJS) \
528 $(SME_CSR_OBJS) \
529 $(SME_OEM_DATA_OBJS) \
530 $(SME_P2P_OBJS) \
531 $(SME_QOS_OBJS) \
532 $(SME_RRM_OBJS) \
533 $(SME_NAN_OBJS)
534
535############ NLINK ############
536NLINK_DIR := core/utils/nlink
537NLINK_INC_DIR := $(NLINK_DIR)/inc
538NLINK_SRC_DIR := $(NLINK_DIR)/src
539
540NLINK_INC := -I$(WLAN_ROOT)/$(NLINK_INC_DIR)
541NLINK_OBJS := $(NLINK_SRC_DIR)/wlan_nlink_srv.o
542
543############ PTT ############
544PTT_DIR := core/utils/ptt
545PTT_INC_DIR := $(PTT_DIR)/inc
546PTT_SRC_DIR := $(PTT_DIR)/src
547
548PTT_INC := -I$(WLAN_ROOT)/$(PTT_INC_DIR)
549PTT_OBJS := $(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
550
551############ WLAN_LOGGING ############
552WLAN_LOGGING_DIR := core/utils/logging
553WLAN_LOGGING_INC_DIR := $(WLAN_LOGGING_DIR)/inc
554WLAN_LOGGING_SRC_DIR := $(WLAN_LOGGING_DIR)/src
555
556WLAN_LOGGING_INC := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR)
557WLAN_LOGGING_OBJS := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o
558
559############ SYS ############
560SYS_DIR := core/mac/src/sys
561
562SYS_INC := -I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \
563 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \
564 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \
565 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc
566
567SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src
568SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src
569SYS_OBJS := $(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \
570 $(SYS_LEGACY_SRC_DIR)/platform/src/sys_wrapper.o \
571 $(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \
572 $(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \
573 $(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
574 $(SYS_LEGACY_SRC_DIR)/utils/src/log_api.o \
575 $(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \
576 $(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \
577 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_api.o \
578 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o
579
580############ CDF (Connectivity driver framework) ############
581CDF_DIR := core/cdf
582CDF_INC_DIR := $(CDF_DIR)/inc
583CDF_SRC_DIR := $(CDF_DIR)/src
584
585CDF_INC := -I$(WLAN_ROOT)/$(CDF_INC_DIR) \
586 -I$(WLAN_ROOT)/$(CDF_SRC_DIR)
587
588CDF_OBJS := $(CDF_SRC_DIR)/cdf_event.o \
589 $(CDF_SRC_DIR)/cdf_list.o \
590 $(CDF_SRC_DIR)/cdf_lock.o \
591 $(CDF_SRC_DIR)/cdf_memory.o \
592 $(CDF_SRC_DIR)/cdf_threads.o \
593 $(CDF_SRC_DIR)/cdf_mc_timer.o \
594 $(CDF_SRC_DIR)/cdf_trace.o \
595 $(CDF_SRC_DIR)/cdf_nbuf.o \
596 $(CDF_SRC_DIR)/cdf_defer.o
597
598############ CDS (Connectivity driver services) ############
599CDS_DIR := core/cds
600CDS_INC_DIR := $(CDS_DIR)/inc
601CDS_SRC_DIR := $(CDS_DIR)/src
602
603CDS_INC := -I$(WLAN_ROOT)/$(CDS_INC_DIR) \
604 -I$(WLAN_ROOT)/$(CDS_SRC_DIR)
605
606CDS_OBJS := $(CDS_SRC_DIR)/cds_api.o \
607 $(CDS_SRC_DIR)/cds_get_bin.o \
608 $(CDS_SRC_DIR)/cds_reg_service.o \
609 $(CDS_SRC_DIR)/cds_mq.o \
610 $(CDS_SRC_DIR)/cds_packet.o \
611 $(CDS_SRC_DIR)/cds_regdomain.o \
612 $(CDS_SRC_DIR)/cds_sched.o \
613 $(CDS_SRC_DIR)/cds_concurrency.o \
614 $(CDS_SRC_DIR)/cds_utils.o
615
616
617########### BMI ###########
618BMI_DIR := core/bmi
619
620BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc
621
622ifneq ($(CONFIG_ICNSS), y)
623BMI_OBJS := $(BMI_DIR)/src/bmi.o \
624 $(BMI_DIR)/src/ol_fw.o
625ifeq ($(CONFIG_FEATURE_BMI_2), y)
626BMI_OBJS += $(BMI_DIR)/src/bmi_2.o
627else
628BMI_OBJS += $(BMI_DIR)/src/bmi_1.o
629endif
630endif
631########### WMI ###########
632WMI_DIR := core/wmi
633
634WMI_INC := -I$(WLAN_ROOT)/$(WMI_DIR)
635
636WMI_OBJS := $(WMI_DIR)/wmi_unified.o \
637 $(WMI_DIR)/wmi_tlv_helper.o
638
639########### FWLOG ###########
640FWLOG_DIR := core/utils/fwlog
641
642FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR)
643
644FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o
645
646############ TXRX ############
647TXRX_DIR := core/dp/txrx
648TXRX_INC := -I$(WLAN_ROOT)/$(TXRX_DIR)
649
650TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \
651 $(TXRX_DIR)/ol_cfg.o \
652 $(TXRX_DIR)/ol_rx.o \
653 $(TXRX_DIR)/ol_rx_fwd.o \
654 $(TXRX_DIR)/ol_txrx.o \
655 $(TXRX_DIR)/ol_rx_defrag.o \
656 $(TXRX_DIR)/ol_tx_desc.o \
657 $(TXRX_DIR)/ol_tx.o \
658 $(TXRX_DIR)/ol_rx_reorder_timeout.o \
659 $(TXRX_DIR)/ol_rx_reorder.o \
660 $(TXRX_DIR)/ol_rx_pn.o \
661 $(TXRX_DIR)/ol_tx_queue.o \
662 $(TXRX_DIR)/ol_txrx_peer_find.o \
663 $(TXRX_DIR)/ol_txrx_event.o \
664 $(TXRX_DIR)/ol_txrx_encap.o \
665 $(TXRX_DIR)/ol_tx_send.o
666
667ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
668TXRX_OBJS += $(TXRX_DIR)/ol_txrx_flow_control.o
669endif
670
671############ OL ############
672OL_DIR := core/dp/ol
673OL_INC := -I$(WLAN_ROOT)/$(OL_DIR)/inc
674
675############ PKTLOG ############
676PKTLOG_DIR := core/utils/pktlog
677PKTLOG_INC := -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include
678
679PKTLOG_OBJS := $(PKTLOG_DIR)/pktlog_ac.o \
680 $(PKTLOG_DIR)/pktlog_internal.o \
681 $(PKTLOG_DIR)/linux_ac.o
682
683############ HTT ############
684HTT_DIR := core/dp/htt
685HTT_INC := -I$(WLAN_ROOT)/$(HTT_DIR)
686
687HTT_OBJS := $(HTT_DIR)/htt_tx.o \
688 $(HTT_DIR)/htt.o \
689 $(HTT_DIR)/htt_t2h.o \
690 $(HTT_DIR)/htt_h2t.o \
691 $(HTT_DIR)/htt_fw_stats.o \
692 $(HTT_DIR)/htt_rx.o
693
694############## HTC ##########
695HTC_DIR := core/htc
696HTC_INC := -I$(WLAN_ROOT)/$(HTC_DIR)
697
698HTC_OBJS := $(HTC_DIR)/htc.o \
699 $(HTC_DIR)/htc_send.o \
700 $(HTC_DIR)/htc_recv.o \
701 $(HTC_DIR)/htc_services.o
702
703########### HIF ###########
704HIF_DIR := core/hif
705HIF_CE_DIR := $(HIF_DIR)/src/ce
706HIF_CNSS_STUB_DIR := $(HIF_DIR)/src/icnss_stub
707
708ifeq ($(CONFIG_HIF_PCI), 1)
709HIF_PCIE_DIR := $(HIF_DIR)/src/pcie
710else
711HIF_SNOC_DIR := $(HIF_DIR)/src/snoc
712endif
713
714HIF_INC := -I$(WLAN_ROOT)/$(HIF_DIR)/inc \
715 -I$(WLAN_ROOT)/$(HIF_DIR)/src \
716 -I$(WLAN_ROOT)/$(HIF_CE_DIR) \
717 -I$(WLAN_ROOT)/$(HIF_CNSS_STUB_DIR)
718
719ifeq ($(CONFIG_HIF_PCI), 1)
720HIF_INC += -I$(WLAN_ROOT)/$(HIF_PCIE_DIR)
721else
722HIF_INC += -I$(WLAN_ROOT)/$(HIF_SNOC_DIR)
723endif
724
725HIF_OBJS := $(HIF_DIR)/src/ath_procfs.o \
726 $(HIF_CE_DIR)/ce_diag.o \
727 $(HIF_CE_DIR)/ce_main.o \
728 $(HIF_CE_DIR)/ce_service.o \
729 $(HIF_CE_DIR)/ce_tasklet.o \
730 $(HIF_DIR)/src/hif_main.o \
731 $(HIF_DIR)/src/mp_dev.o \
732 $(HIF_DIR)/src/regtable.o
733
734ifeq ($(CONFIG_CNSS), y)
735HIF_OBJS += $(HIF_CNSS_STUB_DIR)/icnss_stub.o \
736 $(HIF_CE_DIR)/ce_bmi.o
737endif
738
739ifeq ($(CONFIG_WLAN_NAPI), y)
740HIF_OBJS += $(HIF_DIR)/src/hif_napi.o
741endif
742
743ifeq ($(CONFIG_HIF_PCI), 1)
744HIF_PCIE_OBJS := $(HIF_PCIE_DIR)/if_pci.o
745
746HIF_OBJS += $(HIF_PCIE_OBJS)
747else
748HIF_SNOC_OBJS := $(HIF_SNOC_DIR)/if_snoc.o
749
750HIF_OBJS += $(HIF_SNOC_OBJS)
751endif
752
753############ WMA ############
754WMA_DIR := core/wma
755
756WMA_INC_DIR := $(WMA_DIR)/inc
757WMA_SRC_DIR := $(WMA_DIR)/src
758
759WMA_INC := -I$(WLAN_ROOT)/$(WMA_INC_DIR) \
760 -I$(WLAN_ROOT)/$(WMA_SRC_DIR)
761
762WMA_OBJS := $(WMA_SRC_DIR)/wma_main.o \
763 $(WMA_SRC_DIR)/wma_scan_roam.o \
764 $(WMA_SRC_DIR)/wma_dev_if.o \
765 $(WMA_SRC_DIR)/wma_mgmt.o \
766 $(WMA_SRC_DIR)/wma_power.o \
767 $(WMA_SRC_DIR)/wma_data.o \
768 $(WMA_SRC_DIR)/wma_utils.o \
769 $(WMA_SRC_DIR)/wma_features.o \
770 $(WMA_SRC_DIR)/wma_dfs_interface.o \
771 $(WMA_SRC_DIR)/wma_ocb.o \
772 $(WMA_SRC_DIR)/wlan_qct_wma_legacy.o
773
774ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
775WMA_OBJS += $(WMA_SRC_DIR)/wma_utils_ut.o
776endif
777
778TARGET_INC := -I$(WLAN_ROOT)/target/inc
779
780LINUX_INC := -Iinclude/linux
781
782INCS := $(HDD_INC) \
783 $(EPPING_INC) \
784 $(LINUX_INC) \
785 $(MAC_INC) \
786 $(SAP_INC) \
787 $(SME_INC) \
788 $(SYS_INC) \
789 $(CDF_INC) \
790 $(CDS_INC) \
791 $(DFS_INC)
792
793INCS += $(WMA_INC) \
794 $(UAPI_INC) \
795 $(COMMON_INC) \
796 $(WMI_INC) \
797 $(FWLOG_INC) \
798 $(TXRX_INC) \
799 $(OL_INC) \
800 $(PKTLOG_INC) \
801 $(HTT_INC) \
802 $(HTC_INC) \
803 $(DFS_INC)
804
805INCS += $(HIF_INC) \
806 $(BMI_INC)
807
808INCS += $(TARGET_INC)
809
810INCS += $(NLINK_INC) \
811 $(PTT_INC) \
812 $(WLAN_LOGGING_INC)
813
814ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
815INCS += $(PKTLOG_INC)
816endif
817
818ifeq ($(BUILD_DIAG_VERSION), 1)
819INCS += $(HOST_DIAG_LOG_INC)
820endif
821
822OBJS := $(HDD_OBJS) \
823 $(EPPING_OBJS) \
824 $(MAC_OBJS) \
825 $(SAP_OBJS) \
826 $(SME_OBJS) \
827 $(SYS_OBJS) \
828 $(CDF_OBJS) \
829 $(CDS_OBJS) \
830 $(DFS_OBJS)
831
832OBJS += $(WMA_OBJS) \
833 $(TXRX_OBJS) \
834 $(WMI_OBJS) \
835 $(FWLOG_OBJS) \
836 $(HTC_OBJS) \
837 $(DFS_OBJS)
838
839OBJS += $(HIF_OBJS) \
840 $(BMI_OBJS) \
841 $(HTT_OBJS)
842
843OBJS += $(WLAN_LOGGING_OBJS)
844OBJS += $(NLINK_OBJS)
845OBJS += $(PTT_OBJS)
846
847ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
848OBJS += $(PKTLOG_OBJS)
849endif
850
851ifeq ($(BUILD_DIAG_VERSION), 1)
852OBJS += $(HOST_DIAG_LOG_OBJS)
853endif
854
855
856EXTRA_CFLAGS += $(INCS)
857
858CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
859 -DANI_LITTLE_BIT_ENDIAN \
860 -DQC_WLAN_CHIPSET_QCA_CLD \
861 -DDOT11F_LITTLE_ENDIAN_HOST \
862 -DANI_COMPILER_TYPE_GCC \
863 -DANI_OS_TYPE_ANDROID=6 \
864 -DWLAN_PERF \
865 -DPTT_SOCK_SVC_ENABLE \
866 -Wall\
867 -Werror\
868 -D__linux__ \
869 -DHAL_SELF_STA_PER_BSS=1 \
870 -DWLAN_FEATURE_VOWIFI_11R \
871 -DWLAN_FEATURE_NEIGHBOR_ROAMING \
872 -DWLAN_FEATURE_NEIGHBOR_ROAMING_DEBUG \
873 -DWLAN_FEATURE_VOWIFI_11R_DEBUG \
874 -DFEATURE_WLAN_WAPI \
875 -DFEATURE_OEM_DATA_SUPPORT\
876 -DSOFTAP_CHANNEL_RANGE \
877 -DWLAN_AP_STA_CONCURRENCY \
878 -DFEATURE_WLAN_SCAN_PNO \
879 -DWLAN_FEATURE_PACKET_FILTERING \
880 -DWLAN_FEATURE_VOWIFI \
881 -DWLAN_FEATURE_11AC \
882 -DWLAN_FEATURE_P2P_DEBUG \
883 -DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
884 -DWLANTL_DEBUG\
885 -DWLAN_NS_OFFLOAD \
886 -DWLAN_SOFTAP_VSTA_FEATURE \
887 -DWLAN_FEATURE_GTK_OFFLOAD \
888 -DWLAN_WAKEUP_EVENTS \
889 -DFEATURE_WLAN_RA_FILTERING\
890 -DWLAN_KD_READY_NOTIFIER \
891 -DWLAN_NL80211_TESTMODE \
892 -DFEATURE_WLAN_LPHB \
893 -DFEATURE_WLAN_PAL_TIMER_DISABLE \
894 -DFEATURE_WLAN_PAL_MEM_DISABLE \
895 -DQCA_SUPPORT_TX_THROTTLE \
896 -DWMI_INTERFACE_EVENT_LOGGING \
897 -DATH_SUPPORT_WAPI \
898 -DWLAN_FEATURE_LINK_LAYER_STATS \
899 -DWLAN_LOGGING_SOCK_SVC_ENABLE \
900 -DFEATURE_WLAN_EXTSCAN \
901 -DFEATURE_WLAN_LFR \
902 -DWLAN_FEATURE_MBSSID \
903 -DCONFIG_160MHZ_SUPPORT
904
905ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
906CDEFINES += -DQCA_WIFI_3_0
907CDEFINES += -DQCA_WIFI_3_0_EMU
908endif
909
910ifeq (y,$(filter y,$(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
911CDEFINES += -DQCA_WIFI_3_0_ADRASTEA
912CDEFINES += -DADRASTEA_SHADOW_REGISTERS
913endif
914
915ifeq ($(CONFIG_WLAN_FASTPATH), y)
916CDEFINES += -DWLAN_FEATURE_FASTPATH
917endif
918
919ifeq ($(CONFIG_WLAN_NAPI), y)
920CDEFINES += -DFEATURE_NAPI
921ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y)
922CDEFINES += -DFEATURE_NAPI_DEBUG
923endif
924endif
925
926ifeq ($(CONFIG_FEATURE_BMI_2), y)
927CDEFINES += -DFEATURE_BMI_2
928endif
929
930ifeq ($(CONFIG_ARCH_MSM), y)
931CDEFINES += -DMSM_PLATFORM
932endif
933
934CDEFINES += -DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
935
936ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
937CDEFINES += -DQCA_LL_TX_FLOW_CONTROL_V2
938CDEFINES += -DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL
939else
940ifeq ($(CONFIG_ROME_IF),pci)
941CDEFINES += -DQCA_LL_LEGACY_TX_FLOW_CONTROL
942endif
943endif
944
945ifeq ($(CONFIG_DEBUG_LL),y)
946CDEFINES += -DQCA_PKT_PROTO_TRACE
947endif
948
949ifneq ($(CONFIG_QCA_CLD_WLAN),)
950CDEFINES += -DWCN_PRONTO
951CDEFINES += -DWCN_PRONTO_V1
952endif
953
954ifeq ($(BUILD_DEBUG_VERSION),1)
955CDEFINES += -DWLAN_DEBUG \
956 -DTRACE_RECORD \
957 -DLIM_TRACE_RECORD \
958 -DSME_TRACE_RECORD \
959 -DHDD_TRACE_RECORD \
960 -DPE_DEBUG_LOGW \
961 -DPE_DEBUG_LOGE \
962 -DDEBUG
963endif
964
965ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
966CDEFINES += -DTIMER_MANAGER
967CDEFINES += -DMEMORY_DEBUG
968endif
969
970ifeq ($(HAVE_CFG80211),1)
971CDEFINES += -DWLAN_FEATURE_P2P
972CDEFINES += -DWLAN_FEATURE_WFD
973ifeq ($(CONFIG_QCOM_VOWIFI_11R),y)
974CDEFINES += -DKERNEL_SUPPORT_11R_CFG80211
975CDEFINES += -DUSE_80211_WMMTSPEC_FOR_RIC
976endif
977endif
978
979ifeq ($(CONFIG_QCOM_ESE),y)
980CDEFINES += -DFEATURE_WLAN_ESE
981CDEFINES += -DQCA_COMPUTE_TX_DELAY
982CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID
983ifeq ($(CONFIG_QCOM_ESE_UPLOAD),y)
984CDEFINES += -DFEATURE_WLAN_ESE_UPLOAD
985endif
986endif
987
988#normally, TDLS negative behavior is not needed
989ifeq ($(CONFIG_QCOM_TDLS),y)
990CDEFINES += -DFEATURE_WLAN_TDLS
991endif
992
993ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y)
994CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD
995endif
996
997ifeq ($(CONFIG_PRIMA_WLAN_OKC),y)
998CDEFINES += -DFEATURE_WLAN_OKC
999endif
1000
1001ifeq ($(CONFIG_PRIMA_WLAN_11AC_HIGH_TP),y)
1002CDEFINES += -DWLAN_FEATURE_11AC_HIGH_TP
1003endif
1004
1005ifeq ($(BUILD_DIAG_VERSION),1)
1006CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT
1007CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_CSR
1008CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_LIM
1009ifeq ($(CONFIG_HIF_PCI), 1)
1010CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1011endif
1012endif
1013
1014ifeq ($(CONFIG_HIF_USB), 1)
1015CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1016CDEFINES += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT
1017CDEFINES += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0
1018CDEFINES += -DQCA_TX_HTT2_SUPPORT
1019endif
1020
1021# enable the MAC Address auto-generation feature
1022CDEFINES += -DWLAN_AUTOGEN_MACADDR_FEATURE
1023
1024ifeq ($(CONFIG_WLAN_FEATURE_11W),y)
1025CDEFINES += -DWLAN_FEATURE_11W
1026endif
1027
1028ifeq ($(CONFIG_QCOM_LTE_COEX),y)
1029CDEFINES += -DFEATURE_WLAN_CH_AVOID
1030endif
1031
1032ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y)
1033CDEFINES += -DWLAN_FEATURE_LPSS
1034endif
1035
1036ifeq ($(PANIC_ON_BUG),1)
1037CDEFINES += -DPANIC_ON_BUG
1038endif
1039
1040ifeq ($(WLAN_OPEN_SOURCE), 1)
1041CDEFINES += -DWLAN_OPEN_SOURCE
1042endif
1043
1044ifeq ($(CONFIG_FEATURE_STATS_EXT), 1)
1045CDEFINES += -DWLAN_FEATURE_STATS_EXT
1046endif
1047
1048ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
1049CDEFINES += -DWLAN_FEATURE_NAN
1050endif
1051
1052ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1)
1053CDEFINES += -DQCA_IBSS_SUPPORT
1054endif
1055
1056#Enable OL debug and wmi unified functions
1057ifeq ($(CONFIG_ATH_PERF_PWR_OFFLOAD), 1)
1058CDEFINES += -DATH_PERF_PWR_OFFLOAD
1059endif
1060
1061#Disable packet log
1062ifeq ($(CONFIG_REMOVE_PKT_LOG), 1)
1063CDEFINES += -DREMOVE_PKT_LOG
1064endif
1065
1066#Enable 11AC TX
1067ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1)
1068CDEFINES += -DATH_11AC_TXCOMPACT
1069endif
1070
1071#Enable per vdev Tx desc pool
1072ifeq ($(CONFIG_PER_VDEV_TX_DESC_POOL), 1)
1073CDEFINES += -DCONFIG_PER_VDEV_TX_DESC_POOL
1074endif
1075
1076#Enable OS specific IRQ abstraction
1077ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
1078CDEFINES += -DATH_SUPPORT_SHARED_IRQ
1079endif
1080
1081#Enable message based HIF instead of RAW access in BMI
1082ifeq ($(CONFIG_HIF_MESSAGE_BASED), 1)
1083CDEFINES += -DHIF_MESSAGE_BASED
1084endif
1085
1086#Enable PCI specific APIS (dma, etc)
1087ifeq ($(CONFIG_HIF_PCI), 1)
1088CDEFINES += -DHIF_PCI
1089endif
1090
1091#Enable USB specific APIS
1092ifeq ($(CONFIG_HIF_USB), 1)
1093CDEFINES += -DHIF_USB
1094CDEFINES += -DCONFIG_HL_SUPPORT
1095endif
1096
1097#Enable FW logs through ini
1098CDEFINES += -DCONFIG_FW_LOGS_BASED_ON_INI
1099
1100#Enable pci read/write config functions
1101ifeq ($(CONFIG_ATH_PCI), 1)
1102CDEFINES += -DATH_PCI
1103endif
1104
1105#Enable power management suspend/resume functionality
1106ifeq ($(CONFIG_ATH_BUS_PM), 1)
1107CDEFINES += -DATH_BUS_PM
1108endif
1109
1110#Enable FLOWMAC module support
1111ifeq ($(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE), 1)
1112CDEFINES += -DATH_SUPPORT_FLOWMAC_MODULE
1113endif
1114
1115#Enable spectral support
1116ifeq ($(CONFIG_ATH_SUPPORT_SPECTRAL), 1)
1117CDEFINES += -DATH_SUPPORT_SPECTRAL
1118endif
1119
1120#Enable WDI Event support
1121ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1)
1122CDEFINES += -DWDI_EVENT_ENABLE
1123endif
1124
1125#Endianess selection
1126ifeq ($(CONFIG_LITTLE_ENDIAN), 1)
1127AH_LITTLE_ENDIAN=1234
1128CDEFINES += -DAH_BYTE_ORDER=$(AH_LITTLE_ENDIAN)
1129else
1130AH_BIG_ENDIAN=4321
1131CDEFINES += -DAH_BYTE_ORDER=$(AH_BIG_ENDIAN)
1132CDEFINES += -DBIG_ENDIAN_HOST
1133endif
1134
1135#Enable TX reclaim support
1136ifeq ($(CONFIG_TX_CREDIT_RECLAIM_SUPPORT), 1)
1137CDEFINES += -DTX_CREDIT_RECLAIM_SUPPORT
1138endif
1139
1140#Enable FTM support
1141ifeq ($(CONFIG_QCA_WIFI_FTM), 1)
1142CDEFINES += -DQCA_WIFI_FTM
1143endif
1144
1145#Enable Checksum Offload support
1146ifeq ($(CONFIG_CHECKSUM_OFFLOAD), 1)
1147CDEFINES += -DCHECKSUM_OFFLOAD
1148endif
1149
1150#Enable Checksum Offload support
1151ifeq ($(CONFIG_IPA_OFFLOAD), 1)
1152CDEFINES += -DIPA_OFFLOAD
1153endif
1154
1155ifneq ($(CONFIG_ARCH_MDM9630), y)
1156ifeq ($(CONFIG_ARCH_MDM9640), y)
1157CDEFINES += -DQCA_CONFIG_SMP
1158endif
1159endif
1160
1161#Enable GTK Offload
1162ifeq ($(CONFIG_GTK_OFFLOAD), 1)
1163CDEFINES += -DWLAN_FEATURE_GTK_OFFLOAD
1164CDEFINES += -DIGTK_OFFLOAD
1165endif
1166
1167#Enable GTK Offload
1168ifeq ($(CONFIG_EXT_WOW), 1)
1169CDEFINES += -DWLAN_FEATURE_EXTWOW_SUPPORT
1170endif
1171
1172#Mark it as SMP Kernel
1173ifeq ($(CONFIG_SMP),y)
1174CDEFINES += -DQCA_CONFIG_SMP
1175endif
1176
1177ifeq ($(CONFIG_WLAN_FEATURE_RX_WAKELOCK), y)
1178CDEFINES += -DWLAN_FEATURE_HOLD_RX_WAKELOCK
1179endif
1180
1181#Enable Channel Matrix restriction for all targets
1182CDEFINES += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION
1183
1184#features specific to mobile router use case
1185ifeq ($(CONFIG_MOBILE_ROUTER), y)
1186
1187#enable MCC TO SCC switch
1188CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
1189
1190#enable wlan auto shutdown feature
1191CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN
1192
1193#enable for MBSSID
1194CDEFINES += -DWLAN_FEATURE_MBSSID
1195
1196#enable AP-AP ACS Optimization
1197CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
1198
1199#Enable 4address scheme
1200CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME
1201
1202#Disable STA-AP Mode DFS support
1203CDEFINES += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE
1204
1205#Enable OBSS feature
1206CDEFINES += -DQCA_HT_2040_COEX
1207
1208#Disable HT40 in 2.4GHZ STA mode
1209CDEFINES += -DQCA_HT_20_24G_STA_ONLY
1210
1211else #CONFIG_MOBILE_ROUTER
1212
1213#Open P2P device interface only for non-Mobile router use cases
1214CDEFINES += -DWLAN_OPEN_P2P_INTERFACE
1215
1216#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage
1217CDEFINES += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY
1218
1219endif #CONFIG_MOBILE_ROUTER
1220
1221#Green AP feature
1222ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
1223CDEFINES += -DFEATURE_GREEN_AP
1224endif
1225
1226#Enable RX Full re-order OL feature only "LL and NON-MDM9630 platform"
1227ifneq ($(CONFIG_ARCH_MDM9630), y)
1228ifeq ($(CONFIG_HIF_PCI), 1)
1229CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
1230endif
1231endif
1232
1233#Enable Signed firmware support for split binary format
1234ifeq ($(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT), 1)
1235CDEFINES += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT
1236endif
1237
1238#Enable single firmware binary format
1239ifeq ($(CONFIG_QCA_SINGLE_BINARY_SUPPORT), 1)
1240CDEFINES += -DQCA_SINGLE_BINARY_SUPPORT
1241endif
1242
1243#Enable collecting target RAM dump after kernel panic
1244ifeq ($(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC), 1)
1245CDEFINES += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC
1246endif
1247
1248#Enable/disable secure firmware feature
1249ifeq ($(CONFIG_FEATURE_SECURE_FIRMWARE), 1)
1250CDEFINES += -DFEATURE_SECURE_FIRMWARE
1251endif
1252
1253ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1)
1254CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
1255endif
1256
1257# Some kernel include files are being moved. Check to see if
1258# the old version of the files are present
1259
1260ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smd.h),)
1261CDEFINES += -DEXISTS_MSM_SMD
1262endif
1263
1264ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smsm.h),)
1265CDEFINES += -DEXISTS_MSM_SMSM
1266endif
1267
1268# Enable feature support fo Linux version QCMBR
1269ifeq ($(CONFIG_LINUX_QCMBR),y)
1270CDEFINES += -DLINUX_QCMBR
1271endif
1272
1273# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
1274ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
1275CONFIG_HELIUMPLUS := y
1276CONFIG_64BIT_PADDR := y
1277CONFIG_FEATURE_TSO := y
1278CONFIG_FEATURE_TSO_DEBUG := y
1279ifeq ($(CONFIG_HELIUMPLUS),y)
1280CDEFINES += -DHELIUMPLUS_PADDR64
1281CDEFINES += -DHELIUMPLUS
1282ifeq ($(CONFIG_64BIT_PADDR),y)
1283CDEFINES += -DHTT_PADDR64
1284endif
1285endif
1286endif
1287
1288ifeq ($(CONFIG_FEATURE_TSO),y)
1289CDEFINES += -DFEATURE_TSO
1290endif
1291ifeq ($(CONFIG_FEATURE_TSO_DEBUG),y)
1292CDEFINES += -DFEATURE_TSO_DEBUG
1293endif
1294
1295ifeq ($(CONFIG_WLAN_LRO), y)
1296CDEFINES += -DFEATURE_LRO
1297endif
1298
1299ifeq ($(CONFIG_MOBILE_ROUTER), y)
1300CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
1301endif
1302
1303ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
1304CDEFINES += -DMPC_UT_FRAMEWORK
1305endif
1306
1307ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y)
1308CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS
1309endif
1310
1311ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
1312CDEFINES += -DWLAN_FEATURE_MEMDUMP
1313endif
1314
1315ifeq ($(CONFIG_STATICALLY_ADD_11P_CHANNELS),y)
1316CDEFINES += -DFEATURE_STATICALLY_ADD_11P_CHANNELS
1317endif
1318
1319KBUILD_CPPFLAGS += $(CDEFINES)
1320
1321# Currently, for versions of gcc which support it, the kernel Makefile
1322# is disabling the maybe-uninitialized warning. Re-enable it for the
1323# WLAN driver. Note that we must use EXTRA_CFLAGS here so that it
1324# will override the kernel settings.
1325ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
1326EXTRA_CFLAGS += -Wmaybe-uninitialized
1327endif
1328
1329# Module information used by KBuild framework
1330obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
1331$(MODNAME)-y := $(OBJS)