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