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

Commit 5f82a6fc authored by spuligil's avatar spuligil Committed by Madan Koyyalamudi
Browse files

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

HTT, WMI: add HTT_H2T RXDMA_RXOLE_PPE_CFG msg def
also add WMI_TX_SEND_PARAM_BEAMFORM_GET,_SET macro defs

Change-Id: I0651382365b72309450919837510b9d00b69b6d6
CRs-Fixed: 2262693
parent 86dab62f
Loading
Loading
Loading
Loading
+130 −2
Original line number Diff line number Diff line
@@ -212,10 +212,11 @@
 * 3.88 Add HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE def.
 * 3.89 Add MSDU queue enumerations.
 * 3.90 Add HTT_T2H_MSG_TYPE_MLO_TIMESTAMP_OFFSET_IND def.
 * 3.91 Add TT_T2H_MSG_TYPE_MLO_RX_PEER_MAP, _UNMAP defs.
 * 3.91 Add HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP, _UNMAP defs.
 * 3.92 Add HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG def.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 91
#define HTT_CURRENT_VERSION_MINOR 92
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -528,6 +529,7 @@ enum htt_h2t_msg_type {
    HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG      = 0x16,
    HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE  = 0x17,
    HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE       = 0x18,
    HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG   = 0x19,
    /* keep this last */
    HTT_H2T_NUM_MSGS
@@ -7002,6 +7004,132 @@ PREPACK struct htt_h2t_host_paddr_size_entry_t {
        ((_var) |= ((_val) << HTT_H2T_HOST_PADDR_SIZE_NUM_ENTRIES_S)); \
    } while (0)
/**
 * @brief host --> target Host RXDMA RXOLE PPE register configuration
 *
 * MSG_TYPE => HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG
 *
 * @details
 *  The HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG message is sent by the host to
 *  provide the PPE DS register confiuration for RXOLE and RXDMA.
 *
 *  The message would appear as follows:
 *
 *     |31                 19|18 |17 |16 |15 |14 |13       9|8|7         0|
 *     |---------------------------------+---+---+----------+-+-----------|
 *     |      reserved       |IFO|DNO|DRO|IBO|MIO|   RDI    |O| msg_type  |
 *     |---------------------+---+---+---+---+---+----------+-+-----------|
 *
 *
 * The message is interpreted as follows:
 * dword0 - b'0:7   - msg_type: This will be set to
 *                    0x19 (HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG)
 *          b'8     - override bit to drive MSDUs to PPE ring
 *          b'9:13  - REO destination ring indication
 *          b'14    - Multi buffer msdu override enable bit
 *          b'15    - Intra BSS override
 *          b'16    - Decap raw override
 *          b'17    - Decap Native wifi override
 *          b'18    - IP frag override
 *          b'19:31 - reserved
 */
PREPACK struct htt_h2t_msg_type_rxdma_rxole_ppe_cfg_t {
   A_UINT32 msg_type:                      8, /* HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG */
            override:                      1,
            reo_destination_indication:    5,
            multi_buffer_msdu_override_en: 1,
            intra_bss_override:            1,
            decap_raw_override:            1,
            decap_nwifi_override:          1,
            ip_frag_override:              1,
            reserved:                     13;
} POSTPACK;
/* DWORD 0: Override */
#define HTT_PPE_CFG_OVERRIDE_M                  0x00000100
#define HTT_PPE_CFG_OVERRIDE_S                  8
#define HTT_PPE_CFG_OVERRIDE_GET(_var) \
        (((_var) & HTT_PPE_CFG_OVERRIDE_M) >> \
                HTT_PPE_CFG_OVERRIDE_S)
#define HTT_PPE_CFG_OVERRIDE_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_OVERRIDE, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_OVERRIDE_S)); \
        } while (0)
/* DWORD 0: REO Destination Indication*/
#define HTT_PPE_CFG_REO_DEST_IND_M                  0x00003E00
#define HTT_PPE_CFG_REO_DEST_IND_S                  9
#define HTT_PPE_CFG_REO_DEST_IND_GET(_var) \
        (((_var) & HTT_PPE_CFG_REO_DEST_IND_M) >> \
                HTT_PPE_CFG_REO_DEST_IND_S)
#define HTT_PPE_CFG_REO_DEST_IND_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_REO_DEST_IND, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_REO_DEST_IND_S)); \
        } while (0)
/* DWORD 0: Multi buffer MSDU override */
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_M                  0x00004000
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S                  14
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_GET(_var) \
        (((_var) & HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_M) >> \
                HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S)
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S)); \
        } while (0)
/* DWORD 0: Intra BSS override */
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_M                  0x00008000
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S                  15
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_GET(_var) \
        (((_var) & HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_M) >> \
                HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S)
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S)); \
        } while (0)
/* DWORD 0: Decap RAW override */
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_M                  0x00010000
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S                  16
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_GET(_var) \
        (((_var) & HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_M) >> \
                HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S)
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S)); \
        } while (0)
/* DWORD 0: Decap NWIFI override */
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_M                  0x00020000
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S                  17
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_GET(_var) \
        (((_var) & HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_M) >> \
                HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S)
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S)); \
        } while (0)
/* DWORD 0: IP frag override */
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_M                  0x00040000
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S                  18
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_GET(_var) \
        (((_var) & HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_M) >> \
                HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S)
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_SET(_var, _val) \
        do { \
            HTT_CHECK_SET_VAL(HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN, _val); \
            ((_var) |= ((_val) << HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S)); \
        } while (0)
/*=== target -> host messages ===============================================*/
+7 −0
Original line number Diff line number Diff line
@@ -1182,6 +1182,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_vdev_bcn_offload_ml_quiet_config_params,
    WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_set_param_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_mec_aging_timer_config_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1652,6 +1653,7 @@ typedef enum {
    OP(WMI_AFC_CMDID) \
    OP(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID) \
    OP(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID) \
    OP(WMI_PEER_CONFIG_PPE_DS_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -4745,6 +4747,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_mec_aging_timer_config_cmd_fixed_param, wmi_pdev_mec_aging_timer_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID);

/* PPE DS config */
#define WMITLV_TABLE_WMI_PEER_CONFIG_PPE_DS_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param, wmi_peer_config_ppe_ds_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CONFIG_PPE_DS_CMDID);



/************************** TLV definitions of WMI events *******************************/
+38 −0
Original line number Diff line number Diff line
@@ -654,6 +654,9 @@ typedef enum {
     */
    WMI_PEER_CONFIG_VLAN_CMDID,
    /** WMI command for per-peer configuration of PPE DS */
    WMI_PEER_CONFIG_PPE_DS_CMDID,
    /* beacon/management specific commands */
@@ -5658,6 +5661,10 @@ typedef struct {
#define WMI_TX_SEND_PARAM_CFR_CAPTURE_GET(tx_param_dword1) WMI_GET_BITS(tx_param_dword1, 21, 1)
#define WMI_TX_SEND_PARAM_CFR_CAPTURE_SET(tx_param_dword1, value) WMI_SET_BITS(tx_param_dword1, 21, 1, value)
#define WMI_TX_SEND_PARAM_BEAMFORM_GET(tx_param_dword1) WMI_GET_BITS(tx_param_dword1, 22, 1)
#define WMI_TX_SEND_PARAM_BEAMFORM_SET(tx_param_dword1, value) WMI_SET_BITS(tx_param_dword1, 22, 1, value)
/* TX_SEND flags:
 * Bit 0: set wrong txkey
 *     There is one special WFA test case in STA or AP, setting wrong txkey
@@ -28874,6 +28881,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_AFC_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID);
        WMI_RETURN_STRING(WMI_PEER_CONFIG_PPE_DS_CMDID);
    }
    return "Invalid WMI cmd";
@@ -34294,6 +34302,36 @@ typedef struct {
    A_UINT32 vdev_id;
} wmi_peer_config_vlan_cmd_fixed_param;
typedef struct {
  /** TLV tag and len; tag equals
    * WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param */
    A_UINT32 tlv_header;
    wmi_mac_addr peer_macaddr;
    A_UINT32 ppe_routing_enable; /* enum WMI_PPE_ROUTING_TYPE */
    /* The processing stages in PPE that this packet buffer need to go through
     * and on to which PPE queues these buffers should be mapped to.
     * Refer pkg/ppe/src/ppe_sc.h for service code types
     */
    A_UINT32 service_code;
    A_UINT32 priority_valid;
    /* Unique number that represents a VAP's vdev_id in PPE domain */
    A_UINT32 src_info;
    /* VDEV identifier */
    A_UINT32 vdev_id;
} wmi_peer_config_ppe_ds_cmd_fixed_param;
typedef enum {
    WMI_PPE_ROUTING_DISABLED = 0,
    WMI_AST_USE_PPE_ENABLED  = 1,
    WMI_AST_USE_PPE_DISABLED = 2,
    WMI_PPE_ROUTING_TYPE_MAX,
} WMI_PPE_ROUTING_TYPE;
typedef struct {
    /** TLV tag and len; tag equals
    * WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_restart_resp_event_fixed_param */
+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_ 1018
#define __WMI_REVISION_ 1019

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