qcacld-3.0: CL 1431762 update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation Update to add WMI interface for Berkeley packet filter feature. Change-Id: Ib531691c227a4b9e4c4087f6eaf08796677c93c1 CRs-fixed: 865207
Tento commit je obsažen v:
@@ -743,6 +743,11 @@ static uint8_t *get_wmi_cmd_string(WMI_CMD_ID wmi_command)
|
||||
CASE_RETURN_STRING(WMI_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMDID);
|
||||
CASE_RETURN_STRING(WMI_AP_PS_EGAP_PARAM_CMDID);
|
||||
CASE_RETURN_STRING(WMI_PMF_OFFLOAD_SET_SA_QUERY_CMDID);
|
||||
CASE_RETURN_STRING(WMI_BPF_GET_CAPABILITY_CMDID);
|
||||
CASE_RETURN_STRING(WMI_BPF_GET_VDEV_STATS_CMDID);
|
||||
CASE_RETURN_STRING(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID);
|
||||
CASE_RETURN_STRING(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID);
|
||||
|
||||
}
|
||||
return "Invalid WMI cmd";
|
||||
}
|
||||
|
@@ -139,6 +139,7 @@ typedef enum {
|
||||
WMI_SERVICE_BSS_CHANNEL_INFO_64, /* BSS channel info (freq, noise floor, 64-bit counters) event support */
|
||||
WMI_SERVICE_ENTERPRISE_MESH, /* Enterprise MESH Service Support */
|
||||
WMI_SERVICE_RESTRT_CHNL_SUPPORT, /* Restricted Channel Support */
|
||||
WMI_SERVICE_BPF_OFFLOAD, /* FW supports bpf offload */
|
||||
|
||||
WMI_MAX_SERVICE = 128 /* max service */
|
||||
} WMI_SERVICE;
|
||||
|
@@ -605,6 +605,12 @@ typedef enum {
|
||||
WMITLV_TAG_STRUC_wmi_scpc_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_ap_ps_egap_info_chainmask_list,
|
||||
WMITLV_TAG_STRUC_wmi_sta_smps_force_mode_complete_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_get_capability_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_capability_info_evt_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_get_vdev_stats_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_vdev_stats_info_evt_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_set_vdev_instructions_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_del_vdev_instructions_cmd_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
@@ -844,7 +850,12 @@ typedef enum {
|
||||
OP(WMI_AP_PS_EGAP_PARAM_CMDID) \
|
||||
OP(WMI_PMF_OFFLOAD_SET_SA_QUERY_CMDID) \
|
||||
OP(WMI_TRANSFER_DATA_TO_FLASH_CMDID) \
|
||||
OP(WMI_OEM_REQUEST_CMDID)
|
||||
OP(WMI_OEM_REQUEST_CMDID) \
|
||||
OP(WMI_BPF_GET_CAPABILITY_CMDID) \
|
||||
OP(WMI_BPF_GET_VDEV_STATS_CMDID) \
|
||||
OP(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID) \
|
||||
OP(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID)
|
||||
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Events Here.
|
||||
* Otherwise, these WMI TLV Functions will be process them.
|
||||
@@ -963,7 +974,9 @@ typedef enum {
|
||||
OP(WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID) \
|
||||
OP(WMI_OEM_RESPONSE_EVENTID) \
|
||||
OP(WMI_PDEV_UTF_SCPC_EVENTID) \
|
||||
OP(WMI_STA_SMPS_FORCE_MODE_COMPLETE_EVENTID)
|
||||
OP(WMI_STA_SMPS_FORCE_MODE_COMPLETE_EVENTID) \
|
||||
OP(WMI_BPF_CAPABILIY_INFO_EVENTID) \
|
||||
OP(WMI_BPF_VDEV_STATS_INFO_EVENTID)
|
||||
|
||||
/* TLV definitions of WMI commands */
|
||||
|
||||
@@ -2227,6 +2240,26 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NLO_CONFIGURE_MAWC_CMDID);
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_extscan_configure_mawc_cmd_fixed_param, wmi_extscan_configure_mawc_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_EXTSCAN_CONFIGURE_MAWC_CMDID);
|
||||
|
||||
/* bpf offload capability get cmd */
|
||||
#define WMITLV_TABLE_WMI_BPF_GET_CAPABILITY_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_get_capability_cmd_fixed_param, wmi_bpf_get_capability_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_GET_CAPABILITY_CMDID);
|
||||
|
||||
/* bpf offload get vdev status cmd */
|
||||
#define WMITLV_TABLE_WMI_BPF_GET_VDEV_STATS_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_get_vdev_stats_cmd_fixed_param, wmi_bpf_get_vdev_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_GET_VDEV_STATS_CMDID);
|
||||
|
||||
/* bpf offload set vdev instructions cmd */
|
||||
#define WMITLV_TABLE_WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_set_vdev_instructions_cmd_fixed_param, wmi_bpf_set_vdev_instructions_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID);
|
||||
|
||||
/* bpf offload delete vdev instructions cmd */
|
||||
#define WMITLV_TABLE_WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_del_vdev_instructions_cmd_fixed_param, wmi_bpf_del_vdev_instructions_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID);
|
||||
|
||||
/* Set rssi monitoring config Cmd */
|
||||
#define WMITLV_TABLE_WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rssi_breach_monitor_config_fixed_param, wmi_rssi_breach_monitor_config_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
@@ -3030,6 +3063,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MAWC_ENABLE_SENSOR_EVENTID);
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_sta_smps_force_mode_complete_event_fixed_param, wmi_sta_smps_force_mode_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_STA_SMPS_FORCE_MODE_COMPLETE_EVENTID);
|
||||
|
||||
/* bpf offload capability info event */
|
||||
#define WMITLV_TABLE_WMI_BPF_CAPABILIY_INFO_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_capability_info_evt_fixed_param, wmi_bpf_capability_info_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_CAPABILIY_INFO_EVENTID);
|
||||
|
||||
/* bpf offload vdev status info event */
|
||||
#define WMITLV_TABLE_WMI_BPF_VDEV_STATS_INFO_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_bpf_vdev_stats_info_evt_fixed_param, wmi_bpf_vdev_stats_info_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_VDEV_STATS_INFO_EVENTID);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -231,6 +231,7 @@ typedef enum {
|
||||
WMI_GRP_PKT_FILTER,
|
||||
WMI_GRP_MAWC,
|
||||
WMI_GRP_PMF_OFFLOAD,
|
||||
WMI_GRP_BPF_OFFLOAD, /* Berkeley Packet Filter */
|
||||
} WMI_GRP_ID;
|
||||
|
||||
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
|
||||
@@ -869,6 +870,11 @@ typedef enum {
|
||||
WMI_PMF_OFFLOAD_SET_SA_QUERY_CMDID =
|
||||
WMI_CMD_GRP_START_ID(WMI_GRP_PMF_OFFLOAD),
|
||||
|
||||
/** WMI commands related to pkt filter (BPF) offload */
|
||||
WMI_BPF_GET_CAPABILITY_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_BPF_OFFLOAD),
|
||||
WMI_BPF_GET_VDEV_STATS_CMDID,
|
||||
WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID,
|
||||
WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID,
|
||||
} WMI_CMD_ID;
|
||||
|
||||
typedef enum {
|
||||
@@ -1201,6 +1207,10 @@ typedef enum {
|
||||
/** Motion Aided WiFi Connectivity (MAWC) events */
|
||||
WMI_MAWC_ENABLE_SENSOR_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MAWC),
|
||||
|
||||
/** pkt filter (BPF) offload relevant events */
|
||||
WMI_BPF_CAPABILIY_INFO_EVENTID =
|
||||
WMI_EVT_GRP_START_ID(WMI_GRP_BPF_OFFLOAD),
|
||||
WMI_BPF_VDEV_STATS_INFO_EVENTID,
|
||||
} WMI_EVT_ID;
|
||||
|
||||
/* defines for OEM message sub-types */
|
||||
@@ -6968,6 +6978,7 @@ typedef enum wake_reason_e {
|
||||
WOW_REASON_REASSOC_REQ_RECV,
|
||||
WOW_REASON_REASSOC_RES_RECV,
|
||||
WOW_REASON_ACTION_FRAME_RECV,
|
||||
WOW_REASON_BPF_ALLOW,
|
||||
WOW_REASON_DEBUG_TEST = 0xFF,
|
||||
} WOW_WAKE_REASON_TYPE;
|
||||
|
||||
@@ -12519,6 +12530,53 @@ typedef struct {
|
||||
*/
|
||||
} wmi_scpc_event_fixed_param;
|
||||
|
||||
/* bpf interface structure */
|
||||
typedef struct wmi_bpf_get_capability_cmd_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 reserved; /* reserved for future use - must be filled with 0x0 */
|
||||
} wmi_bpf_get_capability_cmd_fixed_param;
|
||||
|
||||
typedef struct wmi_bpf_capability_info_evt_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 bpf_version; /* fw's implement version */
|
||||
A_UINT32 max_bpf_filters; /* max filters that fw supports */
|
||||
A_UINT32 max_bytes_for_bpf_inst; /* the maximum bytes that can be used as bpf instructions */
|
||||
} wmi_bpf_capability_info_evt_fixed_param;
|
||||
|
||||
/* bit 0 of flags: report counters */
|
||||
#define WMI_BPF_GET_VDEV_STATS_FLAG_CTR_S 0
|
||||
#define WMI_BPF_GET_VDEV_STATS_FLAG_CTR_M 0x1
|
||||
typedef struct wmi_bpf_get_vdev_stats_cmd_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 flags;
|
||||
A_UINT32 vdev_id;
|
||||
} wmi_bpf_get_vdev_stats_cmd_fixed_param;
|
||||
|
||||
typedef struct wmi_bpf_vdev_stats_info_evt_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 num_filters;
|
||||
A_UINT32 num_checked_pkts;
|
||||
A_UINT32 num_dropped_pkts;
|
||||
} wmi_bpf_vdev_stats_info_evt_fixed_param;
|
||||
|
||||
typedef struct wmi_bpf_set_vdev_instructions_cmd_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 filter_id;
|
||||
A_UINT32 bpf_version; /* host bpf version */
|
||||
A_UINT32 total_length;
|
||||
A_UINT32 current_offset;
|
||||
A_UINT32 current_length;
|
||||
} wmi_bpf_set_vdev_instructions_cmd_fixed_param;
|
||||
|
||||
#define BPF_FILTER_ID_ALL 0xFFFFFFFF
|
||||
typedef struct wmi_bpf_del_vdev_instructions_cmd_s {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 filter_id; /* BPF_FILTER_ID_ALL means delete all */
|
||||
} wmi_bpf_del_vdev_instructions_cmd_fixed_param;
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
||||
/*****************************************************************************
|
||||
|
@@ -36,7 +36,7 @@
|
||||
#define __WMI_VER_MINOR_ 0
|
||||
/** WMI revision number has to be incremented when there is a
|
||||
* change that may or may not break compatibility */
|
||||
#define __WMI_REVISION_ 189
|
||||
#define __WMI_REVISION_ 190
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele