default_defconfig 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065
  1. ifeq ($(CONFIG_CNSS_QCA6290), y)
  2. ifeq ($(CONFIG_CNSS_EMULATION), y)
  3. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  4. endif
  5. CONFIG_LITHIUM := y
  6. CONFIG_QCA6290_11AX := y
  7. CONFIG_WLAN_FEATURE_11AX := y
  8. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  9. CONFIG_IPA3 := n
  10. endif
  11. ifeq ($(CONFIG_CNSS_QCA6390), y)
  12. ifeq ($(CONFIG_CNSS_EMULATION), y)
  13. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  14. endif
  15. CONFIG_LITHIUM := y
  16. CONFIG_WLAN_FEATURE_11AX := y
  17. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  18. ifeq ($(CONFIG_ARCH_SDM845), y)
  19. CONFIG_IPA3 := n
  20. endif
  21. CONFIG_SCALE_INCLUDES := y
  22. CONFIG_HASTINGS_BT_WAR := y
  23. CONFIG_WDI3_IPA_OVER_GSI :=y
  24. CONFIG_DIRECT_BUF_RX_ENABLE := y
  25. CONFIG_WMI_DBR_SUPPORT := y
  26. endif
  27. ifeq ($(CONFIG_CNSS_QCA6490), y)
  28. ifeq ($(CONFIG_CNSS_EMULATION), y)
  29. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  30. endif
  31. CONFIG_LITHIUM := y
  32. CONFIG_WLAN_FEATURE_11AX := y
  33. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  34. ifeq ($(CONFIG_ARCH_SDM845), y)
  35. CONFIG_IPA3 := n
  36. endif
  37. CONFIG_SCALE_INCLUDES := y
  38. CONFIG_HASTINGS_BT_WAR := y
  39. CONFIG_WDI3_IPA_OVER_GSI :=y
  40. endif
  41. ifeq ($(CONFIG_CNSS_QCA6750), y)
  42. ifeq ($(CONFIG_CNSS_EMULATION), y)
  43. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  44. endif
  45. CONFIG_LITHIUM := y
  46. CONFIG_WLAN_FEATURE_11AX := y
  47. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  48. ifeq ($(CONFIG_ARCH_SDM845), y)
  49. CONFIG_IPA3 := n
  50. endif
  51. CONFIG_SCALE_INCLUDES := y
  52. CONFIG_HASTINGS_BT_WAR := y
  53. CONFIG_WDI3_IPA_OVER_GSI :=y
  54. endif
  55. ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
  56. CONFIG_QCA_WIFI_SDIO := y
  57. ifndef CONFIG_SDIO_TRANSFER
  58. CONFIG_SDIO_TRANSFER = mailbox
  59. endif
  60. endif
  61. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  62. CONFIG_ROME_IF = sdio
  63. endif
  64. ifdef CONFIG_ICNSS
  65. CONFIG_ROME_IF = snoc
  66. endif
  67. ifdef CONFIG_ICNSS2
  68. CONFIG_ROME_IF = ipci
  69. endif
  70. ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
  71. ifndef CONFIG_ROME_IF
  72. #use pci as default interface
  73. CONFIG_ROME_IF = pci
  74. endif
  75. endif
  76. ifeq (m,$(findstring m,$(CONFIG_CNSS2)))
  77. ifndef CONFIG_ROME_IF
  78. #use pci as default interface
  79. CONFIG_ROME_IF = pci
  80. endif
  81. endif
  82. # Make WLAN as open-source driver by default
  83. WLAN_OPEN_SOURCE := y
  84. ifeq ($(CONFIG_ICNSS), y)
  85. CONFIG_HELIUMPLUS := y
  86. CONFIG_64BIT_PADDR := y
  87. CONFIG_FEATURE_TSO := y
  88. CONFIG_FEATURE_TSO_DEBUG := y
  89. ifeq ($(CONFIG_INET_LRO), y)
  90. CONFIG_WLAN_LRO := y
  91. else
  92. CONFIG_WLAN_LRO := n
  93. endif
  94. endif
  95. ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
  96. ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
  97. CONFIG_BUILD_TAG := y
  98. endif
  99. endif
  100. ifeq ($(CONFIG_ARCH_MDM9630), y)
  101. CONFIG_MOBILE_ROUTER := y
  102. endif
  103. ifeq ($(CONFIG_ARCH_MDM9640), y)
  104. CONFIG_MOBILE_ROUTER := y
  105. endif
  106. ifeq ($(CONFIG_ARCH_SDX20), y)
  107. CONFIG_MOBILE_ROUTER := y
  108. endif
  109. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  110. CONFIG_MOBILE_ROUTER := y
  111. endif
  112. ifeq ($(CONFIG_ARCH_MSM8917), y)
  113. ifeq ($(CONFIG_ROME_IF), sdio)
  114. CONFIG_WLAN_SYNC_TSF_PLUS := y
  115. endif
  116. endif
  117. ifeq (y,$(findstring y,$(CONFIG_ARCH_QCS405) $(CONFIG_ARCH_QCS403)))
  118. CONFIG_ARCH_QCS40X := y
  119. endif
  120. ifeq ($(CONFIG_ARCH_QCS40X), y)
  121. CONFIG_WLAN_SYNC_TSF_PLUS := y
  122. CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ := y
  123. CONFIG_RX_PERFORMANCE := y
  124. CONFIG_TGT_NUM_MSDU_DESC := 900
  125. CONFIG_MULTI_IF_LOG := y
  126. CONFIG_DFS_PRI_MULTIPLIER := y
  127. CONFIG_DFS_OVERRIDE_RF_THRESHOLD := y
  128. endif
  129. CONFIG_WLAN_FEATURE_MBSSID := y
  130. #Flag to enable Legacy Fast Roaming3(LFR3)
  131. ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
  132. CONFIG_QCACLD_WLAN_LFR3 := y
  133. else
  134. CONFIG_QCACLD_WLAN_LFR2 := y
  135. endif
  136. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  137. #Flag to enable TDLS feature
  138. CONFIG_QCOM_TDLS := y
  139. CONFIG_WLAN_SYSFS := y
  140. #Enable Beacon Reception Stats
  141. CONFIG_FEATURE_BECN_STATS := y
  142. endif
  143. #Disable the Export Symbol config
  144. CONFIG_WLAN_DISABLE_EXPORT_SYMBOL := y
  145. CONFIG_QCACLD_FEATURE_GREEN_AP := y
  146. #Flag to enable Android Packet Filtering
  147. CONFIG_QCACLD_FEATURE_APF := y
  148. #Flag to enable SARv1 -> SARv2 conversion
  149. CONFIG_WLAN_FEATURE_SARV1_TO_SARV2 := n
  150. #Flag to enable get firmware state
  151. CONFIG_QCACLD_FEATURE_FW_STATE := y
  152. #Flag to enable set coex configuration
  153. CONFIG_QCACLD_FEATURE_COEX_CONFIG := n
  154. #Flag to enable get hw capability
  155. ifeq ($(CONFIG_ARCH_QCS40X), y)
  156. CONFIG_QCACLD_FEATURE_HW_CAPABILITY := y
  157. endif
  158. ifeq ($(CONFIG_ARCH_MSM8998), y)
  159. CONFIG_QCACLD_FEATURE_METERING := y
  160. endif
  161. ifeq ($(CONFIG_ARCH_SDM660), y)
  162. CONFIG_QCACLD_FEATURE_METERING := y
  163. endif
  164. ifeq ($(CONFIG_ARCH_SDM630), y)
  165. CONFIG_QCACLD_FEATURE_METERING := y
  166. endif
  167. ifeq ($(CONFIG_ARCH_SDM845), y)
  168. CONFIG_QCACLD_FEATURE_METERING := y
  169. endif
  170. ifeq ($(CONFIG_ARCH_SM8150), y)
  171. CONFIG_QCACLD_FEATURE_METERING := y
  172. endif
  173. ifeq ($(CONFIG_ARCH_SDM670), y)
  174. CONFIG_QCACLD_FEATURE_METERING := y
  175. endif
  176. ifeq ($(CONFIG_ARCH_SM6150), y)
  177. CONFIG_QCACLD_FEATURE_METERING := y
  178. endif
  179. ifeq ($(CONFIG_ARCH_LITO), y)
  180. CONFIG_QCACLD_FEATURE_METERING := y
  181. endif
  182. ifeq ($(CONFIG_ARCH_BENGAL), y)
  183. CONFIG_QCACLD_FEATURE_METERING := y
  184. endif
  185. ifeq ($(CONFIG_ARCH_KONA), y)
  186. CONFIG_QCACLD_FEATURE_METERING := y
  187. CONFIG_WDI3_STATS_UPDATE := y
  188. CONFIG_WLAN_SYNC_TSF_TIMER := y
  189. endif
  190. #Flag to enable Fast Transition (11r) feature
  191. CONFIG_QCOM_VOWIFI_11R := y
  192. #Flag to enable disable ACTION OUI feature
  193. CONFIG_WLAN_FEATURE_ACTION_OUI := y
  194. #Flag to enable Adaptive 11r feature
  195. CONFIG_ADAPTIVE_11R := y
  196. #Flag to enable FILS Feature (11ai)
  197. CONFIG_WLAN_FEATURE_FILS := y
  198. ifneq ($(CONFIG_QCA_CLD_WLAN),)
  199. ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)$(CONFIG_ICNSS2)))
  200. #Flag to enable Protected Management Frames (11w) feature
  201. CONFIG_WLAN_FEATURE_11W := y
  202. #Flag to enable LTE CoEx feature
  203. CONFIG_QCOM_LTE_COEX := y
  204. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  205. #Flag to enable LPSS feature
  206. CONFIG_WLAN_FEATURE_LPSS := y
  207. endif
  208. endif
  209. ifeq (m,$(findstring m,$(CONFIG_CNSS2) $(CONFIG_ICNSS2)))
  210. #Flag to enable Protected Management Frames (11w) feature
  211. CONFIG_WLAN_FEATURE_11W := y
  212. #Flag to enable LTE CoEx feature
  213. CONFIG_QCOM_LTE_COEX := y
  214. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  215. #Flag to enable LPSS feature
  216. CONFIG_WLAN_FEATURE_LPSS := y
  217. endif
  218. endif
  219. endif
  220. #Flag to enable Protected Management Frames (11w) feature
  221. ifeq ($(CONFIG_ROME_IF),usb)
  222. CONFIG_WLAN_FEATURE_11W := y
  223. endif
  224. ifeq ($(CONFIG_ROME_IF),sdio)
  225. CONFIG_WLAN_FEATURE_11W := y
  226. endif
  227. #Flag to enable the tx desc sanity check
  228. ifeq ($(CONFIG_ROME_IF),usb)
  229. CONFIG_QCA_TXDESC_SANITY_CHECKS := y
  230. endif
  231. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  232. #Flag to enable NAN
  233. CONFIG_QCACLD_FEATURE_NAN := y
  234. endif
  235. #Flag to enable Linux QCMBR feature as default feature
  236. ifeq ($(CONFIG_ROME_IF),usb)
  237. CONFIG_LINUX_QCMBR :=y
  238. endif
  239. CONFIG_FEATURE_EPPING := y
  240. #Flag to enable offload packets feature
  241. CONFIG_WLAN_OFFLOAD_PACKETS := y
  242. #enable TSF get feature
  243. CONFIG_WLAN_SYNC_TSF := y
  244. #Enable DSRC feature
  245. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  246. CONFIG_WLAN_FEATURE_DSRC := y
  247. endif
  248. ifneq ($(CONFIG_ROME_IF),usb)
  249. #Flag to enable SAE
  250. CONFIG_WLAN_FEATURE_SAE := y
  251. ifneq ($(CONFIG_ROME_IF),sdio)
  252. #Flag to enable DISA
  253. CONFIG_WLAN_FEATURE_DISA := y
  254. #Flag to enable FIPS
  255. CONFIG_WLAN_FEATURE_FIPS := y
  256. #Flag to enable Fast Path feature
  257. ifneq ($(CONFIG_LITHIUM), y)
  258. CONFIG_WLAN_FASTPATH := y
  259. endif
  260. # Flag to enable NAPI
  261. CONFIG_WLAN_NAPI := y
  262. CONFIG_WLAN_NAPI_DEBUG := n
  263. # Flag to enable FW based TX Flow control
  264. ifeq ($(CONFIG_LITHIUM), y)
  265. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
  266. else
  267. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
  268. endif
  269. endif
  270. endif
  271. CONFIG_POWER_MANAGEMENT_OFFLOAD := y
  272. ifeq ($(CONFIG_ROME_IF), snoc)
  273. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
  274. endif
  275. ifeq ($(CONFIG_ARCH_QCS40X), y)
  276. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
  277. # Flag to improve TCP TX throughput for both
  278. # CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY and CONFIG_WLAN_TX_FLOW_CONTROL_V2
  279. # disabled platform, avoid frame drop in driver
  280. CONFIG_WLAN_PDEV_TX_FLOW_CONTROL := y
  281. endif
  282. # Flag to enable LFR Subnet Detection
  283. CONFIG_LFR_SUBNET_DETECTION := y
  284. # Flag to enable MCC to SCC switch feature
  285. CONFIG_MCC_TO_SCC_SWITCH := y
  286. ifeq ($(CONFIG_SLUB_DEBUG), y)
  287. # Enable Obj Mgr Degug services if slub build
  288. CONFIG_WLAN_OBJMGR_DEBUG:= y
  289. CONFIG_MPC_UT_FRAMEWORK := y
  290. CONFIG_LOCK_STATS_ON:= y
  291. endif
  292. ifeq (y,$(findstring y,$(CONFIG_QCA_WIFI_SDIO) $(CONFIG_HIF_USB)))
  293. CONFIG_HL_DP_SUPPORT := y
  294. else
  295. CONFIG_LL_DP_SUPPORT := y
  296. endif
  297. ifeq ($(CONFIG_ROME_IF),pci)
  298. ifneq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
  299. ifneq ($(CONFIG_LITHIUM), y)
  300. CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY := y
  301. endif
  302. endif
  303. endif
  304. #Whether have QMI support
  305. CONFIG_QMI_SUPPORT := y
  306. ifeq ($(CONFIG_ICNSS), y)
  307. CONFIG_WIFI_3_0_ADRASTEA := y
  308. CONFIG_ADRASTEA_RRI_ON_DDR := y
  309. # Enable athdiag procfs debug support for adrastea
  310. CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
  311. # Enable 11AC TX compact feature for adrastea
  312. CONFIG_ATH_11AC_TXCOMPACT := y
  313. ifeq ($(CONFIG_QMI_SUPPORT), y)
  314. CONFIG_ADRASTEA_SHADOW_REGISTERS := y
  315. endif
  316. endif
  317. # Enable fw stats version 2
  318. ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
  319. CONFIG_AR900B := y
  320. endif
  321. # NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
  322. ifeq ($(CONFIG_HELIUMPLUS), y)
  323. ifeq ($(CONFIG_64BIT_PADDR), y)
  324. CONFIG_HTT_PADDR64 := y
  325. endif
  326. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  327. CONFIG_OL_RX_INDICATION_RECORD := y
  328. CONFIG_TSOSEG_DEBUG := y
  329. CONFIG_HIF_LARGE_CE_RING_HISTORY := 8192
  330. endif
  331. endif #CONFIG_HELIUMPLUS
  332. ifeq ($(CONFIG_LITHIUM), y)
  333. #
  334. # Enable Shadow V2 for all lithium platform
  335. #
  336. CONFIG_SHADOW_V2 := y
  337. ifeq ($(CONFIG_CNSS_QCA6290), y)
  338. CONFIG_QCA6290_HEADERS_DEF := y
  339. CONFIG_QCA_WIFI_QCA6290 := y
  340. endif
  341. ifeq ($(CONFIG_CNSS_QCA6390), y)
  342. CONFIG_QCA6390_HEADERS_DEF := y
  343. CONFIG_QCA_WIFI_QCA6390 := y
  344. endif
  345. ifeq ($(CONFIG_CNSS_QCA6490), y)
  346. CONFIG_QCA6490_HEADERS_DEF := y
  347. CONFIG_QCA_WIFI_QCA6490 := y
  348. endif
  349. ifeq ($(CONFIG_CNSS_QCA6750), y)
  350. CONFIG_QCA6750_HEADERS_DEF := y
  351. CONFIG_QCA_WIFI_QCA6750 := y
  352. endif
  353. ifeq ($(CONFIG_LITHIUM), y)
  354. #
  355. # Enable VERBOSE debug INI mechanism
  356. #
  357. CONFIG_VERBOSE_DEBUG := y
  358. endif
  359. CONFIG_QCA_WIFI_QCA8074 := y
  360. CONFIG_QCA_WIFI_QCA8074_VP := y
  361. CONFIG_DP_INTR_POLL_BASED := y
  362. CONFIG_TX_PER_PDEV_DESC_POOL := y
  363. CONFIG_DP_TRACE := y
  364. CONFIG_FEATURE_TSO := y
  365. CONFIG_FEATURE_FORCE_WAKE := y
  366. CONFIG_DP_LFR := y
  367. CONFIG_DUP_RX_DESC_WAR := y
  368. CONFIG_HTT_PADDR64 := y
  369. CONFIG_RX_OL := y
  370. CONFIG_TX_TID_OVERRIDE := y
  371. CONFIG_DP_TXRX_SOC_ATTACH := y
  372. CONFIG_WLAN_CLD_PM_QOS := y
  373. CONFIG_DISABLE_DP_STATS := n
  374. CONFIG_REO_DESC_DEFER_FREE := y
  375. CONFIG_RXDMA_ERR_PKT_DROP := y
  376. ifeq ($(CONFIG_FEATURE_TSO), y)
  377. CONFIG_FEATURE_TSO_STATS := y
  378. CONFIG_TSO_DEBUG_LOG_ENABLE := y
  379. endif
  380. ifeq ($(CONFIG_DISABLE_DP_STATS), y)
  381. CONFIG_FEATURE_TSO_STATS := n
  382. endif
  383. endif
  384. # As per target team, build is done as follows:
  385. # Defconfig : build with default flags
  386. # Slub : defconfig + CONFIG_SLUB_DEBUG=y +
  387. # CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
  388. # Perf : Using appropriate msmXXXX-perf_defconfig
  389. #
  390. # Shipment builds (user variants) should not have any debug feature
  391. # enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
  392. # are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
  393. # there is no other way to identify defconfig builds, QCOMs internal
  394. # representation of perf builds (identified using the string 'perf'),
  395. # is used to identify if the build is a slub or defconfig one. This
  396. # way no critical debug feature will be enabled for perf and shipment
  397. # builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
  398. # config.
  399. ifneq ($(TARGET_BUILD_VARIANT),user)
  400. ifeq ($(CONFIG_LITHIUM), y)
  401. CONFIG_FEATURE_PKTLOG := n
  402. else
  403. CONFIG_FEATURE_PKTLOG := y
  404. endif
  405. CONFIG_WLAN_DEBUG_CRASH_INJECT := y
  406. endif
  407. #Enable WLAN/Power debugfs feature only if debug_fs is enabled
  408. ifeq ($(CONFIG_DEBUG_FS), y)
  409. # Flag to enable debugfs. Depends on CONFIG_DEBUG_FS in kernel
  410. # configuration.
  411. CONFIG_WLAN_DEBUGFS := y
  412. CONFIG_WLAN_POWER_DEBUGFS := y
  413. endif
  414. ifeq ($(CONFIG_WLAN_DEBUGFS), y)
  415. CONFIG_WLAN_MWS_INFO_DEBUGFS := y
  416. CONFIG_WLAN_FEATURE_MIB_STATS := y
  417. else
  418. CONFIG_WLAN_MWS_INFO_DEBUGFS := n
  419. CONFIG_WLAN_FEATURE_MIB_STATS := n
  420. endif
  421. # Feature flags which are not (currently) configurable via Kconfig
  422. #Whether to build debug version
  423. BUILD_DEBUG_VERSION := y
  424. #Enable this flag to build driver in diag version
  425. BUILD_DIAG_VERSION := y
  426. ifeq ($(CONFIG_SLUB_DEBUG), y)
  427. PANIC_ON_BUG := y
  428. WLAN_WARN_ON_ASSERT := y
  429. else ifeq ($(CONFIG_PERF_DEBUG), y)
  430. PANIC_ON_BUG := y
  431. WLAN_WARN_ON_ASSERT := y
  432. else
  433. PANIC_ON_BUG := n
  434. WLAN_WARN_ON_ASSERT := n
  435. endif
  436. # Compile all log levels by default
  437. CONFIG_WLAN_LOG_FATAL := y
  438. CONFIG_WLAN_LOG_ERROR := y
  439. CONFIG_WLAN_LOG_WARN := y
  440. CONFIG_WLAN_LOG_INFO := y
  441. CONFIG_WLAN_LOG_DEBUG := y
  442. CONFIG_WLAN_LOG_ENTER := y
  443. CONFIG_WLAN_LOG_EXIT := y
  444. #Enable OL debug and wmi unified functions
  445. CONFIG_ATH_PERF_PWR_OFFLOAD := y
  446. #Disable packet log
  447. CONFIG_REMOVE_PKT_LOG := n
  448. #Enable 11AC TX
  449. ifeq ($(CONFIG_ROME_IF),pci)
  450. CONFIG_ATH_11AC_TXCOMPACT := y
  451. endif
  452. ifeq ($(CONFIG_ROME_IF),ipci)
  453. CONFIG_ATH_11AC_TXCOMPACT := y
  454. endif
  455. ifeq ($(CONFIG_ROME_IF),usb)
  456. CONFIG_ATH_11AC_TXCOMPACT := n
  457. endif
  458. #Enable PCI specific APIS (dma, etc)
  459. ifeq ($(CONFIG_ROME_IF),pci)
  460. CONFIG_HIF_PCI := y
  461. endif
  462. ifeq ($(CONFIG_ROME_IF),ipci)
  463. CONFIG_HIF_IPCI := y
  464. endif
  465. #Enable USB specific APIS
  466. ifeq ($(CONFIG_ROME_IF),usb)
  467. CONFIG_HIF_USB := y
  468. endif
  469. #Enable SDIO specific APIS
  470. ifeq ($(CONFIG_ROME_IF),sdio)
  471. CONFIG_HIF_SDIO := y
  472. CONFIG_TX_DESC_HI_PRIO_RESERVE := y
  473. CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL := y
  474. CONFIG_TGT_NUM_MSDU_DESC := 0
  475. endif
  476. ifeq ($(CONFIG_ROME_IF),snoc)
  477. CONFIG_HIF_SNOC:= y
  478. endif
  479. # enable/disable feature flags based upon mobile router profile
  480. ifeq ($(CONFIG_MOBILE_ROUTER), y)
  481. CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
  482. CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
  483. CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
  484. CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
  485. CONFIG_MDM_PLATFORM := y
  486. ifneq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  487. CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
  488. endif
  489. CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
  490. else
  491. CONFIG_QCOM_ESE := y
  492. CONFIG_FEATURE_WLAN_RMC := y
  493. CONFIG_WLAN_OPEN_P2P_INTERFACE := y
  494. CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
  495. endif
  496. #enable 4addr support for QCS40X
  497. ifeq ($(CONFIG_ARCH_QCS40X), y)
  498. CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
  499. endif
  500. #Enable power management suspend/resume functionality to PCI
  501. CONFIG_ATH_BUS_PM := y
  502. #Enable FLOWMAC module support
  503. CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
  504. #Enable spectral support
  505. CONFIG_ATH_SUPPORT_SPECTRAL := n
  506. #Define the legacy pktlog
  507. ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
  508. ifeq ($(CONFIG_HELIUMPLUS), y)
  509. CONFIG_PKTLOG_LEGACY := y
  510. endif
  511. #Customize DSCP_to-UP map based on RFC8325
  512. ifeq ($(CONFIG_HELIUMPLUS), y)
  513. CONFIG_WLAN_CUSTOM_DSCP_UP_MAP := y
  514. CONFIG_WLAN_SEND_DSCP_UP_MAP_TO_FW := y
  515. endif
  516. ifeq ($(CONFIG_ROME_IF), sdio)
  517. CONFIG_PKTLOG_LEGACY := y
  518. endif
  519. ifeq ($(CONFIG_ROME_IF), pci)
  520. CONFIG_PKTLOG_LEGACY := y
  521. endif
  522. ifeq ($(CONFIG_ROME_IF), usb)
  523. CONFIG_PKTLOG_LEGACY := y
  524. endif
  525. ifeq ($(CONFIG_ROME_IF), snoc)
  526. CONFIG_PKTLOG_LEGACY := y
  527. endif
  528. endif
  529. ifeq ($(CONFIG_LITHIUM), y)
  530. CONFIG_PKTLOG_LEGACY := n
  531. endif
  532. #Enable WDI Event support
  533. ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
  534. CONFIG_WDI_EVENT_ENABLE := n
  535. else
  536. CONFIG_WDI_EVENT_ENABLE := y
  537. endif
  538. #Enable the type_specific_data in the ath_pktlog_arg
  539. ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
  540. ifeq ($(CONFIG_LITHIUM), y)
  541. CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
  542. endif
  543. ifeq ($(CONFIG_HELIUMPLUS), y)
  544. CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
  545. endif
  546. endif
  547. #Endianness selection
  548. CONFIG_LITTLE_ENDIAN := y
  549. #Enable TX reclaim support
  550. CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
  551. #Enable FTM support
  552. CONFIG_QCA_WIFI_FTM := y
  553. ifeq ($(CONFIG_QCA_WIFI_FTM), y)
  554. ifeq ($(CONFIG_NL80211_TESTMODE), y)
  555. QCA_WIFI_FTM_NL80211 :=y
  556. else
  557. QCA_WIFI_FTM_NL80211 :=n
  558. endif
  559. CONFIG_LINUX_QCMBR :=y
  560. else
  561. QCA_WIFI_FTM_NL80211 :=n
  562. CONFIG_LINUX_QCMBR :=n
  563. endif
  564. #Enable Checksum Offload
  565. CONFIG_CHECKSUM_OFFLOAD := y
  566. #Enable GTK offload
  567. CONFIG_GTK_OFFLOAD := y
  568. #Enable EXT WOW
  569. ifeq ($(CONFIG_HIF_PCI), y)
  570. CONFIG_EXT_WOW := y
  571. endif
  572. #Set this to 1 to catch erroneous Target accesses during debug.
  573. CONFIG_ATH_PCIE_ACCESS_DEBUG := n
  574. #Enable IPA offload
  575. ifeq ($(CONFIG_IPA), y)
  576. CONFIG_IPA_OFFLOAD := y
  577. endif
  578. ifeq ($(CONFIG_IPA3), y)
  579. CONFIG_IPA_OFFLOAD := y
  580. endif
  581. #Flag to enable SMMU S1 support
  582. ifeq ($(CONFIG_ARCH_SDM845), y)
  583. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  584. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  585. endif
  586. endif
  587. ifeq ($(CONFIG_ARCH_SM8150), y)
  588. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  589. ifneq ($(CONFIG_LITHIUM), y)
  590. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  591. endif
  592. endif
  593. endif
  594. ifeq ($(CONFIG_ARCH_SDMMAGPIE), y)
  595. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  596. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  597. endif
  598. endif
  599. ifeq ($(CONFIG_ARCH_LITO), y)
  600. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  601. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  602. endif
  603. endif
  604. ifeq ($(CONFIG_ARCH_ATOLL), y)
  605. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  606. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  607. endif
  608. endif
  609. ifeq ($(CONFIG_ARCH_TRINKET), y)
  610. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  611. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  612. endif
  613. endif
  614. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  615. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  616. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  617. endif
  618. endif
  619. ifeq ($(CONFIG_ARCH_KONA), y)
  620. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  621. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  622. endif
  623. endif
  624. ifeq ($(CONFIG_ARCH_SM6150), y)
  625. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  626. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  627. endif
  628. endif
  629. ifeq ($(CONFIG_ARCH_BENGAL), y)
  630. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  631. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  632. endif
  633. endif
  634. ifeq ($(CONFIG_ARCH_SDX20), y)
  635. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  636. ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
  637. CONFIG_FEATURE_SKB_PRE_ALLOC := y
  638. endif
  639. endif
  640. endif
  641. #Enable Signed firmware support for split binary format
  642. CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
  643. #Enable single firmware binary format
  644. CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
  645. #Enable collecting target RAM dump after kernel panic
  646. CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
  647. #Flag to enable/disable secure firmware feature
  648. CONFIG_FEATURE_SECURE_FIRMWARE := n
  649. #Flag to enable Stats Ext implementation
  650. CONFIG_FEATURE_STATS_EXT := y
  651. #Flag to allocate memory dynamically for different buffers
  652. CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY := n
  653. CONFIG_WLAN_DFS_STATIC_MEM_ALLOC := y
  654. #Flag to enable HTC credit history feature
  655. CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
  656. #Flag to enable MTRACE feature
  657. CONFIG_TRACE_RECORD_FEATURE := y
  658. #Flag to enable p2p debug feature
  659. CONFIG_WLAN_FEATURE_P2P_DEBUG := y
  660. #Flag to enable roam debug log
  661. CONFIG_FEATURE_ROAM_DEBUG := y
  662. #Flag to enable DFS Master feature
  663. CONFIG_WLAN_DFS_MASTER_ENABLE := y
  664. #Flag to enable WEXT support for STA/AP/P2P interfaces
  665. CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y
  666. #Flag to enable/disable MTRACE feature
  667. CONFIG_ENABLE_MTRACE_LOG := y
  668. #Flag to enable nud tracking feature
  669. CONFIG_WLAN_NUD_TRACKING := y
  670. #Flag to enable wbuff feature
  671. CONFIG_WLAN_WBUFF := y
  672. #Flag to enable set and get disable channel list feature
  673. CONFIG_DISABLE_CHANNEL_LIST :=y
  674. #Flag to enable beacon receive feature
  675. CONFIG_WLAN_BCN_RECV_FEATURE := y
  676. #Flag to enable LTE COEX feature
  677. CONFIG_LTE_COEX := y
  678. #Flag to enable/disable TARGET 11d scan
  679. CONFIG_TARGET_11D_SCAN := y
  680. #Flag to enable/disable Avoid acs freq feature
  681. CONFIG_SAP_AVOID_ACS_FREQ_LIST := y
  682. #Flag to enable HOST OPCLASS feature
  683. CONFIG_HOST_OPCLASS := y
  684. #Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
  685. CONFIG_WLAN_DYNAMIC_CVM := y
  686. #Flag to enable SAR Safety Feature
  687. CONFIG_SAR_SAFETY_FEATURE := y
  688. CONFIG_WIFI_POS_CONVERGED := y
  689. ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
  690. CONFIG_WIFI_POS_LEGACY := y
  691. endif
  692. CONFIG_CP_STATS := y
  693. CONFIG_FEATURE_INTEROP_ISSUES_AP := y
  694. CONFIG_FEATURE_WLAN_WAPI := y
  695. CONFIG_AGEIE_ON_SCAN_RESULTS := y
  696. ifneq ($(CONFIG_LITHIUM), y)
  697. #Flag to enable FW log parsing support feature
  698. CONFIG_FEATURE_FW_LOG_PARSING := y
  699. endif
  700. CONFIG_PTT_SOCK_SVC_ENABLE := y
  701. CONFIG_SOFTAP_CHANNEL_RANGE := y
  702. CONFIG_FEATURE_WLAN_SCAN_PNO := y
  703. CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
  704. CONFIG_WLAN_NS_OFFLOAD := y
  705. CONFIG_FEATURE_WLAN_RA_FILTERING:= y
  706. CONFIG_FEATURE_WLAN_LPHB := y
  707. CONFIG_QCA_SUPPORT_TX_THROTTLE := y
  708. CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
  709. CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
  710. CONFIG_FEATURE_WLAN_EXTSCAN := n
  711. CONFIG_WMI_BCN_OFFLOAD := y
  712. CONFIG_160MHZ_SUPPORT := y
  713. CONFIG_MCL := y
  714. CONFIG_REG_CLIENT := y
  715. CONFIG_WLAN_PMO_ENABLE := y
  716. CONFIG_CONVERGED_P2P_ENABLE := y
  717. CONFIG_WLAN_POLICY_MGR_ENABLE := y
  718. CONFIG_FEATURE_BLACKLIST_MGR := y
  719. CONFIG_SUPPORT_11AX := y
  720. CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
  721. CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
  722. CONFIG_WLAN_SPECTRAL_ENABLE := y
  723. CONFIG_WMI_CMD_STRINGS := y
  724. CONFIG_FEATURE_MONITOR_MODE_SUPPORT := y
  725. CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := n
  726. CONFIG_WLAN_FEATURE_TWT := y
  727. CONFIG_FW_THERMAL_THROTTLE := y
  728. ifeq (y,$(findstring y,$(CONFIG_LITHIUM) $(CONFIG_ICNSS)))
  729. CONFIG_WLAN_FEATURE_BMI := n
  730. else
  731. CONFIG_WLAN_FEATURE_BMI := y
  732. endif
  733. #Flags to enable/disable vendor commands
  734. CONFIG_FEATURE_RSSI_MONITOR := y
  735. CONFIG_FEATURE_BSS_TRANSITION := y
  736. CONFIG_FEATURE_STATION_INFO := y
  737. CONFIG_FEATURE_TX_POWER := y
  738. CONFIG_FEATURE_OTA_TEST := y
  739. CONFIG_FEATURE_ACTIVE_TOS := y
  740. CONFIG_FEATURE_SAR_LIMITS := y
  741. CONFIG_FEATURE_CONCURRENCY_MATRIX := y
  742. CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y
  743. CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y
  744. CONFIG_QCACLD_FEATURE_MPTA_HELPER := n
  745. CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC := y
  746. #Flags to enable/disable WMI APIs
  747. CONFIG_WMI_ROAM_SUPPORT := y
  748. CONFIG_WMI_CONCURRENCY_SUPPORT := y
  749. CONFIG_WMI_STA_SUPPORT := y
  750. CONFIG_DP_TRACE := y
  751. ifeq ($(CONFIG_HELIUMPLUS), y)
  752. ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
  753. CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
  754. endif
  755. CONFIG_RX_OL := y
  756. endif
  757. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  758. CONFIG_DSC_DEBUG := y
  759. CONFIG_DESC_TIMESTAMP_DEBUG_INFO := y
  760. CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
  761. CONFIG_LEAK_DETECTION := y
  762. CONFIG_MAX_LOGS_PER_SEC := 500
  763. CONFIG_SCHED_HISTORY_SIZE := 256
  764. CONFIG_TALLOC_DEBUG := y
  765. CONFIG_UNIT_TEST := y
  766. CONFIG_RX_DESC_DEBUG_CHECK:= y
  767. CONFIG_REGISTER_OP_DEBUG := y
  768. CONFIG_ENABLE_QDF_PTR_HASH_DEBUG := y
  769. endif
  770. ifeq ($(CONFIG_UNIT_TEST), y)
  771. CONFIG_DSC_TEST := y
  772. CONFIG_QDF_TEST := y
  773. CONFIG_FEATURE_WLM_STATS := y
  774. endif
  775. ifeq ($(CONFIG_LITHIUM), y)
  776. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  777. CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY := y
  778. CONFIG_HIF_CE_DEBUG_DATA_BUF := y
  779. CONFIG_WLAN_RECORD_RX_PADDR := y
  780. endif
  781. CONFIG_WLAN_SUPPORT_DATA_STALL := y
  782. CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG := y
  783. CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG := y
  784. #Enable WMI TX/RX over QMI
  785. CONFIG_WMI_SEND_RECV_QMI := y
  786. CONFIG_WLAN_DP_PENDING_MEM_FLUSH := y
  787. endif
  788. #Flag to enable hdd memory dump feature
  789. CONFIG_FEATURE_MEMDUMP_ENABLE := y
  790. #Flag to enable/disable WLAN D0-WOW
  791. ifeq ($(CONFIG_PCI_MSM), y)
  792. ifeq ($(CONFIG_HIF_PCI), y)
  793. CONFIG_FEATURE_WLAN_D0WOW := y
  794. endif
  795. endif
  796. ifeq ($(CONFIG_ARCH_MDM9607), y)
  797. CONFIG_TUFELLO_DUAL_FW_SUPPORT := y
  798. endif
  799. ifeq ($(CONFIG_ARCH_MSM8996), y)
  800. CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
  801. endif
  802. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  803. ifneq ($(CONFIG_SLUB_DEBUG), y)
  804. CONFIG_DP_TRACE := n
  805. endif
  806. CONFIG_DIRECT_BUF_RX_ENABLE := n
  807. CONFIG_WMI_DBR_SUPPORT := n
  808. endif
  809. ifneq ($(CONFIG_HIF_USB), y)
  810. CONFIG_WLAN_LOGGING_SOCK_SVC := y
  811. endif
  812. ifneq ($(TARGET_BUILD_VARIANT),user)
  813. CONFIG_DESC_DUP_DETECT_DEBUG := y
  814. CONFIG_DEBUG_RX_RING_BUFFER := y
  815. endif
  816. ifeq ($(CONFIG_CNSS), y)
  817. ifeq ($(CONFIG_CNSS_SDIO), y)
  818. CONFIG_PLD_SDIO_CNSS_FLAG := y
  819. endif
  820. ifeq ($(CONFIG_HIF_PCI), y)
  821. CONFIG_PLD_PCIE_CNSS_FLAG := y
  822. endif
  823. endif
  824. ifeq ($(CONFIG_ICNSS2), y)
  825. CONFIG_PLD_IPCI_ICNSS_FLAG := y
  826. endif
  827. ifeq ($(CONFIG_CNSS2), y)
  828. ifeq ($(CONFIG_HIF_PCI), y)
  829. CONFIG_PLD_PCIE_CNSS_FLAG := y
  830. CONFIG_PLD_PCIE_INIT_FLAG := y
  831. endif
  832. endif
  833. ifeq ($(CONFIG_CNSS2), m)
  834. ifeq ($(CONFIG_HIF_PCI), y)
  835. CONFIG_PLD_PCIE_CNSS_FLAG := y
  836. CONFIG_PLD_PCIE_INIT_FLAG := y
  837. endif
  838. endif
  839. #Enable STATE MACHINE HISTORY
  840. CONFIG_SM_ENG_HIST := n
  841. #Enable OEM DATA feature
  842. CONFIG_FEATURE_OEM_DATA := y
  843. #Enable FW Offload
  844. CONFIG_WLAN_FW_OFFLOAD := y
  845. #Enable eLNA bypass feature
  846. ifeq ($(CONFIG_WLAN_FW_OFFLOAD), y)
  847. CONFIG_WLAN_FEATURE_ELNA := y
  848. endif
  849. ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM)))
  850. CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH := y
  851. endif
  852. ifeq ($(CONFIG_CNSS_QCA6490), y)
  853. #Enable 6 GHz Band
  854. CONFIG_BAND_6GHZ := y
  855. endif
  856. ifeq ($(CONFIG_BAND_6GHZ), y)
  857. CONFIG_6G_SCAN_CHAN_SORT_ALGO := y
  858. endif
  859. CONFIG_SAP_DHCP_FW_IND := y
  860. #Enable support to get ANI level
  861. CONFIG_ANI_LEVEL_REQUEST := y
  862. ifeq ($(CONFIG_ARCH_QCS405), y)
  863. CONFIG_FEATURE_WLAN_TIME_SYNC_FTM := y
  864. endif