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

Commit 37fee794 authored by spuligil's avatar spuligil
Browse files

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

HTT,WMI: distinct V0 vs. V1 RX_PEER_METADATA defs

Change-Id: I409300107ae0b83f4346b417a24b2daa7b9afef6
CRs-Fixed: 2262693
parent 4993ca4e
Loading
Loading
Loading
Loading
+123 −1
Original line number Diff line number Diff line
@@ -206,9 +206,10 @@
 * 3.82 Add WIN_SIZE field to HTT_T2H_MSG_TYPE_RX_DELBA msg.
 * 3.83 Shrink seq_idx field in HTT PPDU ID from 3 bits to 2.
 * 3.84 Add fisa_control_bits_v2 def.
 * 3.85 Add HTT_RX_PEER_META_DATA defs.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 84
#define HTT_CURRENT_VERSION_MINOR 85
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -14138,5 +14139,126 @@ PREPACK struct htt_ppdu_id {
        ((_var) |= ((_val) << HTT_PPDU_ID_SEQ_CMD_TYPE_S)); \
    } while (0)
/**
 * @brief target -> RX PEER METADATA V0 format
 * Host will know the peer metadata version from the wmi_service_ready_ext2
 * message from target, and will confirm to the target which peer metadata
 * version to use in the wmi_init message.
 *
 * The following diagram shows the format of the RX PEER METADATA.
 *
 * |31             24|23             16|15              8|7               0|
 * |-----------------------------------------------------------------------|
 * |    Reserved     |     VDEV ID     |              PEER ID              |
 * |-----------------------------------------------------------------------|
 */
PREPACK struct htt_rx_peer_metadata_v0 {
    A_UINT32
        peer_id:         16,
        vdev_id:         8,
        reserved1:       8;
} POSTPACK;
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_S    0
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_M    0x0000ffff
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V0_PEER_ID_M) >> HTT_RX_PEER_META_DATA_V0_PEER_ID_S)
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V0_PEER_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V0_PEER_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_S    16
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_M    0x00ff0000
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V0_VDEV_ID_M) >> HTT_RX_PEER_META_DATA_V0_VDEV_ID_S)
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V0_VDEV_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V0_VDEV_ID_S)); \
    } while (0)
/**
 * @brief target -> RX PEER METADATA V1 format
 * Host will know the peer metadata version from the wmi_service_ready_ext2
 * message from target, and will confirm to the target which peer metadata
 * version to use in the wmi_init message.
 *
 * The following diagram shows the format of the RX PEER METADATA V1 format.
 *
 * |31 29|28   26|25   24|23        16|15 14|   13  |12                   0|
 * |-----------------------------------------------------------------------|
 * |Rsvd2|CHIP ID|LMAC ID|  VDEV ID   |Rsvd1|ML PEER| SW PEER ID/ML PEER ID|
 * |-----------------------------------------------------------------------|
 */
PREPACK struct htt_rx_peer_metadata_v1 {
    A_UINT32
        peer_id:         13,
        ml_peer_valid:   1,
        reserved1:       2,
        vdev_id:         8,
        lmac_id:         2,
        chip_id:         3,
        reserved2:       3;
} POSTPACK;
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_S    0
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_M    0x00001fff
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_PEER_ID_M) >> HTT_RX_PEER_META_DATA_V1_PEER_ID_S)
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_PEER_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_PEER_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S    13
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_M    0x00002000
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_M) >> HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S)
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_S    16
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_M    0x00ff0000
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_VDEV_ID_M) >> HTT_RX_PEER_META_DATA_V1_VDEV_ID_S)
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_VDEV_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_VDEV_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_S    24
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_M    0x03000000
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_LMAC_ID_M) >> HTT_RX_PEER_META_DATA_V1_LMAC_ID_S)
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_LMAC_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_LMAC_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_S    26
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_M    0x1c000000
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_CHIP_ID_M) >> HTT_RX_PEER_META_DATA_V1_CHIP_ID_S)
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_CHIP_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_CHIP_ID_S)); \
    } while (0)
#endif
+33 −1
Original line number Diff line number Diff line
@@ -2824,6 +2824,11 @@ typedef struct {
#define WMI_MAX_USER_PER_PPDU_DL_MUMIMO_SET(dword, value) \
        WMI_SET_BITS(dword, 16, 16, value)
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_GET(target_cap_flags) \
        WMI_GET_BITS(target_cap_flags, 0, 2)
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_SET(target_cap_flags, value) \
        WMI_SET_BITS(target_cap_flags, 0, 2, value)
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/
@@ -2887,6 +2892,18 @@ typedef struct {
     * If max_user_per_ppdu_mumimo == 0 the UL/DL max users are unspecified.
     */
    A_UINT32 max_user_per_ppdu_mumimo;
    /**
     * @brief target_cap_flags - flags containing information about target capabilities.
     * Bits 1:0
     *    Rx peer metadata version number used by target
     *    0-> legacy case
     *    1-> MLO support
     *    2,3-> reserved
     *    Refer to WMI_TARGET_CAP_FLAGS_PEER_METADATA_VERSION macros.
     * Bits 31:2 - Reserved
     */
    A_UINT32 target_cap_flags;
} wmi_service_ready_ext2_event_fixed_param;
typedef struct {
@@ -3683,7 +3700,17 @@ typedef struct {
     *
     *      Refer to the below WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_GET/SET
     *      macros.
     *  Bits 31:4 - Reserved
     *  Bits 5:4
     *      HTT rx peer metadata version number that host supports.
     *      Firmware intially sends the target supported version number
     *      as part of service_ready_ext2 message.
     *      Host can ack the version number that it is using as part of
     *      this message.
     *      0-> legacy case
     *      1-> MLO support
     *      2-3-> Reserved
     *      Refer to the WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION macros.
     *  Bits 31:6 - Reserved
     */
    A_UINT32 flags2;
    /** @brief host_service_flags - can be used by Host to indicate
@@ -3940,6 +3967,11 @@ typedef struct {
#define WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_SET(flags2, pdev_id, value) \
    WMI_SET_BITS(flags2, pdev_id, 1, value)
#define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_GET(flags2) \
    WMI_GET_BITS(flags2, 4, 2)
#define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(flags2, value) \
    WMI_SET_BITS(flags2, 4, 2, value)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \
    WMI_GET_BITS(host_service_flags, 0, 1)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_SET(host_service_flags, val) \
+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_ 879
#define __WMI_REVISION_ 880

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