# Protocol specific features

#features not required for GENOA IOT, compilation errors are there.
CONFIG_TX_AGGREGATION_SIZE_ENABLE := y
CONFIG_SUPPORT_11AX := y
CONFIG_160MHZ_SUPPORT := y
CONFIG_FEATURE_STATS_EXT := n
CONFIG_FEATURE_WLAN_FT_IEEE8021X := y
CONFIG_FEATURE_WLAN_FT_PSK := y

#required features
CONFIG_QCACLD_WLAN_LFR2 := y
CONFIG_QCACLD_WLAN_LFR3 := n
CONFIG_QCOM_TDLS := y
CONFIG_QCACLD_FEATURE_GREEN_AP := n
CONFIG_QCOM_VOWIFI_11R := y
CONFIG_WLAN_FEATURE_FILS := y
CONFIG_QCOM_LTE_COEX := n
CONFIG_WLAN_FEATURE_LPSS := n
CONFIG_QCACLD_FEATURE_NAN := y
CONFIG_POWER_MANAGEMENT_OFFLOAD := y
CONFIG_LFR_SUBNET_DETECTION := y
CONFIG_MCC_TO_SCC_SWITCH := y
CONFIG_QCOM_ESE := n
CONFIG_WLAN_CONV_SPECTRAL_ENABLE := n
CONFIG_WLAN_DFS_MASTER_ENABLE := y
CONFIG_WIFI_POS_CONVERGED := y
CONFIG_WIFI_POS_LEGACY := n
CONFIG_FEATURE_WLAN_WAPI := y
CONFIG_AGEIE_ON_SCAN_RESULTS := y
CONFIG_WLAN_PMO_ENABLE := y
CONFIG_CONVERGED_P2P_ENABLE := y
CONFIG_WLAN_POLICY_MGR_ENABLE := y
CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
CONFIG_WLAN_FEATURE_TWT := n
CONFIG_WMI_CMD_STRINGS := y
CONFIG_SOFTAP_CHANNEL_RANGE := y
CONFIG_FEATURE_WLAN_SCAN_PNO := y
CONFIG_WLAN_FEATURE_DSRC := n
CONFIG_FEATURE_MONITOR_MODE_SUPPORT := n
CONFIG_DP_TRACE := y
CONFIG_QCACLD_FEATURE_METERING := n

#Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
CONFIG_WLAN_DYNAMIC_CVM := n

#We might need to disable WEXT support in perf builds in future
ifeq ($(CONFIG_WIRELESS_EXT), y)
CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y
endif
CONFIG_HOST_11D_SCAN := y

#Flag to enable/disable Avoid acs freq feature
CONFIG_SAP_AVOID_ACS_FREQ_LIST := n

ifeq ($(CONFIG_ARCH_MSM8996), y)
CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
endif

# Debug specific features
CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY := y
CONFIG_WLAN_DEBUG_VERSION := y
CONFIG_WLAN_DIAG_VERSION := n

CONFIG_REMOVE_PKT_LOG := y
CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
CONFIG_TRACE_RECORD_FEATURE := y
CONFIG_WLAN_NUD_TRACKING := n
CONFIG_CP_STATS := y
CONFIG_FEATURE_FW_LOG_PARSING := y
CONFIG_PTT_SOCK_SVC_ENABLE := y
CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
CONFIG_FEATURE_ROAM_DEBUG := y

CONFIG_WLAN_LOG_FATAL := y
CONFIG_WLAN_LOG_ERROR := y
CONFIG_WLAN_LOG_WARN := y
CONFIG_WLAN_LOG_INFO := y
CONFIG_WLAN_LOG_DEBUG := y

ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
CONFIG_WDI_EVENT_ENABLE := n
else
CONFIG_WDI_EVENT_ENABLE := y
endif

ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
CONFIG_PKTLOG_LEGACY := y
endif

#Enable the type_specific_data in the ath_pktlog_arg
ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
endif

ifeq ($(CONFIG_SLUB_DEBUG), y)
        PANIC_ON_BUG := y
        WLAN_WARN_ON_ASSERT := y
else ifeq ($(CONFIG_PERF_DEBUG), y)
        PANIC_ON_BUG := y
        WLAN_WARN_ON_ASSERT := y
else
        PANIC_ON_BUG := n
        WLAN_WARN_ON_ASSERT := n
endif

CONFIG_WLAN_LOGGING_SOCK_SVC := y

#Flag to enable wbuff feature
CONFIG_WLAN_WBUFF := n

# other features
WLAN_OPEN_SOURCE := y
CONFIG_ATH_PERF_PWR_OFFLOAD := y
CONFIG_ATH_BUS_PM := n
CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
CONFIG_ATH_SUPPORT_SPECTRAL := n
CONFIG_LITTLE_ENDIAN := y
CONFIG_ATH_PCIE_ACCESS_DEBUG := n
CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
CONFIG_FEATURE_SECURE_FIRMWARE := n
CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
CONFIG_WLAN_NS_OFFLOAD := y
CONFIG_FEATURE_WLAN_RA_FILTERING:= y
ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
CONFIG_FEATURE_WLAN_LPHB := y
endif
CONFIG_FEATURE_WLAN_EXTSCAN := n
CONFIG_REG_CLIENT := y
CONFIG_WLAN_OFFLOAD_PACKETS := y
CONFIG_WLAN_SYNC_TSF := y
CONFIG_WLAN_FEATURE_DISA := n
CONFIG_WLAN_FEATURE_FIPS := y
CONFIG_WLAN_FEATURE_SAE := y
CONFIG_CHNL_MATRIX_RESTRICTION := n
CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := y
CONFIG_WLAN_FEATURE_BMI := n
# Enable FW stats version 2
CONFIG_AR900B := y

#Flags to enable/disable vendor commands
CONFIG_FEATURE_RSSI_MONITOR := n
CONFIG_FEATURE_BSS_TRANSITION := n
CONFIG_FEATURE_STATION_INFO := y
CONFIG_FEATURE_TX_POWER := n
CONFIG_FEATURE_OTA_TEST := n
CONFIG_FEATURE_ACTIVE_TOS := n
CONFIG_FEATURE_SAR_LIMITS := y
CONFIG_FEATURE_CONCURRENCY_MATRIX := n
CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := n
CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := n

#Flags to enable/disable WMI APIs
CONFIG_WMI_ROAM_SUPPORT := y
CONFIG_WMI_CONCURRENCY_SUPPORT := y
CONFIG_WMI_STA_SUPPORT := y

ifeq ($(CONFIG_ARCH_SDM845), y)
ifeq ($(CONFIG_IPA_OFFLOAD), y)
CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
endif
endif

#Data Path specific features
CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
CONFIG_CHECKSUM_OFFLOAD := y
CONFIG_QCA_SUPPORT_TX_THROTTLE := y

ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
CONFIG_GTK_OFFLOAD := y
endif
CONFIG_QCACLD_FEATURE_APF := y

#Flag to enable SARv1 -> SARv2 conversion
CONFIG_WLAN_FEATURE_SARV1_TO_SARV2 := n

ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
CONFIG_BUILD_TAG := y
endif
endif

# Use static allocation for DFS
CONFIG_WLAN_DFS_STATIC_MEM_ALLOC := y

# WoW filer configs
CONFIG_CFG_PMO_WOW_FILTERS_MAX := 16

# Offload configs
CONFIG_CFG_GTK_OFFLOAD_MAX_VDEV := 2
CONFIG_CFG_ROAM_OFFLOAD_MAX_VDEV := 1

# Max Periodic Tx Pattern Config
CONFIG_CFG_MAX_PERIODIC_TX_PTRNS := 3

# Max Sta Vdev Config
CONFIG_CFG_MAX_STA_VDEVS := 2

# Additional peers sent to firmware
CONFIG_CFG_NUM_OF_ADDITIONAL_FW_PEERS := 0

# Number of TDLS peers that each Tdls vdev can track
CONFIG_CFG_NUM_OF_TDLS_CONN_TABLE_ENTRIES := 4

# Number of vdevs supported at one time, used for allocating memory
CONFIG_WLAN_MAX_VDEVS := 3

#Number of STA sessions max connected to our SAP, used for allocating memory
#should never be less then number of max peers - INI
CONFIG_SIR_SAP_MAX_NUM_PEERS := 10

#Max no of offloaded beaconing entities supported
CONFIG_BEACON_TX_OFFLOAD_MAX_VDEV := 3

#Beacon offload config
CONFIG_WMI_BCN_OFFLOAD := y

#Flag to enable Supported Operating class
CONFIG_HOST_OPCLASS := y

#Enable STATE MACHINE HISTORY
CONFIG_SM_ENG_HIST := n

ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM) $(CONFIG_QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK)))
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH := y
endif

CONFIG_SAP_DHCP_FW_IND := n

#Enable FW Offload
CONFIG_WLAN_FW_OFFLOAD := y

#Enable PCIe Shadow Register
CONFIG_QCN7605_PCIE_SHADOW_REG_SUPPORT := y

ifeq (y, $(filter y, $(CONFIG_ARCH_SDXPRAIRIE) $(CONFIG_ARCH_SA515) $(CONFIG_ARCH_SDXPOORWILLS) $(CONFIG_ARCH_SA515M)))
CONFIG_MOBILE_ROUTER := y
endif

# enable/disable feature flags based upon mobile router profile
ifeq ($(CONFIG_MOBILE_ROUTER), y)
CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
CONFIG_MDM_PLATFORM := y
CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
CONFIG_WLAN_OPEN_P2P_INTERFACE := n
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := n
else
CONFIG_WLAN_OPEN_P2P_INTERFACE := y
CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
endif

CONFIG_WLAN_SYSFS_MEM_STATS := y
###################################
