fw-api: CL 9672221 - update fw common interface files

Change-Id: I29f9768c0d2f2744583c7c046924962ab4fab410
WMI: add PDEV_FRAME_INJECT_CMD msg def
CRs-Fixed: 2262693
Cette révision appartient à :
spuligil
2020-02-26 06:00:38 -08:00
révisé par nshrivas
Parent f0434a6e92
révision b99d2f055a
4 fichiers modifiés avec 53 ajouts et 1 suppressions

Voir le fichier

@@ -428,6 +428,7 @@ typedef enum {
WMI_SERVICE_PEER_DELETE_NO_PEER_FLUSH_TIDS_CMD = 237, /* Host should not send WMI_PEER_FLUSH_TIDS_CMD as part of peer delete */
WMI_SERVICE_NSS_RATIO_TO_HOST_SUPPORT = 238, /* Indicates firmware supports sending NSS ratio info to host */
WMI_SERVICE_WPA3_SUITEB_ROAM_SUPPORT = 239, /* Indicates FW supports WPA3 SUITE B roaming */
WMI_SERVICE_PERIODIC_FRAME_INJECT_SUPPORT = 240, /* Indicates FW supports periodic frame injection */
/******* ADD NEW SERVICES HERE *******/

Voir le fichier

@@ -1049,6 +1049,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_get_big_data_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_send_big_data_event_fixed_param,
WMITLV_TAG_STRUC_wmi_nan_dmesg_event_fixed_param,
WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1478,6 +1479,7 @@ typedef enum {
OP(WMI_VDEV_SET_PCL_CMDID) \
OP(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID) \
OP(WMI_VDEV_GET_BIG_DATA_CMDID) \
OP(WMI_PDEV_FRAME_INJECT_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -4293,6 +4295,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_cmd_fixed_param, wmi_vdev_get_big_data_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_CMDID);
/* Frame inject command */
#define WMITLV_TABLE_WMI_PDEV_FRAME_INJECT_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param, wmi_frame_inject_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_FRAME_INJECT_CMDID);
/************************** TLV definitions of WMI events *******************************/

Voir le fichier

@@ -412,6 +412,8 @@ typedef enum {
WMI_PDEV_SET_RAP_CONFIG_CMDID,
/** Specify DSM filters along with disallow bssid filters */
WMI_PDEV_DSM_FILTER_CMDID,
/** enable/disable periodic frame injection */
WMI_PDEV_FRAME_INJECT_CMDID,
/* VDEV (virtual device) specific commands */
/** vdev create */
@@ -10920,6 +10922,46 @@ typedef struct {
/** app IE */
} wmi_bcn_prb_info;
enum wmi_frame_inject_type {
/* Transmit QoS null frame each period */
WMI_FRAME_INJECT_TYPE_QOS_NULL,
/* Transmit CTS to self each period */
WMI_FRAME_INJECT_TYPE_CTS_TO_SELF,
/* Transmit HOST provided buffer instead of forming frame in FW */
WMI_FRAME_INJECT_TYPE_HOST_BUFFER,
/* Max valid frame inject type for sanity checks*/
WMI_FRAME_INJECT_TYPE_MAX,
};
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param */
A_UINT32 tlv_header;
/** unique id identifying the VDEV, generated by the caller.
* At any time only one vdev per mac can have this feature enabled.
* Two consecutive enable commands on same mac will result in previous
* command being disabled and new one being enabled.
*/
A_UINT32 vdev_id;
/** enable or disable injection */
A_UINT32 enable;
/** frame type to be used for frame injection. possible values are
* defined in enum wmi_frame_inject_type.
*/
A_UINT32 frame_type;
/** periodicity of frame injection in milliseconds */
A_UINT32 frame_inject_period;
/** Destination address of frame */
wmi_mac_addr frame_addr1;
/** variable buffer length. Can be used for frame template.
* data is in TLV data[]
*/
A_UINT32 buf_len;
/*
* The TLVs follows:
* A_UINT8 data[]; <-- Variable length data
*/
} wmi_frame_inject_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bcn_tmpl_cmd_fixed_param */
/** unique id identifying the VDEV, generated by the caller */
@@ -25371,6 +25413,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID);
WMI_RETURN_STRING(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID);
WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_CMDID);
WMI_RETURN_STRING(WMI_PDEV_FRAME_INJECT_CMDID);
}
return "Invalid WMI cmd";

Voir le fichier

@@ -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_ 780
#define __WMI_REVISION_ 781
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work