qcacld-3.0: Interfacing files for LFR Subnet Detection support
Add interfacing files and configuration options to enable LFR subnet detection feature support. Change-Id: I46756dfb2dd8071fd2bb762038414709e6212c1c CRs-fixed: 876335
This commit is contained in:
11
Kbuild
11
Kbuild
@@ -130,6 +130,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
||||
CONFIG_WLAN_LRO := n
|
||||
endif
|
||||
endif
|
||||
|
||||
# Flag to enable LFR Subnet Detection
|
||||
CONFIG_LFR_SUBNET_DETECTION := y
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_MOBILE_ROUTER), y)
|
||||
@@ -338,6 +341,10 @@ ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
|
||||
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
|
||||
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_subnet_detect.o
|
||||
endif
|
||||
|
||||
########### HOST DIAG LOG ###########
|
||||
HOST_DIAG_LOG_DIR := core/utils/host_diag_log
|
||||
|
||||
@@ -1317,6 +1324,10 @@ ifeq ($(CONFIG_STATICALLY_ADD_11P_CHANNELS),y)
|
||||
CDEFINES += -DFEATURE_STATICALLY_ADD_11P_CHANNELS
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
|
||||
CDEFINES += -DFEATURE_LFR_SUBNET_DETECTION
|
||||
endif
|
||||
|
||||
KBUILD_CPPFLAGS += $(CDEFINES)
|
||||
|
||||
# Currently, for versions of gcc which support it, the kernel Makefile
|
||||
|
4
Kconfig
4
Kconfig
@@ -107,4 +107,8 @@ config WLAN_FEATURE_RX_WAKELOCK
|
||||
bool "Enable RX wake lock feature"
|
||||
default n
|
||||
|
||||
config FEATURE_LFR_SUBNET_DETECTION
|
||||
bool "Enable LFR Subnet Change Detection"
|
||||
default n
|
||||
|
||||
endif # QCA_CLD_WLAN
|
||||
|
@@ -353,6 +353,7 @@ struct cdf_mac_addr {
|
||||
#define CDF_MAC_ADDR_ZERO_INITIALIZER { { 0, 0, 0, 0, 0, 0 } }
|
||||
|
||||
#define CDF_IPV4_ADDR_SIZE (4)
|
||||
#define CDF_IPV6_ADDR_SIZE (16)
|
||||
|
||||
/**
|
||||
* struct cdf_tso_frag_t - fragments of a single TCP segment
|
||||
|
@@ -5395,6 +5395,33 @@ enum powersave_mode {
|
||||
PS_QPOWER_DEEPSLEEP = 4,
|
||||
PS_DUTY_CYCLING_QPOWER = 5
|
||||
};
|
||||
#ifdef FEATURE_LFR_SUBNET_DETECTION
|
||||
/**
|
||||
* struct gateway_param_update_req - gateway parameter update request
|
||||
* @request_id: request id
|
||||
* @session_id: session id
|
||||
* @max_retries: Max ARP/NS retry attempts
|
||||
* @timeout: Retry interval
|
||||
* @ipv4_addr_type: on ipv4 network
|
||||
* @ipv6_addr_type: on ipv6 network
|
||||
* @gw_mac_addr: gateway mac addr
|
||||
* @ipv4_addr: ipv4 addr
|
||||
* @ipv6_addr: ipv6 addr
|
||||
*/
|
||||
struct gateway_param_update_req {
|
||||
uint32_t request_id;
|
||||
uint32_t session_id;
|
||||
uint32_t max_retries;
|
||||
uint32_t timeout;
|
||||
uint32_t ipv4_addr_type;
|
||||
uint32_t ipv6_addr_type;
|
||||
struct cdf_mac_addr gw_mac_addr;
|
||||
uint8_t ipv4_addr[CDF_IPV4_ADDR_SIZE];
|
||||
uint8_t ipv6_addr[CDF_IPV6_ADDR_SIZE];
|
||||
};
|
||||
#else
|
||||
struct gateway_param_update_req;
|
||||
#endif /* FEATURE_LFR_SUBNET_DETECTION */
|
||||
|
||||
/**
|
||||
* struct sir_sme_ext_change_chan_req - channel change request
|
||||
|
@@ -579,7 +579,7 @@ typedef struct sSirMbMsgP2p {
|
||||
#define SIR_HAL_EXIT_PS_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 236)
|
||||
#define SIR_HAL_ENABLE_UAPSD_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 237)
|
||||
#define SIR_HAL_DISABLE_UAPSD_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 238)
|
||||
|
||||
#define SIR_HAL_GATEWAY_PARAM_UPDATE_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 239)
|
||||
#define SIR_HAL_SET_EPNO_LIST_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 313)
|
||||
#define SIR_HAL_SET_PASSPOINT_LIST_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 316)
|
||||
#define SIR_HAL_RESET_PASSPOINT_LIST_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 317)
|
||||
|
@@ -1075,4 +1075,9 @@ sme_get_opclass(tHalHandle hal, uint8_t channel, uint8_t bw_offset,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_LFR_SUBNET_DETECTION
|
||||
CDF_STATUS sme_gateway_param_update(tHalHandle hHal,
|
||||
struct gateway_param_update_req *request);
|
||||
#endif
|
||||
|
||||
#endif /* #if !defined( __SME_API_H ) */
|
||||
|
@@ -2008,6 +2008,17 @@ int wma_mgmt_tx_completion_handler(void *handle, uint8_t *cmpl_event_params,
|
||||
void wma_set_dfs_region(tp_wma_handle wma, uint8_t dfs_region);
|
||||
uint32_t wma_get_vht_ch_width(void);
|
||||
|
||||
#ifdef FEATURE_LFR_SUBNET_DETECTION
|
||||
CDF_STATUS wma_set_gateway_params(tp_wma_handle wma,
|
||||
struct gateway_param_update_req *req);
|
||||
#else
|
||||
static inline CDF_STATUS wma_set_gateway_params(tp_wma_handle wma,
|
||||
struct gateway_param_update_req *req)
|
||||
{
|
||||
return CDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif /* FEATURE_LFR_SUBNET_DETECTION */
|
||||
|
||||
#if defined(FEATURE_LRO)
|
||||
CDF_STATUS wma_lro_config_cmd(tp_wma_handle wma_handle,
|
||||
struct wma_lro_config_cmd_t *wma_lro_cmd);
|
||||
|
@@ -447,6 +447,7 @@
|
||||
#define WMA_SET_IE_INFO SIR_HAL_SET_IE_INFO
|
||||
|
||||
#define WMA_LRO_CONFIG_CMD SIR_HAL_LRO_CONFIG_CMD
|
||||
#define WMA_GW_PARAM_UPDATE_REQ SIR_HAL_GATEWAY_PARAM_UPDATE_REQ
|
||||
|
||||
/* Bit 6 will be used to control BD rate for Management frames */
|
||||
#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40
|
||||
|
Reference in New Issue
Block a user