1# 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_QCA6290), y) 10 CONFIG_LITHIUM := y 11endif 12 13ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y) 14 CONFIG_QCA_WIFI_SDIO := 1 15endif 16 17ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) 18 CONFIG_ROME_IF = sdio 19endif 20 21ifdef CONFIG_ICNSS 22 CONFIG_ROME_IF = snoc 23endif 24 25ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2))) 26ifndef CONFIG_ROME_IF 27 #use pci as default interface 28 CONFIG_ROME_IF = pci 29endif 30endif 31 32ifeq ($(KERNEL_BUILD),1) 33 # These are provided in external module based builds 34 # Need to explicitly define for Kernel-based builds 35 MODNAME := wlan 36 WLAN_ROOT := drivers/staging/qcacld-3.0 37 WLAN_COMMON_ROOT := ../qca-wifi-host-cmn 38 WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT) 39endif 40 41# Make WLAN as open-source driver by default 42WLAN_OPEN_SOURCE := 1 43 44ifeq ($(KERNEL_BUILD), 0) 45 # These are configurable via Kconfig for kernel-based builds 46 # Need to explicitly configure for Android-based builds 47 48 ifeq ($(CONFIG_ARCH_MDM9630), y) 49 CONFIG_MOBILE_ROUTER := y 50 endif 51 52 ifeq ($(CONFIG_ARCH_MDM9640), y) 53 CONFIG_MOBILE_ROUTER := y 54 endif 55 56 # As per target team, build is done as follows: 57 # Defconfig : build with default flags 58 # Slub : defconfig + CONFIG_SLUB_DEBUG=y + 59 # CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y 60 # Perf : Using appropriate msmXXXX-perf_defconfig 61 # 62 # Shipment builds (user variants) should not have any debug feature 63 # enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds 64 # are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since 65 # there is no other way to identify defconfig builds, QCOMs internal 66 # representation of perf builds (identified using the string 'perf'), 67 # is used to identify if the build is a slub or defconfig one. This 68 # way no critical debug feature will be enabled for perf and shipment 69 # builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT 70 # config. 71 ifneq ($(TARGET_BUILD_VARIANT),user) 72 ifeq ($(CONFIG_LITHIUM),y) 73 CONFIG_FEATURE_PKTLOG := n 74 else 75 CONFIG_FEATURE_PKTLOG := y 76 endif 77 ifeq ($(CONFIG_SLUB_DEBUG_ON),y) 78 CONFIG_FEATURE_DP_TRACE := y 79 else 80 ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),) 81 CONFIG_FEATURE_DP_TRACE := y 82 endif 83 endif 84 endif 85 86 #Flag to enable Legacy Fast Roaming2(LFR2) 87 CONFIG_QCACLD_WLAN_LFR2 := y 88 #Flag to enable Legacy Fast Roaming3(LFR3) 89 CONFIG_QCACLD_WLAN_LFR3 := y 90 91 # JB kernel has CPU enablement patches, so enable 92 ifeq ($(CONFIG_ROME_IF),pci) 93 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := y 94 endif 95 ifeq ($(CONFIG_ROME_IF),usb) 96 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n 97 endif 98 ifeq ($(CONFIG_ROME_IF),sdio) 99 CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n 100 endif 101 102 ifneq ($(CONFIG_MOBILE_ROUTER), y) 103 #Flag to enable TDLS feature 104 CONFIG_QCOM_TDLS := y 105 endif 106 107 ifeq ($(CONFIG_MOBILE_ROUTER), y) 108 CONFIG_QCACLD_FEATURE_GREEN_AP := y 109 endif 110 ifeq ($(CONFIG_ARCH_MSM8998), y) 111 CONFIG_QCACLD_FEATURE_GREEN_AP := y 112 endif 113 114 #Flag to enable Fast Transition (11r) feature 115 CONFIG_QCOM_VOWIFI_11R := y 116 117 ifneq ($(CONFIG_QCA_CLD_WLAN),) 118 ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS))) 119 #Flag to enable Protected Managment Frames (11w) feature 120 CONFIG_WLAN_FEATURE_11W := y 121 #Flag to enable LTE CoEx feature 122 CONFIG_QCOM_LTE_COEX := y 123 ifneq ($(CONFIG_MOBILE_ROUTER), y) 124 #Flag to enable LPSS feature 125 CONFIG_WLAN_FEATURE_LPSS := y 126 endif 127 endif 128 endif 129 130 #Flag to enable Protected Managment Frames (11w) feature 131 ifeq ($(CONFIG_ROME_IF),usb) 132 CONFIG_WLAN_FEATURE_11W := y 133 endif 134 ifeq ($(CONFIG_ROME_IF),sdio) 135 CONFIG_WLAN_FEATURE_11W := y 136 endif 137 138 #Flag to enable the tx desc sanity check 139 ifeq ($(CONFIG_ROME_IF),usb) 140 CONFIG_QCA_TXDESC_SANITY_CHECKS := y 141 endif 142 143 ifneq ($(CONFIG_MOBILE_ROUTER), y) 144 #Flag to enable NAN 145 CONFIG_QCACLD_FEATURE_NAN := y 146 endif 147 148 ifneq ($(CONFIG_MOBILE_ROUTER), y) 149 #Flag to enable NAN Data path 150 CONFIG_WLAN_FEATURE_NAN_DATAPATH := y 151 endif 152 153 #Flag to enable Linux QCMBR feature as default feature 154 ifeq ($(CONFIG_ROME_IF),usb) 155 CONFIG_LINUX_QCMBR :=y 156 endif 157 158 CONFIG_MPC_UT_FRAMEWORK := y 159 160 #Flag to enable offload packets feature 161 CONFIG_WLAN_OFFLOAD_PACKETS := y 162 163 #enable TSF get feature 164 CONFIG_WLAN_SYNC_TSF := y 165 #Enable DSRC feature 166 167 ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) 168 CONFIG_WLAN_FEATURE_DSRC := y 169 endif 170 171ifneq ($(CONFIG_ROME_IF),sdio) 172 #Flag to enable memdump feature 173 CONFIG_WLAN_FEATURE_MEMDUMP := n 174 175 #Flag to enable DISA 176 CONFIG_WLAN_FEATURE_DISA := y 177 178 #Flag to enable Fast Path feature 179 CONFIG_WLAN_FASTPATH := y 180 181 # Flag to enable NAPI 182ifeq (y,$(CONFIG_LITHIUM)) 183 CONFIG_WLAN_NAPI := n 184 CONFIG_WLAN_NAPI_DEBUG := n 185else 186 CONFIG_WLAN_NAPI := y 187 CONFIG_WLAN_NAPI_DEBUG := n 188endif 189 # Flag to enable FW based TX Flow control 190 ifeq ($(CONFIG_CNSS_EOS),y) 191 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y 192 else 193 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n 194 endif 195 196 # Flag to enable LRO (Large Receive Offload) 197 ifeq ($(CONFIG_INET_LRO), y) 198 CONFIG_WLAN_LRO := y 199 else 200 CONFIG_WLAN_LRO := n 201 endif 202endif 203 204ifeq ($(CONFIG_ROME_IF), snoc) 205 CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y 206endif 207 208 # Flag to enable LFR Subnet Detection 209 CONFIG_LFR_SUBNET_DETECTION := y 210 211 # Flag to enable MCC to SCC switch feature 212 CONFIG_MCC_TO_SCC_SWITCH := y 213endif 214 215# If not set, assume, Common driver is with in the build tree 216WLAN_COMMON_ROOT ?= qca-wifi-host-cmn 217WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT) 218 219ifneq ($(CONFIG_MOBILE_ROUTER), y) 220CONFIG_QCOM_ESE := y 221endif 222 223# Feature flags which are not (currently) configurable via Kconfig 224 225#Whether to build debug version 226BUILD_DEBUG_VERSION := 1 227 228#Enable this flag to build driver in diag version 229BUILD_DIAG_VERSION := 1 230 231#Do we panic on bug? default is to warn 232PANIC_ON_BUG := 1 233 234#Enable OL debug and wmi unified functions 235CONFIG_ATH_PERF_PWR_OFFLOAD := 1 236 237#Disable packet log 238CONFIG_REMOVE_PKT_LOG := 0 239 240#Enable 11AC TX 241ifeq ($(CONFIG_ROME_IF),pci) 242 CONFIG_ATH_11AC_TXCOMPACT := 1 243endif 244ifeq ($(CONFIG_ROME_IF),usb) 245 CONFIG_ATH_11AC_TXCOMPACT := 0 246endif 247 248#Enable OS specific IRQ abstraction 249CONFIG_ATH_SUPPORT_SHARED_IRQ := 1 250 251#Enable message based HIF instead of RAW access in BMI 252ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) 253CONFIG_HIF_MESSAGE_BASED := 0 254else 255CONFIG_HIF_MESSAGE_BASED := 1 256endif 257 258#Enable PCI specific APIS (dma, etc) 259ifeq ($(CONFIG_ROME_IF),pci) 260 CONFIG_HIF_PCI := 1 261endif 262 263#Enable USB specific APIS 264ifeq ($(CONFIG_ROME_IF),usb) 265 CONFIG_HIF_USB := 1 266 CONFIG_PLD_USB_CNSS := y 267endif 268 269#Enable pci read/write config functions 270ifeq ($(CONFIG_ROME_IF),pci) 271 CONFIG_ATH_PCI := 1 272endif 273 274ifeq ($(CONFIG_ROME_IF),snoc) 275 CONFIG_HIF_SNOC:= 1 276endif 277 278ifneq ($(CONFIG_MOBILE_ROUTER), y) 279#Enable IBSS support on CLD 280CONFIG_QCA_IBSS_SUPPORT := 1 281endif 282 283#Enable power management suspend/resume functionality to PCI 284CONFIG_ATH_BUS_PM := 1 285 286#Enable FLOWMAC module support 287CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := 0 288 289#Enable spectral support 290CONFIG_ATH_SUPPORT_SPECTRAL := 0 291 292#Enable HOST statistics support 293CONFIG_SUPPORT_HOST_STATISTICS := 0 294 295#Enable WDI Event support 296CONFIG_WDI_EVENT_ENABLE := 1 297 298#Endianess selection 299CONFIG_LITTLE_ENDIAN := 1 300 301#Enable TX reclaim support 302CONFIG_TX_CREDIT_RECLAIM_SUPPORT := 0 303 304#Enable FTM support 305CONFIG_QCA_WIFI_FTM := 1 306 307#Enable Checksum Offload 308CONFIG_CHECKSUM_OFFLOAD := 1 309 310#Enable GTK offload 311CONFIG_GTK_OFFLOAD := 1 312 313#Enable EXT WOW 314ifeq ($(CONFIG_ROME_IF),pci) 315 CONFIG_EXT_WOW := 1 316endif 317 318# Flag to enable bus auto suspend 319ifeq ($(CONFIG_ROME_IF),pci) 320ifeq ($(CONFIG_BUS_AUTO_SUSPEND), y) 321CDEFINES += -DFEATURE_RUNTIME_PM 322endif 323endif 324 325#Set this to 1 to catch erroneous Target accesses during debug. 326CONFIG_ATH_PCIE_ACCESS_DEBUG := 0 327 328#Enable IPA offload 329ifeq ($(CONFIG_IPA), y) 330CONFIG_IPA_OFFLOAD := 1 331endif 332 333#Enable Signed firmware support for split binary format 334CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := 0 335 336#Enable single firmware binary format 337CONFIG_QCA_SINGLE_BINARY_SUPPORT := 0 338 339#Enable collecting target RAM dump after kernel panic 340CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := 1 341 342#Flag to enable/disable secure firmware feature 343CONFIG_FEATURE_SECURE_FIRMWARE := 0 344 345#Flag to enable Stats Ext implementation 346CONFIG_FEATURE_STATS_EXT := 1 347 348ifeq ($(CONFIG_CFG80211),y) 349HAVE_CFG80211 := 1 350else 351ifeq ($(CONFIG_CFG80211),m) 352HAVE_CFG80211 := 1 353else 354HAVE_CFG80211 := 0 355endif 356endif 357 358############ UAPI ############ 359UAPI_DIR := uapi 360UAPI_INC := -I$(WLAN_ROOT)/$(UAPI_DIR)/linux 361 362############ COMMON ############ 363COMMON_DIR := core/common 364COMMON_INC := -I$(WLAN_ROOT)/$(COMMON_DIR) 365 366############ HDD ############ 367HDD_DIR := core/hdd 368HDD_INC_DIR := $(HDD_DIR)/inc 369HDD_SRC_DIR := $(HDD_DIR)/src 370 371HDD_INC := -I$(WLAN_ROOT)/$(HDD_INC_DIR) \ 372 -I$(WLAN_ROOT)/$(HDD_SRC_DIR) 373 374HDD_OBJS := $(HDD_SRC_DIR)/wlan_hdd_assoc.o \ 375 $(HDD_SRC_DIR)/wlan_hdd_cfg.o \ 376 $(HDD_SRC_DIR)/wlan_hdd_debugfs.o \ 377 $(HDD_SRC_DIR)/wlan_hdd_driver_ops.o \ 378 $(HDD_SRC_DIR)/wlan_hdd_ftm.o \ 379 $(HDD_SRC_DIR)/wlan_hdd_hostapd.o \ 380 $(HDD_SRC_DIR)/wlan_hdd_ioctl.o \ 381 $(HDD_SRC_DIR)/wlan_hdd_main.o \ 382 $(HDD_SRC_DIR)/wlan_hdd_oemdata.o \ 383 $(HDD_SRC_DIR)/wlan_hdd_power.o \ 384 $(HDD_SRC_DIR)/wlan_hdd_regulatory.o \ 385 $(HDD_SRC_DIR)/wlan_hdd_scan.o \ 386 $(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \ 387 $(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \ 388 $(HDD_SRC_DIR)/wlan_hdd_trace.o \ 389 $(HDD_SRC_DIR)/wlan_hdd_wext.o \ 390 $(HDD_SRC_DIR)/wlan_hdd_wmm.o \ 391 $(HDD_SRC_DIR)/wlan_hdd_wowl.o 392 393ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y) 394HDD_OBJS+= $(HDD_SRC_DIR)/wlan_hdd_ocb.o 395endif 396 397ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y) 398HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_lpass.o 399endif 400 401ifeq ($(CONFIG_WLAN_LRO), y) 402HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_lro.o 403endif 404 405ifeq ($(CONFIG_WLAN_NAPI), y) 406HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_napi.o 407endif 408 409ifeq ($(CONFIG_IPA_OFFLOAD), 1) 410HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ipa.o 411endif 412 413ifeq ($(HAVE_CFG80211),1) 414HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \ 415 $(HDD_SRC_DIR)/wlan_hdd_ext_scan.o \ 416 $(HDD_SRC_DIR)/wlan_hdd_stats.o \ 417 $(HDD_SRC_DIR)/wlan_hdd_p2p.o 418endif 419 420ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y) 421HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_green_ap.o 422endif 423 424ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y) 425HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan.o 426endif 427 428ifeq ($(CONFIG_QCOM_TDLS),y) 429HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tdls.o 430endif 431 432ifeq ($(CONFIG_WLAN_SYNC_TSF),y) 433HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tsf.o 434endif 435 436ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y) 437HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_conc_ut.o 438endif 439 440ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y) 441HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o 442endif 443 444ifeq ($(CONFIG_WLAN_FEATURE_DISA),y) 445HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_disa.o 446endif 447 448ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y) 449HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_subnet_detect.o 450endif 451 452ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y) 453HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan_datapath.o 454endif 455 456########### HOST DIAG LOG ########### 457HOST_DIAG_LOG_DIR := core/utils/host_diag_log 458 459HOST_DIAG_LOG_INC_DIR := $(HOST_DIAG_LOG_DIR)/inc 460HOST_DIAG_LOG_SRC_DIR := $(HOST_DIAG_LOG_DIR)/src 461 462HOST_DIAG_LOG_INC := -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \ 463 -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR) 464 465HOST_DIAG_LOG_OBJS += $(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o 466 467############ EPPING ############ 468EPPING_DIR := core/utils/epping 469EPPING_INC_DIR := $(EPPING_DIR)/inc 470EPPING_SRC_DIR := $(EPPING_DIR)/src 471 472EPPING_INC := -I$(WLAN_ROOT)/$(EPPING_INC_DIR) 473 474EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \ 475 $(EPPING_SRC_DIR)/epping_txrx.o \ 476 $(EPPING_SRC_DIR)/epping_tx.o \ 477 $(EPPING_SRC_DIR)/epping_rx.o \ 478 $(EPPING_SRC_DIR)/epping_helper.o \ 479 480 481############ MAC ############ 482MAC_DIR := core/mac 483MAC_INC_DIR := $(MAC_DIR)/inc 484MAC_SRC_DIR := $(MAC_DIR)/src 485 486MAC_INC := -I$(WLAN_ROOT)/$(MAC_INC_DIR) \ 487 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \ 488 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \ 489 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \ 490 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim \ 491 -I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/nan 492 493MAC_CFG_OBJS := $(MAC_SRC_DIR)/cfg/cfg_api.o \ 494 $(MAC_SRC_DIR)/cfg/cfg_debug.o \ 495 $(MAC_SRC_DIR)/cfg/cfg_param_name.o \ 496 $(MAC_SRC_DIR)/cfg/cfg_proc_msg.o \ 497 $(MAC_SRC_DIR)/cfg/cfg_send_msg.o 498 499MAC_DPH_OBJS := $(MAC_SRC_DIR)/dph/dph_hash_table.o 500 501MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \ 502 $(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \ 503 $(MAC_SRC_DIR)/pe/lim/lim_api.o \ 504 $(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \ 505 $(MAC_SRC_DIR)/pe/lim/lim_debug.o \ 506 $(MAC_SRC_DIR)/pe/lim/lim_ft.o \ 507 $(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o \ 508 $(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \ 509 $(MAC_SRC_DIR)/pe/lim/lim_p2p.o \ 510 $(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \ 511 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \ 512 $(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \ 513 $(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \ 514 $(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \ 515 $(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \ 516 $(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \ 517 $(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \ 518 $(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \ 519 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \ 520 $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \ 521 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \ 522 $(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \ 523 $(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \ 524 $(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \ 525 $(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \ 526 $(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \ 527 $(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \ 528 $(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \ 529 $(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \ 530 $(MAC_SRC_DIR)/pe/lim/lim_ser_des_utils.o \ 531 $(MAC_SRC_DIR)/pe/lim/lim_session.o \ 532 $(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \ 533 $(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \ 534 $(MAC_SRC_DIR)/pe/lim/lim_sta_hash_api.o \ 535 $(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \ 536 $(MAC_SRC_DIR)/pe/lim/lim_trace.o \ 537 $(MAC_SRC_DIR)/pe/lim/lim_utils.o 538 539ifeq ($(CONFIG_QCOM_TDLS),y) 540MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_tdls.o 541endif 542 543ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y) 544MAC_NDP_OBJS += $(MAC_SRC_DIR)/pe/nan/nan_datapath.o 545endif 546 547ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y) 548 MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_host_roam.o \ 549 $(MAC_SRC_DIR)/pe/lim/lim_send_frames_host_roam.o \ 550 $(MAC_SRC_DIR)/pe/lim/lim_roam_timer_utils.o \ 551 $(MAC_SRC_DIR)/pe/lim/lim_ft_preauth.o \ 552 $(MAC_SRC_DIR)/pe/lim/lim_reassoc_utils.o 553endif 554 555MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/sch_api.o \ 556 $(MAC_SRC_DIR)/pe/sch/sch_beacon_gen.o \ 557 $(MAC_SRC_DIR)/pe/sch/sch_beacon_process.o \ 558 $(MAC_SRC_DIR)/pe/sch/sch_debug.o \ 559 $(MAC_SRC_DIR)/pe/sch/sch_message.o 560 561MAC_RRM_OBJS := $(MAC_SRC_DIR)/pe/rrm/rrm_api.o 562 563MAC_OBJS := $(MAC_CFG_OBJS) \ 564 $(MAC_DPH_OBJS) \ 565 $(MAC_LIM_OBJS) \ 566 $(MAC_SCH_OBJS) \ 567 $(MAC_RRM_OBJS) \ 568 $(MAC_NDP_OBJS) 569 570############ SAP ############ 571SAP_DIR := core/sap 572SAP_INC_DIR := $(SAP_DIR)/inc 573SAP_SRC_DIR := $(SAP_DIR)/src 574 575SAP_INC := -I$(WLAN_ROOT)/$(SAP_INC_DIR) \ 576 -I$(WLAN_ROOT)/$(SAP_SRC_DIR) 577 578SAP_OBJS := $(SAP_SRC_DIR)/sap_api_link_cntl.o \ 579 $(SAP_SRC_DIR)/sap_ch_select.o \ 580 $(SAP_SRC_DIR)/sap_fsm.o \ 581 $(SAP_SRC_DIR)/sap_module.o 582 583############ DFS ############ 350 584DFS_DIR := $(SAP_DIR)/dfs 585DFS_INC_DIR := $(DFS_DIR)/inc 586DFS_SRC_DIR := $(DFS_DIR)/src 587 588DFS_INC := -I$(WLAN_ROOT)/$(DFS_INC_DIR) \ 589 -I$(WLAN_ROOT)/$(DFS_SRC_DIR) 590 591DFS_OBJS := $(DFS_SRC_DIR)/dfs_bindetects.o \ 592 $(DFS_SRC_DIR)/dfs.o \ 593 $(DFS_SRC_DIR)/dfs_debug.o\ 594 $(DFS_SRC_DIR)/dfs_fcc_bin5.o\ 595 $(DFS_SRC_DIR)/dfs_init.o\ 596 $(DFS_SRC_DIR)/dfs_misc.o\ 597 $(DFS_SRC_DIR)/dfs_nol.o\ 598 $(DFS_SRC_DIR)/dfs_phyerr_tlv.o\ 599 $(DFS_SRC_DIR)/dfs_process_phyerr.o\ 600 $(DFS_SRC_DIR)/dfs_process_radarevent.o\ 601 $(DFS_SRC_DIR)/dfs_staggered.o 602 603############ SME ############ 604SME_DIR := core/sme 605SME_INC_DIR := $(SME_DIR)/inc 606SME_SRC_DIR := $(SME_DIR)/src 607 608SME_INC := -I$(WLAN_ROOT)/$(SME_INC_DIR) \ 609 -I$(WLAN_ROOT)/$(SME_SRC_DIR)/csr 610 611SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \ 612 $(SME_SRC_DIR)/csr/csr_api_scan.o \ 613 $(SME_SRC_DIR)/csr/csr_cmd_process.o \ 614 $(SME_SRC_DIR)/csr/csr_link_list.o \ 615 $(SME_SRC_DIR)/csr/csr_neighbor_roam.o \ 616 $(SME_SRC_DIR)/csr/csr_util.o \ 617 618 619ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y) 620SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_roam_preauth.o \ 621 $(SME_SRC_DIR)/csr/csr_host_scan_roam.o 622endif 623 624 625ifeq ($(CONFIG_QCOM_TDLS),y) 626SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_tdls_process.o 627endif 628 629SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o 630 631SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \ 632 $(SME_SRC_DIR)/common/sme_ft_api.o \ 633 $(SME_SRC_DIR)/common/sme_power_save.o \ 634 $(SME_SRC_DIR)/common/sme_trace.o 635 636SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_api.o 637 638SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o 639 640ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y) 641SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_api.o 642endif 643 644ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y) 645SME_NDP_OBJS += $(SME_SRC_DIR)/nan/nan_datapath_api.o 646endif 647 648SME_OBJS := $(SME_CMN_OBJS) \ 649 $(SME_CSR_OBJS) \ 650 $(SME_P2P_OBJS) \ 651 $(SME_QOS_OBJS) \ 652 $(SME_RRM_OBJS) \ 653 $(SME_NAN_OBJS) \ 654 $(SME_NDP_OBJS) 655 656############ NLINK ############ 657NLINK_DIR := core/utils/nlink 658NLINK_INC_DIR := $(NLINK_DIR)/inc 659NLINK_SRC_DIR := $(NLINK_DIR)/src 660 661NLINK_INC := -I$(WLAN_ROOT)/$(NLINK_INC_DIR) 662NLINK_OBJS := $(NLINK_SRC_DIR)/wlan_nlink_srv.o 663 664############ PTT ############ 665PTT_DIR := core/utils/ptt 666PTT_INC_DIR := $(PTT_DIR)/inc 667PTT_SRC_DIR := $(PTT_DIR)/src 668 669PTT_INC := -I$(WLAN_ROOT)/$(PTT_INC_DIR) 670PTT_OBJS := $(PTT_SRC_DIR)/wlan_ptt_sock_svc.o 671 672############ WLAN_LOGGING ############ 673WLAN_LOGGING_DIR := core/utils/logging 674WLAN_LOGGING_INC_DIR := $(WLAN_LOGGING_DIR)/inc 675WLAN_LOGGING_SRC_DIR := $(WLAN_LOGGING_DIR)/src 676 677WLAN_LOGGING_INC := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR) 678WLAN_LOGGING_OBJS := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o 679 680############ SYS ############ 681SYS_DIR := core/mac/src/sys 682 683SYS_INC := -I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \ 684 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \ 685 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \ 686 -I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc 687 688SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src 689SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src 690SYS_OBJS := $(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \ 691 $(SYS_LEGACY_SRC_DIR)/platform/src/sys_wrapper.o \ 692 $(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \ 693 $(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \ 694 $(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \ 695 $(SYS_LEGACY_SRC_DIR)/utils/src/log_api.o \ 696 $(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \ 697 $(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \ 698 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_api.o \ 699 $(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o 700 701############ Qca-wifi-host-cmn ############ 702QDF_OS_DIR := qdf 703QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc 704QDF_OS_SRC_DIR := $(QDF_OS_DIR)/linux/src 705QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR) 706 707QDF_INC := -I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \ 708 -I$(WLAN_COMMON_INC)/$(QDF_OS_SRC_DIR) 709 710QDF_OBJS := $(QDF_OBJ_DIR)/qdf_defer.o \ 711 $(QDF_OBJ_DIR)/qdf_event.o \ 712 $(QDF_OBJ_DIR)/qdf_list.o \ 713 $(QDF_OBJ_DIR)/qdf_lock.o \ 714 $(QDF_OBJ_DIR)/qdf_mc_timer.o \ 715 $(QDF_OBJ_DIR)/qdf_mem.o \ 716 $(QDF_OBJ_DIR)/qdf_nbuf.o \ 717 $(QDF_OBJ_DIR)/qdf_threads.o \ 718 $(QDF_OBJ_DIR)/qdf_trace.o 719 720############ CDS (Connectivity driver services) ############ 721CDS_DIR := core/cds 722CDS_INC_DIR := $(CDS_DIR)/inc 723CDS_SRC_DIR := $(CDS_DIR)/src 724 725CDS_INC := -I$(WLAN_ROOT)/$(CDS_INC_DIR) \ 726 -I$(WLAN_ROOT)/$(CDS_SRC_DIR) 727 728CDS_OBJS := $(CDS_SRC_DIR)/cds_api.o \ 729 $(CDS_SRC_DIR)/cds_reg_service.o \ 730 $(CDS_SRC_DIR)/cds_mq.o \ 731 $(CDS_SRC_DIR)/cds_packet.o \ 732 $(CDS_SRC_DIR)/cds_regdomain.o \ 733 $(CDS_SRC_DIR)/cds_sched.o \ 734 $(CDS_SRC_DIR)/cds_concurrency.o \ 735 $(CDS_SRC_DIR)/cds_utils.o \ 736 $(CDS_SRC_DIR)/cds_mc_timer.o 737 738 739########### BMI ########### 740BMI_DIR := core/bmi 741 742BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc 743 744BMI_OBJS := $(BMI_DIR)/src/bmi.o \ 745 $(BMI_DIR)/src/ol_fw.o \ 746 $(BMI_DIR)/src/ol_fw_common.o 747BMI_OBJS += $(BMI_DIR)/src/bmi_1.o 748 749########### WMI ########### 750WMI_ROOT_DIR := wmi 751 752WMI_SRC_DIR := $(WMI_ROOT_DIR)/src 753WMI_INC_DIR := $(WMI_ROOT_DIR)/inc 754WMI_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(WMI_SRC_DIR) 755 756WMI_INC := -I$(WLAN_COMMON_INC)/$(WMI_INC_DIR) 757 758WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \ 759 $(WMI_OBJ_DIR)/wmi_tlv_helper.o \ 760 $(WMI_OBJ_DIR)/wmi_unified_tlv.o \ 761 $(WMI_OBJ_DIR)/wmi_unified_api.o \ 762 $(WMI_OBJ_DIR)/wmi_unified_non_tlv.o 763 764########### FWLOG ########### 765FWLOG_DIR := core/utils/fwlog 766 767FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR) 768 769FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o 770 771############ TXRX ############ 772TXRX_DIR := core/dp/txrx 773TXRX_INC := -I$(WLAN_ROOT)/$(TXRX_DIR) 774 775TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \ 776 $(TXRX_DIR)/ol_cfg.o \ 777 $(TXRX_DIR)/ol_rx.o \ 778 $(TXRX_DIR)/ol_rx_fwd.o \ 779 $(TXRX_DIR)/ol_txrx.o \ 780 $(TXRX_DIR)/ol_rx_defrag.o \ 781 $(TXRX_DIR)/ol_tx_desc.o \ 782 $(TXRX_DIR)/ol_tx.o \ 783 $(TXRX_DIR)/ol_rx_reorder_timeout.o \ 784 $(TXRX_DIR)/ol_rx_reorder.o \ 785 $(TXRX_DIR)/ol_rx_pn.o \ 786 $(TXRX_DIR)/ol_tx_queue.o \ 787 $(TXRX_DIR)/ol_txrx_peer_find.o \ 788 $(TXRX_DIR)/ol_txrx_event.o \ 789 $(TXRX_DIR)/ol_txrx_encap.o \ 790 $(TXRX_DIR)/ol_tx_send.o \ 791 $(TXRX_DIR)/ol_tx_sched.o \ 792 $(TXRX_DIR)/ol_tx_classify.o 793 794ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y) 795TXRX_OBJS += $(TXRX_DIR)/ol_txrx_flow_control.o 796endif 797 798############ DP 3.0 ############ 799DP_INC := -I$(WLAN_COMMON_ROOT)/dp/inc \ 800 -I$(WLAN_COMMON_ROOT)/dp/wifi3.0 801 802DP_SRC := $(WLAN_COMMON_ROOT)/dp/wifi3.0 803DP_OBJS := $(DP_SRC)/dp_main.o \ 804 $(DP_SRC)/dp_tx.o \ 805 $(DP_SRC)/dp_tx_desc.o \ 806 $(DP_SRC)/dp_rx.o \ 807 $(DP_SRC)/dp_rx_err.o \ 808 $(DP_SRC)/dp_htt.o \ 809 $(DP_SRC)/dp_peer.o \ 810 $(DP_SRC)/dp_rx_desc.o 811 812############ CFG ############ 813WCFG_DIR := $(WLAN_COMMON_ROOT)/wlan_cfg 814WCFG_INC := -I$(WCFG_DIR) 815WCFG_OBJS := $(WCFG_DIR)/wlan_cfg.o 816 817############ OL ############ 818OL_DIR := core/dp/ol 819OL_INC := -I$(WLAN_ROOT)/$(OL_DIR)/inc 820 821############ CDP ############ 822CDP_ROOT_DIR := dp 823CDP_INC_DIR := $(CDP_ROOT_DIR)/inc 824CDP_INC := -I$(WLAN_COMMON_INC)/$(CDP_INC_DIR) 825 826############ PKTLOG ############ 827PKTLOG_DIR := core/utils/pktlog 828PKTLOG_INC := -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include 829 830PKTLOG_OBJS := $(PKTLOG_DIR)/pktlog_ac.o \ 831 $(PKTLOG_DIR)/pktlog_internal.o \ 832 $(PKTLOG_DIR)/linux_ac.o 833 834############ HTT ############ 835HTT_DIR := core/dp/htt 836HTT_INC := -I$(WLAN_ROOT)/$(HTT_DIR) 837 838HTT_OBJS := $(HTT_DIR)/htt_tx.o \ 839 $(HTT_DIR)/htt.o \ 840 $(HTT_DIR)/htt_t2h.o \ 841 $(HTT_DIR)/htt_h2t.o \ 842 $(HTT_DIR)/htt_fw_stats.o \ 843 $(HTT_DIR)/htt_rx.o 844 845 846############## INIT-DEINIT ########### 847INIT_DEINIT_DIR := init_deinit/dispatcher 848INIT_DEINIT_INC_DIR := $(INIT_DEINIT_DIR)/inc 849INIT_DEINIT_SRC_DIR := $(INIT_DEINIT_DIR)/src 850INIT_DEINIT_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(INIT_DEINIT_SRC_DIR) 851INIT_DEINIT_INC := -I$(WLAN_COMMON_INC)/$(INIT_DEINIT_INC_DIR) 852INIT_DEINIT_OBJS := $(INIT_DEINIT_OBJ_DIR)/dispatcher_init_deinit.o 853 854 855############## HTC ########## 856HTC_DIR := htc 857HTC_INC := -I$(WLAN_COMMON_INC)/$(HTC_DIR) 858 859HTC_OBJS := $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc.o \ 860 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_send.o \ 861 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_recv.o \ 862 $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_services.o 863 864########### HIF ########### 865HIF_DIR := hif 866HIF_CE_DIR := $(HIF_DIR)/src/ce 867 868HIF_DISPATCHER_DIR := $(HIF_DIR)/src/dispatcher 869 870HIF_PCIE_DIR := $(HIF_DIR)/src/pcie 871HIF_SNOC_DIR := $(HIF_DIR)/src/snoc 872HIF_USB_DIR := $(HIF_DIR)/src/usb 873HIF_SDIO_DIR := $(HIF_DIR)/src/sdio 874 875HIF_SDIO_NATIVE_DIR := $(HIF_SDIO_DIR)/native_sdio 876HIF_SDIO_NATIVE_INC_DIR := $(HIF_SDIO_NATIVE_DIR)/include 877HIF_SDIO_NATIVE_SRC_DIR := $(HIF_SDIO_NATIVE_DIR)/src 878 879HIF_INC := -I$(WLAN_COMMON_INC)/$(HIF_DIR)/inc \ 880 -I$(WLAN_COMMON_INC)/$(HIF_DIR)/src \ 881 -I$(WLAN_COMMON_INC)/$(HIF_CE_DIR) 882 883ifeq ($(CONFIG_HIF_PCI), 1) 884HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR) 885HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_PCIE_DIR) 886endif 887 888ifeq ($(CONFIG_HIF_SNOC), 1) 889HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR) 890HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SNOC_DIR) 891endif 892 893ifeq ($(CONFIG_HIF_USB), 1) 894HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR) 895HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_USB_DIR) 896endif 897 898ifeq ($(CONFIG_HIF_SDIO), 1) 899HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR) 900HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_DIR) 901HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_NATIVE_INC_DIR) 902endif 903 904HIF_COMMON_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/ath_procfs.o \ 905 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_main.o \ 906 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/mp_dev.o 907 908HIF_CE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_bmi.o \ 909 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_diag.o \ 910 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_main.o \ 911 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service.o \ 912 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_tasklet.o \ 913 $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/regtable.o \ 914 $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service_srng.o \ 915 916ifeq ($(CONFIG_LITHIUM),y) 917HIF_CE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/qca6290def.o 918endif 919 920HIF_USB_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/usbdrv.o \ 921 $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/hif_usb.o \ 922 $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/if_usb.o \ 923 $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/regtable_usb.o 924 925HIF_SDIO_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_send.o \ 926 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_bmi_reg_access.o \ 927 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_diag_reg_access.o \ 928 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_dev.o \ 929 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio.o \ 930 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_recv.o \ 931 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/regtable_sdio.o 932 933HIF_SDIO_NATIVE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif.o \ 934 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o 935 936ifeq ($(CONFIG_WLAN_NAPI), y) 937HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o 938endif 939 940HIF_PCIE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/if_pci.o 941HIF_SNOC_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/if_snoc.o 942HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/if_sdio.o 943 944HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus.o 945HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/dummy.o 946 947ifeq ($(CONFIG_HIF_PCI), 1) 948HIF_OBJS += $(HIF_PCIE_OBJS) 949HIF_OBJS += $(HIF_COMMON_OBJS) 950HIF_OBJS += $(HIF_CE_OBJS) 951HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_pci.o 952endif 953 954ifeq ($(CONFIG_HIF_SNOC), 1) 955HIF_OBJS += $(HIF_SNOC_OBJS) 956HIF_OBJS += $(HIF_COMMON_OBJS) 957HIF_OBJS += $(HIF_CE_OBJS) 958HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_snoc.o 959endif 960 961ifeq ($(CONFIG_HIF_SDIO), 1) 962HIF_OBJS += $(HIF_SDIO_OBJS) 963HIF_OBJS += $(HIF_SDIO_NATIVE_OBJS) 964HIF_OBJS += $(HIF_COMMON_OBJS) 965HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_sdio.o 966endif 967 968ifeq ($(CONFIG_HIF_USB), 1) 969HIF_OBJS += $(HIF_USB_OBJS) 970HIF_OBJS += $(HIF_COMMON_OBJS) 971HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_usb.o 972endif 973 974############ HAL ############ 975HAL_DIR := hal 976HAL_INC := -I$(WLAN_COMMON_INC)/$(HAL_DIR)/inc \ 977 -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0 978 979HAL_OBJS := $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/hal_srng.o \ 980 $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/hal_rx.o \ 981 $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/hal_wbm.o 982 983############ WMA ############ 984WMA_DIR := core/wma 985 986WMA_INC_DIR := $(WMA_DIR)/inc 987WMA_SRC_DIR := $(WMA_DIR)/src 988 989WMA_INC := -I$(WLAN_ROOT)/$(WMA_INC_DIR) \ 990 -I$(WLAN_ROOT)/$(WMA_SRC_DIR) 991 992ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y) 993WMA_NDP_OBJS += $(WMA_SRC_DIR)/wma_nan_datapath.o 994endif 995 996WMA_OBJS := $(WMA_SRC_DIR)/wma_main.o \ 997 $(WMA_SRC_DIR)/wma_scan_roam.o \ 998 $(WMA_SRC_DIR)/wma_dev_if.o \ 999 $(WMA_SRC_DIR)/wma_mgmt.o \ 1000 $(WMA_SRC_DIR)/wma_power.o \ 1001 $(WMA_SRC_DIR)/wma_data.o \ 1002 $(WMA_SRC_DIR)/wma_utils.o \ 1003 $(WMA_SRC_DIR)/wma_features.o \ 1004 $(WMA_SRC_DIR)/wma_dfs_interface.o \ 1005 $(WMA_SRC_DIR)/wlan_qct_wma_legacy.o\ 1006 $(WMA_NDP_OBJS) 1007 1008ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y) 1009WMA_OBJS+= $(WMA_DIR)/wma_ocb.o 1010endif 1011ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y) 1012WMA_OBJS += $(WMA_SRC_DIR)/wma_utils_ut.o 1013endif 1014 1015############## PLD ########## 1016PLD_DIR := core/pld 1017PLD_INC_DIR := $(PLD_DIR)/inc 1018PLD_SRC_DIR := $(PLD_DIR)/src 1019 1020PLD_INC := -I$(WLAN_ROOT)/$(PLD_INC_DIR) \ 1021 -I$(WLAN_ROOT)/$(PLD_SRC_DIR) 1022 1023PLD_OBJS := $(PLD_SRC_DIR)/pld_common.o 1024 1025ifeq ($(CONFIG_PCI), y) 1026PLD_OBJS += $(PLD_SRC_DIR)/pld_pcie.o 1027endif 1028ifeq ($(CONFIG_ICNSS),y) 1029PLD_OBJS += $(PLD_SRC_DIR)/pld_snoc.o 1030endif 1031ifeq ($(CONFIG_CNSS_SDIO),y) 1032PLD_OBJS += $(PLD_SRC_DIR)/pld_sdio.o 1033endif 1034ifeq ($(CONFIG_PLD_USB_CNSS), y) 1035PLD_OBJS += $(PLD_SRC_DIR)/pld_usb.o 1036endif 1037 1038TARGET_INC := -I$(WLAN_ROOT)/../fw-api/hw/qca6290/v1 \ 1039 -I$(WLAN_ROOT)/../fw-api/fw 1040 1041LINUX_INC := -Iinclude/linux 1042 1043INCS := $(HDD_INC) \ 1044 $(EPPING_INC) \ 1045 $(LINUX_INC) \ 1046 $(MAC_INC) \ 1047 $(SAP_INC) \ 1048 $(SME_INC) \ 1049 $(SYS_INC) \ 1050 $(QDF_INC) \ 1051 $(CDS_INC) \ 1052 $(DFS_INC) 1053 1054INCS += $(WMA_INC) \ 1055 $(UAPI_INC) \ 1056 $(COMMON_INC) \ 1057 $(WMI_INC) \ 1058 $(FWLOG_INC) \ 1059 $(TXRX_INC) \ 1060 $(OL_INC) \ 1061 $(CDP_INC) \ 1062 $(PKTLOG_INC) \ 1063 $(HTT_INC) \ 1064 $(INIT_DEINIT_INC) \ 1065 $(HTC_INC) \ 1066 $(DFS_INC) \ 1067 $(WCFG_INC) \ 1068 $(DP_INC) 1069 1070INCS += $(HIF_INC) \ 1071 $(BMI_INC) \ 1072 $(HAL_INC) 1073 1074INCS += $(TARGET_INC) 1075 1076INCS += $(NLINK_INC) \ 1077 $(PTT_INC) \ 1078 $(WLAN_LOGGING_INC) 1079 1080INCS += $(PLD_INC) 1081 1082ifeq ($(CONFIG_REMOVE_PKT_LOG), 0) 1083INCS += $(PKTLOG_INC) 1084endif 1085 1086ifeq ($(BUILD_DIAG_VERSION), 1) 1087INCS += $(HOST_DIAG_LOG_INC) 1088endif 1089 1090OBJS := $(HDD_OBJS) \ 1091 $(EPPING_OBJS) \ 1092 $(MAC_OBJS) \ 1093 $(SAP_OBJS) \ 1094 $(SME_OBJS) \ 1095 $(SYS_OBJS) \ 1096 $(QDF_OBJS) \ 1097 $(CDS_OBJS) \ 1098 $(DFS_OBJS) 1099 1100OBJS += $(WMA_OBJS) \ 1101 $(TXRX_OBJS) \ 1102 $(WMI_OBJS) \ 1103 $(FWLOG_OBJS) \ 1104 $(HTC_OBJS) \ 1105 $(INIT_DEINIT_OBJS) \ 1106 $(DFS_OBJS) 1107 1108OBJS += $(HIF_OBJS) \ 1109 $(BMI_OBJS) \ 1110 $(HTT_OBJS) \ 1111 $(HAL_OBJS) 1112 1113OBJS += $(WLAN_LOGGING_OBJS) 1114OBJS += $(NLINK_OBJS) 1115OBJS += $(PTT_OBJS) 1116 1117OBJS += $(PLD_OBJS) 1118 1119ifeq ($(CONFIG_REMOVE_PKT_LOG), 0) 1120OBJS += $(PKTLOG_OBJS) 1121endif 1122 1123ifeq ($(BUILD_DIAG_VERSION), 1) 1124OBJS += $(HOST_DIAG_LOG_OBJS) 1125endif 1126 1127OBJS += $(DP_OBJS) \ 1128 $(WCFG_OBJS) 1129 1130EXTRA_CFLAGS += $(INCS) 1131 1132CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \ 1133 -DANI_LITTLE_BIT_ENDIAN \ 1134 -DDOT11F_LITTLE_ENDIAN_HOST \ 1135 -DANI_COMPILER_TYPE_GCC \ 1136 -DANI_OS_TYPE_ANDROID=6 \ 1137 -DPTT_SOCK_SVC_ENABLE \ 1138 -Wall\ 1139 -Werror\ 1140 -D__linux__ \ 1141 -DHAL_SELF_STA_PER_BSS=1 \ 1142 -DFEATURE_WLAN_WAPI \ 1143 -DFEATURE_OEM_DATA_SUPPORT\ 1144 -DSOFTAP_CHANNEL_RANGE \ 1145 -DWLAN_AP_STA_CONCURRENCY \ 1146 -DFEATURE_WLAN_SCAN_PNO \ 1147 -DWLAN_FEATURE_PACKET_FILTERING \ 1148 -DWLAN_FEATURE_P2P_DEBUG \ 1149 -DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \ 1150 -DWLANTL_DEBUG\ 1151 -DWLAN_NS_OFFLOAD \ 1152 -DWLAN_SOFTAP_VSTA_FEATURE \ 1153 -DWLAN_FEATURE_GTK_OFFLOAD \ 1154 -DWLAN_WAKEUP_EVENTS \ 1155 -DFEATURE_WLAN_RA_FILTERING\ 1156 -DWLAN_NL80211_TESTMODE \ 1157 -DFEATURE_WLAN_LPHB \ 1158 -DQCA_SUPPORT_TX_THROTTLE \ 1159 -DWMI_INTERFACE_EVENT_LOGGING \ 1160 -DATH_SUPPORT_WAPI \ 1161 -DWLAN_FEATURE_LINK_LAYER_STATS \ 1162 -DFEATURE_WLAN_EXTSCAN \ 1163 -DWLAN_FEATURE_MBSSID \ 1164 -DCONFIG_160MHZ_SUPPORT \ 1165 -DCONFIG_MCL 1166 1167ifneq ($(CONFIG_HIF_USB), 1) 1168CDEFINES += -DWLAN_LOGGING_SOCK_SVC_ENABLE 1169endif 1170 1171ifeq ($(CONFIG_CNSS), y) 1172ifeq ($(CONFIG_CNSS_SDIO), y) 1173CDEFINES += -DCONFIG_PLD_SDIO_CNSS 1174else 1175CDEFINES += -DCONFIG_PLD_PCIE_CNSS 1176endif 1177endif 1178 1179ifeq ($(CONFIG_CNSS2), y) 1180CDEFINES += -DCONFIG_PLD_PCIE_CNSS 1181CDEFINES += -DCONFIG_PLD_PCIE_INIT 1182endif 1183 1184ifeq ($(CONFIG_ICNSS), y) 1185CDEFINES += -DCONFIG_PLD_SNOC_ICNSS 1186endif 1187 1188ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS))) 1189CDEFINES += -DQCA_WIFI_3_0 1190CDEFINES += -DQCA_WIFI_3_0_EMU 1191endif 1192 1193ifeq (y,$(filter y,$(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS))) 1194CDEFINES += -DQCA_WIFI_3_0_ADRASTEA 1195CDEFINES += -DADRASTEA_SHADOW_REGISTERS 1196CDEFINES += -DADRASTEA_RRI_ON_DDR 1197endif 1198 1199ifeq ($(CONFIG_WLAN_FASTPATH), y) 1200CDEFINES += -DWLAN_FEATURE_FASTPATH 1201endif 1202 1203ifeq ($(CONFIG_FEATURE_PKTLOG), y) 1204CDEFINES += -DFEATURE_PKTLOG 1205endif 1206 1207ifeq ($(CONFIG_FEATURE_DP_TRACE), y) 1208CDEFINES += -DFEATURE_DP_TRACE 1209endif 1210 1211ifeq ($(CONFIG_WLAN_NAPI), y) 1212CDEFINES += -DFEATURE_NAPI 1213ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y) 1214CDEFINES += -DFEATURE_NAPI_DEBUG 1215endif 1216endif 1217 1218ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM))) 1219CDEFINES += -DMSM_PLATFORM 1220endif 1221 1222CDEFINES += -DQCA_SUPPORT_TXRX_LOCAL_PEER_ID 1223 1224ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y) 1225CDEFINES += -DQCA_LL_TX_FLOW_CONTROL_V2 1226CDEFINES += -DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL 1227else 1228ifeq ($(CONFIG_ROME_IF),pci) 1229ifneq ($(CONFIG_LITHIUM),y) 1230CDEFINES += -DQCA_LL_LEGACY_TX_FLOW_CONTROL 1231endif 1232endif 1233endif 1234 1235ifneq ($(CONFIG_QCA_CLD_WLAN),) 1236CDEFINES += -DWCN_PRONTO 1237CDEFINES += -DWCN_PRONTO_V1 1238endif 1239 1240ifeq ($(BUILD_DEBUG_VERSION),1) 1241CDEFINES += -DWLAN_DEBUG \ 1242 -DTRACE_RECORD \ 1243 -DLIM_TRACE_RECORD \ 1244 -DSME_TRACE_RECORD \ 1245 -DHDD_TRACE_RECORD \ 1246 -DPE_DEBUG_LOGW \ 1247 -DPE_DEBUG_LOGE 1248endif 1249 1250ifeq ($(CONFIG_SLUB_DEBUG_ON),y) 1251CDEFINES += -DTIMER_MANAGER 1252CDEFINES += -DMEMORY_DEBUG 1253CDEFINES += -DWLAN_SUSPEND_RESUME_TEST 1254endif 1255 1256ifeq ($(HAVE_CFG80211),1) 1257CDEFINES += -DWLAN_FEATURE_P2P 1258CDEFINES += -DWLAN_FEATURE_WFD 1259ifeq ($(CONFIG_QCOM_VOWIFI_11R),y) 1260CDEFINES += -DKERNEL_SUPPORT_11R_CFG80211 1261CDEFINES += -DUSE_80211_WMMTSPEC_FOR_RIC 1262endif 1263endif 1264 1265ifeq ($(CONFIG_QCOM_ESE),y) 1266CDEFINES += -DFEATURE_WLAN_ESE 1267CDEFINES += -DQCA_COMPUTE_TX_DELAY 1268CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID 1269endif 1270 1271#normally, TDLS negative behavior is not needed 1272ifeq ($(CONFIG_QCOM_TDLS),y) 1273CDEFINES += -DFEATURE_WLAN_TDLS 1274endif 1275 1276ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y) 1277CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD 1278endif 1279 1280ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y) 1281CDEFINES += -DWLAN_FEATURE_HOST_ROAM 1282endif 1283 1284ifeq ($(BUILD_DIAG_VERSION),1) 1285CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT 1286CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_CSR 1287CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_LIM 1288ifeq ($(CONFIG_HIF_PCI), 1) 1289CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT 1290endif 1291endif 1292 1293ifeq ($(CONFIG_HIF_USB), 1) 1294CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT 1295CDEFINES += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT 1296CDEFINES += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0 1297endif 1298 1299ifeq ($(CONFIG_WLAN_FEATURE_11W),y) 1300CDEFINES += -DWLAN_FEATURE_11W 1301endif 1302 1303ifeq ($(CONFIG_QCA_TXDESC_SANITY_CHECKS), 1) 1304CDEFINES += -DQCA_SUPPORT_TXDESC_SANITY_CHECKS 1305endif 1306 1307ifeq ($(CONFIG_QCOM_LTE_COEX),y) 1308CDEFINES += -DFEATURE_WLAN_CH_AVOID 1309endif 1310 1311ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y) 1312CDEFINES += -DWLAN_FEATURE_LPSS 1313endif 1314 1315ifneq ($(TARGET_BUILD_VARIANT),user) 1316CDEFINES += -DDESC_DUP_DETECT_DEBUG 1317CDEFINES += -DDEBUG_RX_RING_BUFFER 1318endif 1319 1320ifeq ($(PANIC_ON_BUG),1) 1321CDEFINES += -DPANIC_ON_BUG 1322endif 1323 1324ifeq ($(WLAN_OPEN_SOURCE), 1) 1325CDEFINES += -DWLAN_OPEN_SOURCE 1326endif 1327 1328ifeq ($(CONFIG_FEATURE_STATS_EXT), 1) 1329CDEFINES += -DWLAN_FEATURE_STATS_EXT 1330endif 1331 1332ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y) 1333CDEFINES += -DWLAN_FEATURE_NAN 1334endif 1335 1336ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1) 1337CDEFINES += -DQCA_IBSS_SUPPORT 1338endif 1339 1340#Enable OL debug and wmi unified functions 1341ifeq ($(CONFIG_ATH_PERF_PWR_OFFLOAD), 1) 1342CDEFINES += -DATH_PERF_PWR_OFFLOAD 1343endif 1344 1345#Disable packet log 1346ifeq ($(CONFIG_REMOVE_PKT_LOG), 1) 1347CDEFINES += -DREMOVE_PKT_LOG 1348endif 1349 1350#Enable 11AC TX 1351ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1) 1352CDEFINES += -DATH_11AC_TXCOMPACT 1353endif 1354 1355#Enable OS specific IRQ abstraction 1356ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1) 1357CDEFINES += -DATH_SUPPORT_SHARED_IRQ 1358endif 1359 1360#Enable message based HIF instead of RAW access in BMI 1361ifeq ($(CONFIG_HIF_MESSAGE_BASED), 1) 1362CDEFINES += -DHIF_MESSAGE_BASED 1363endif 1364 1365#Enable PCI specific APIS (dma, etc) 1366ifeq ($(CONFIG_HIF_PCI), 1) 1367CDEFINES += -DHIF_PCI 1368endif 1369 1370ifeq ($(CONFIG_HIF_SNOC), 1) 1371CDEFINES += -DHIF_SNOC 1372endif 1373 1374#Enable High Latency related Flags 1375ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) 1376CDEFINES += -DCONFIG_HL_SUPPORT \ 1377 -DCONFIG_AR6320_SUPPORT \ 1378 -DSDIO_3_0 \ 1379 -DHIF_SDIO \ 1380 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0 \ 1381 -DCONFIG_ATH_PROCFS_DIAG_SUPPORT \ 1382 -DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL \ 1383 -DHIF_MBOX_SLEEP_WAR \ 1384 -DDEBUG_HL_LOGGING \ 1385 -DQCA_BAD_PEER_TX_FLOW_CL \ 1386 -DCONFIG_TX_DESC_HI_PRIO_RESERVE \ 1387 -DCONFIG_PER_VDEV_TX_DESC_POOL \ 1388 -DCONFIG_SDIO \ 1389 -DFEATURE_WLAN_FORCE_SAP_SCC 1390endif 1391 1392ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y) 1393CDEFINES += -DWLAN_FEATURE_DSRC 1394endif 1395 1396#Enable USB specific APIS 1397ifeq ($(CONFIG_HIF_USB), 1) 1398CDEFINES += -DHIF_USB \ 1399 -DCONFIG_PLD_USB_CNSS \ 1400 -DCONFIG_HL_SUPPORT 1401endif 1402 1403#Enable FW logs through ini 1404CDEFINES += -DCONFIG_FW_LOGS_BASED_ON_INI 1405 1406#Enable pci read/write config functions 1407ifeq ($(CONFIG_ATH_PCI), 1) 1408CDEFINES += -DATH_PCI 1409endif 1410 1411#Enable power management suspend/resume functionality 1412ifeq ($(CONFIG_ATH_BUS_PM), 1) 1413CDEFINES += -DATH_BUS_PM 1414endif 1415 1416#Enable FLOWMAC module support 1417ifeq ($(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE), 1) 1418CDEFINES += -DATH_SUPPORT_FLOWMAC_MODULE 1419endif 1420 1421#Enable spectral support 1422ifeq ($(CONFIG_ATH_SUPPORT_SPECTRAL), 1) 1423CDEFINES += -DATH_SUPPORT_SPECTRAL 1424endif 1425 1426#Enable WDI Event support 1427ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1) 1428CDEFINES += -DWDI_EVENT_ENABLE 1429endif 1430 1431#Endianess selection 1432ifeq ($(CONFIG_LITTLE_ENDIAN), 1) 1433AH_LITTLE_ENDIAN=1234 1434CDEFINES += -DAH_BYTE_ORDER=$(AH_LITTLE_ENDIAN) 1435else 1436AH_BIG_ENDIAN=4321 1437CDEFINES += -DAH_BYTE_ORDER=$(AH_BIG_ENDIAN) 1438CDEFINES += -DBIG_ENDIAN_HOST 1439endif 1440 1441#Enable TX reclaim support 1442ifeq ($(CONFIG_TX_CREDIT_RECLAIM_SUPPORT), 1) 1443CDEFINES += -DTX_CREDIT_RECLAIM_SUPPORT 1444endif 1445 1446#Enable FTM support 1447ifeq ($(CONFIG_QCA_WIFI_FTM), 1) 1448CDEFINES += -DQCA_WIFI_FTM 1449endif 1450 1451#Enable Checksum Offload support 1452ifeq ($(CONFIG_CHECKSUM_OFFLOAD), 1) 1453CDEFINES += -DCHECKSUM_OFFLOAD 1454endif 1455 1456#Enable Checksum Offload support 1457ifeq ($(CONFIG_IPA_OFFLOAD), 1) 1458CDEFINES += -DIPA_OFFLOAD 1459endif 1460 1461ifneq ($(CONFIG_ARCH_MDM9630), y) 1462ifeq ($(CONFIG_ARCH_MDM9640), y) 1463CDEFINES += -DQCA_CONFIG_SMP 1464endif 1465endif 1466 1467#Enable GTK Offload 1468ifeq ($(CONFIG_GTK_OFFLOAD), 1) 1469CDEFINES += -DWLAN_FEATURE_GTK_OFFLOAD 1470CDEFINES += -DIGTK_OFFLOAD 1471endif 1472 1473#Enable GTK Offload 1474ifeq ($(CONFIG_EXT_WOW), 1) 1475CDEFINES += -DWLAN_FEATURE_EXTWOW_SUPPORT 1476endif 1477 1478#Mark it as SMP Kernel 1479ifeq ($(CONFIG_SMP),y) 1480CDEFINES += -DQCA_CONFIG_SMP 1481endif 1482 1483#Enable Channel Matrix restriction for all Rome only targets 1484ifneq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS))) 1485CDEFINES += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION 1486endif 1487 1488#Enable OBSS feature 1489CDEFINES += -DQCA_HT_2040_COEX 1490 1491#features specific to mobile router use case 1492ifeq ($(CONFIG_MOBILE_ROUTER), y) 1493 1494#enable MCC TO SCC switch 1495CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH 1496 1497#enable wlan auto shutdown feature 1498CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN 1499 1500#enable for MBSSID 1501CDEFINES += -DWLAN_FEATURE_MBSSID 1502 1503#enable AP-AP ACS Optimization 1504CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE 1505 1506#Enable 4address scheme 1507CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME 1508 1509#Disable STA-AP Mode DFS support 1510CDEFINES += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE 1511 1512else #CONFIG_MOBILE_ROUTER 1513 1514#Open P2P device interface only for non-Mobile router use cases 1515CDEFINES += -DWLAN_OPEN_P2P_INTERFACE 1516 1517#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage 1518CDEFINES += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY 1519 1520endif #CONFIG_MOBILE_ROUTER 1521 1522#Green AP feature 1523ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y) 1524CDEFINES += -DFEATURE_GREEN_AP 1525endif 1526 1527#Enable RX Full re-order OL feature only "LL and NON-MDM9630 platform" 1528ifneq ($(CONFIG_ARCH_MDM9630), y) 1529ifeq ($(CONFIG_HIF_PCI), 1) 1530CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL 1531endif 1532endif 1533 1534#Enable Signed firmware support for split binary format 1535ifeq ($(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT), 1) 1536CDEFINES += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT 1537endif 1538 1539#Enable single firmware binary format 1540ifeq ($(CONFIG_QCA_SINGLE_BINARY_SUPPORT), 1) 1541CDEFINES += -DQCA_SINGLE_BINARY_SUPPORT 1542endif 1543 1544#Enable collecting target RAM dump after kernel panic 1545ifeq ($(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC), 1) 1546CDEFINES += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC 1547endif 1548 1549#Enable/disable secure firmware feature 1550ifeq ($(CONFIG_FEATURE_SECURE_FIRMWARE), 1) 1551CDEFINES += -DFEATURE_SECURE_FIRMWARE 1552endif 1553 1554ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1) 1555CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG 1556endif 1557 1558# Enable feature support fo Linux version QCMBR 1559ifeq ($(CONFIG_LINUX_QCMBR),y) 1560CDEFINES += -DLINUX_QCMBR 1561endif 1562 1563# Enable featue sync tsf between multi devices 1564ifeq ($(CONFIG_WLAN_SYNC_TSF), y) 1565CDEFINES += -DWLAN_FEATURE_TSF 1566endif 1567 1568# Enable full rx re-order offload for adrastea 1569ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS))) 1570CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL 1571endif 1572 1573# Enable athdiag procfs debug support for adrastea 1574ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS))) 1575CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT 1576endif 1577 1578# Enable 11AC TX compact feature for adrastea 1579ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS))) 1580CDEFINES += -DATH_11AC_TXCOMPACT 1581endif 1582 1583# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS 1584ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS))) 1585CONFIG_HELIUMPLUS := y 1586CONFIG_64BIT_PADDR := y 1587CONFIG_FEATURE_TSO := y 1588CONFIG_FEATURE_TSO_DEBUG := y 1589ifeq ($(CONFIG_HELIUMPLUS),y) 1590CDEFINES += -DHELIUMPLUS_PADDR64 1591CDEFINES += -DHELIUMPLUS 1592CDEFINES += -DAR900B 1593ifeq ($(CONFIG_64BIT_PADDR),y) 1594CDEFINES += -DHTT_PADDR64 1595endif 1596endif 1597endif 1598 1599ifeq ($(CONFIG_FEATURE_TSO),y) 1600CDEFINES += -DFEATURE_TSO 1601endif 1602ifeq ($(CONFIG_FEATURE_TSO_DEBUG),y) 1603CDEFINES += -DFEATURE_TSO_DEBUG 1604endif 1605 1606ifeq ($(CONFIG_WLAN_LRO), y) 1607CDEFINES += -DFEATURE_LRO 1608endif 1609 1610ifeq ($(CONFIG_MOBILE_ROUTER), y) 1611CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE 1612endif 1613 1614ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y) 1615CDEFINES += -DMPC_UT_FRAMEWORK 1616endif 1617 1618ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y) 1619CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS 1620endif 1621 1622ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y) 1623CDEFINES += -DWLAN_FEATURE_MEMDUMP 1624endif 1625 1626ifeq ($(CONFIG_WLAN_FEATURE_DISA),y) 1627CDEFINES += -DWLAN_FEATURE_DISA 1628endif 1629 1630ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y) 1631CDEFINES += -DFEATURE_LFR_SUBNET_DETECTION 1632endif 1633 1634ifeq ($(CONFIG_MCC_TO_SCC_SWITCH), y) 1635CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH 1636endif 1637 1638ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y) 1639CDEFINES += -DWLAN_FEATURE_NAN_DATAPATH 1640endif 1641 1642ifeq ($(CONFIG_LITHIUM),y) 1643CDEFINES += -DQCA6290_HEADERS_DEF 1644CDEFINES += -DQCA_WIFI_QCA8074 1645CDEFINES += -DQCA_WIFI_NAPIER_EMULATION 1646CDEFINES += -DQCA_WIFI_QCA8074_VP 1647CDEFINES += -DDP_INTR_POLL_BASED 1648CDEFINES += -DTX_PER_VDEV_DESC_POOL 1649endif 1650 1651# Dummy flag for WIN/MCL converged data path compilation 1652CDEFINES += -DDP_PRINT_ENABLE=0 1653CDEFINES += -DATH_SUPPORT_WRAP=0 1654#CDEFINES += -DQCA_HOST2FW_RXBUF_RING=0 1655#endof dummy flags 1656 1657KBUILD_CPPFLAGS += $(CDEFINES) 1658 1659# Currently, for versions of gcc which support it, the kernel Makefile 1660# is disabling the maybe-uninitialized warning. Re-enable it for the 1661# WLAN driver. Note that we must use EXTRA_CFLAGS here so that it 1662# will override the kernel settings. 1663ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y) 1664EXTRA_CFLAGS += -Wmaybe-uninitialized 1665ifneq (y,$(CONFIG_ARCH_MSM)) 1666EXTRA_CFLAGS += -Wframe-larger-than=4096 1667endif 1668endif 1669 1670ifeq ($(call cc-option-yn, -Wheader-guard),y) 1671EXTRA_CFLAGS += -Wheader-guard 1672endif 1673# If the module name is not "wlan", then the define MULTI_IF_NAME to be the 1674# same a the module name. The host driver will then append MULTI_IF_NAME to 1675# any string that must be unique for all instances of the driver on the system. 1676# This allows multiple instances of the driver with different module names. 1677# If the module name is wlan, leave MULTI_IF_NAME undefined and the code will 1678# treat the driver as the primary driver. 1679ifneq ($(MODNAME), wlan) 1680CDEFINES += -DMULTI_IF_NAME=\"$(MODNAME)\" 1681endif 1682 1683# WLAN_HDD_ADAPTER_MAGIC must be unique for all instances of the driver on the 1684# system. If it is not defined, then the host driver will use the first 4 1685# characters (including NULL) of MULTI_IF_NAME to construct 1686# WLAN_HDD_ADAPTER_MAGIC. 1687ifdef WLAN_HDD_ADAPTER_MAGIC 1688CDEFINES += -DWLAN_HDD_ADAPTER_MAGIC=$(WLAN_HDD_ADAPTER_MAGIC) 1689endif 1690 1691# Module information used by KBuild framework 1692obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o 1693$(MODNAME)-y := $(OBJS) 1694 1695