Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 295f2cd5 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I564e45fcce93833a171a8e9c4898a52ecf9467bb
WMI: host specify QoS NULL frame for tgt to transmit
CRs-Fixed: 2262693
parent 1ebb88e9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -481,6 +481,7 @@ typedef enum {
    WMI_SERVICE_UNIFIED_LL_GET_STA_CMD_SUPPORT = 261, /* Indicates that FW supports handling Link Layer and Get Station stats Commands together (WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) */
    WMI_SERVICE_FSE_CMEM_ALLOC_SUPPORT = 262, /* Indicates that FW supports non-secure CMEM allocation for FSE table */
    WMI_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE = 263, /* Indicates FW support to not skip beacon if passive scan dwell time + channel switch delay is lesser than beacon interval */
    WMI_SERVICE_QOS_NULL_FRAME_TX_OVER_WMI = 264, /* Indicates that FW supports tx of QoS null frame downloaded through WMI interface */


    WMI_MAX_EXT2_SERVICE
+17 −0
Original line number Diff line number Diff line
@@ -1109,6 +1109,8 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param,
    WMITLV_TAG_STRUC_wmi_request_unified_ll_get_sta_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_sscan_evt_message_fixed_param,
    WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1559,6 +1561,7 @@ typedef enum {
    OP(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID) \
    OP(WMI_WFA_CONFIG_CMDID) \
    OP(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) \
    OP(WMI_QOS_NULL_FRAME_TX_SEND_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -1816,6 +1819,7 @@ typedef enum {
    OP(WMI_VDEV_DISCONNECT_EVENTID) \
    OP(WMI_TWT_SESSION_STATS_EVENTID) \
    OP(WMI_SSCAN_EVT_MESSAGE_EVENTID) \
    OP(WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -2662,6 +2666,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_SEND_CMDID);

WMITLV_CREATE_PARAM_STRUC(WMI_OFFCHAN_DATA_TX_SEND_CMDID);

/* QoS null tx send cmd */
#define WMITLV_TABLE_WMI_QOS_NULL_FRAME_TX_SEND_CMDID(id,op,buf,len)  \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param, wmi_qos_null_frame_tx_send_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_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tx_send_params, wmi_tx_send_params, tx_send_params, WMITLV_SIZE_FIX)

WMITLV_CREATE_PARAM_STRUC(WMI_QOS_NULL_FRAME_TX_SEND_CMDID);

/** PDEV send FILS Discovery frame cmd */
#define WMITLV_TABLE_WMI_PDEV_SEND_FD_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_fd_send_from_host_cmd_fixed_param, wmi_fd_send_from_host_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -4703,6 +4715,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OFFCHAN_DATA_TX_COMPLETION_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_hdr, mgmt_hdr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID);

/* QoS null frame TX completion event */
#define WMITLV_TABLE_WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param, wmi_qos_null_frame_tx_compl_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID);

/* VDEV Start response Event */
#define WMITLV_TABLE_WMI_VDEV_START_RESP_EVENTID(id,op,buf,len)                                                         \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_start_response_event_fixed_param, wmi_vdev_start_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+44 −0
Original line number Diff line number Diff line
@@ -660,6 +660,8 @@ typedef enum {
    WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID,
    /** set FILS Discovery frame template for FW to generate FD frames */
    WMI_FD_TMPL_CMDID,
    /** Transmit QoS null Frame over wmi interface */
    WMI_QOS_NULL_FRAME_TX_SEND_CMDID,
    /** commands to directly control ba negotiation directly from host. only used in test mode */
@@ -1638,6 +1640,10 @@ typedef enum {
     *   Used only in host beacon mode. */
    WMI_HOST_SWBA_V2_EVENTID,
    /** Event for QoS null frame TX completion  */
    WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID,
    /* ADDBA Related WMI Events*/
    /** Indication the completion of the prior
     WMI_PEER_TID_DELBA_CMDID(initiator) */
@@ -5534,6 +5540,22 @@ typedef struct {
 */
} wmi_offchan_data_tx_send_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 desc_id;  /* echoed in tx_compl_event */
    A_UINT32 paddr_lo; /* paddr_lo and padd_hi will hold the address of remote/host buffer, which is physical address of frame */
    A_UINT32 paddr_hi;
    A_UINT32 frame_len; /* Actual length of frame in bytes*/
    A_UINT32 buf_len;  /** Buffer length in bytes, length of data DMA'ed to FW from host */
/* This fixed_param TLV is followed by the TLVs listed below:
 * 1.  ARRAY_BYTE TLV: First buf_len (expected to be 64) bytes of frame
 *     A_UINT8 bufp[];
 * 2.  wmi_tx_send_params tx_send_params;
 */
} wmi_qos_null_frame_tx_send_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_echo_event_fixed_param */
    A_UINT32 value;
@@ -7485,6 +7507,27 @@ typedef struct {
    A_UINT32    ppdu_id;
} wmi_offchan_data_tx_compl_event_fixed_param;
typedef struct {
    A_UINT32    tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param */
    A_UINT32    desc_id; /* echoed from tx_send_cmd */
    A_UINT32    status;  /* same status as WMI_MGMT_TX_COMP_STATUS_TYPE */
    /** pdev_id for identifying the MAC that transmitted the QoS NULL frame
     * See macros starting with WMI_PDEV_ID_ for values.
     */
    A_UINT32    pdev_id;
    /* ppdu_id
     * Hardware PPDU ID for tracking the completion stats
     * A ppdu_id value of 0x0 is invalid, and should be ignored.
     */
    A_UINT32    ppdu_id;
    /* ack_rssi
     * TX mgmt ack RSSI report to host.
     * Only valid when status == COMPLETE_OK and the ACK_RSSI report is enabled
     * ack_rssi is reported in dBm.
     */
    A_INT32    ack_rssi;
} wmi_qos_null_frame_tx_compl_event_fixed_param;
typedef struct {
    A_UINT32    tlv_header;
    A_UINT32    num_reports;
@@ -27165,6 +27208,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_SCHED_METHOD_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID);
        WMI_RETURN_STRING(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);
        WMI_RETURN_STRING(WMI_QOS_NULL_FRAME_TX_SEND_CMDID);
    }
    return "Invalid WMI cmd";
+1 −1
Original line number Diff line number Diff line
@@ -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_ 901
#define __WMI_REVISION_ 902

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work