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

Commit b09d9c50 authored by spuligil's avatar spuligil Committed by Ravindra Konda
Browse files

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

WMI: add PDEV_SET_CUSTOM_TX_POWER_PER_MCS cmd msg def
Change-Id: I5c6d418cd4a3675d7a42a72bc6b228b32828d0b0
CRs-Fixed: 2262693
parent 1bff3b1a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1431,6 +1431,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
 * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1976,6 +1977,7 @@ typedef enum {
    OP(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID) \
    OP(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID) \
    OP(WMI_PDEV_ENABLE_XLNA_CMDID) \
    OP(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -5583,6 +5585,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param, wmi_pdev_enable_xlna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_XLNA_CMDID);

/* WMI cmd to set custom TX power backoff value per band/chain/mcs to PHY */
#define WMITLV_TABLE_WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param, wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, txpower_bkoff_array, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);



/************************** TLV definitions of WMI events *******************************/
+90 −0
Original line number Diff line number Diff line
@@ -563,6 +563,10 @@ typedef enum {
    WMI_PDEV_ENABLE_WIFI_RADAR_CMDID,
    /* WMI Command to enable xLNA */
    WMI_PDEV_ENABLE_XLNA_CMDID,
    /**
     * WMI cmd to set custom TX power backoff value per band/chain/MCS to PHY.
     */
    WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID,
    /* VDEV (virtual device) specific commands */
@@ -37446,6 +37450,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID);
        WMI_RETURN_STRING(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_ENABLE_XLNA_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);
    }
    return (A_UINT8 *) "Invalid WMI cmd";
@@ -46930,6 +46935,91 @@ typedef struct {
    A_UINT32 pdev_id; /* to identify for which pdev the response is received */
} wmi_pdev_set_tgtr2p_table_event_fixed_param;
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM         4
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_2G_RATE_NUM       18
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_5G_6G_RATE_NUM    24
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param */
    A_UINT32 pdev_id;
    /* Every band's bitmap is per chain per mcs, the bit set indicate the txpower value existed
     * in txpower_array, otherwise, it means no setting from up-layer and need treat the setting
     * txpower as zero
     */
    /* currently 2GHz band has 2 chains (though space is allocated for up
     * to 4 chains) and each chain has 18 rates.
     * bitmap_of_2GHz_band[0] -> chain 0 bitmap:
     * |bit  0|bit  1|......|bit  17|
     * |rate 0|rate 1|......|rate 17|
     *
     * bitmap_of_2GHz_band[1] -> chain 1 bitmap:
     * |bit  0|bit  1|......|bit  17|
     * |rate 0|rate 1|......|rate 17|
     *
     * bitmap_of_2GHz_band[2] -> reserved
     * bitmap_of_2GHz_band[3] -> reserved
     */
    A_UINT32 bitmap_of_2GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
    /* 5GHz band has 4 chains and each chain has 24 rates.
     * bitmap_of_5GHz_band[0] -> chain 0 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_5GHz_band[1] -> chain 1 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_5GHz_band[2] -> chain 2 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_5GHz_band[3] -> chain 3 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     */
    A_UINT32 bitmap_of_5GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
    /* 6GHz band has 4 chains and each chain has 24 rates.
     * bitmap_of_6GHz_band[0] -> chain 0 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_6GHz_band[1] -> chain 1 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_6GHz_band[2] -> chain 2 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     *
     * bitmap_of_6GHz_band[3] -> chain 3 bitmap:
     * |bit  0|bit  1|......|bit  23|
     * |rate 0|rate 1|......|rate 23|
     */
    A_UINT32 bitmap_of_6GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
    A_UINT32 txpower_array_len;
/* This TLV is followed by array of bytes:
 * A_UINT8 txpower_bkoff_array[]:
 *     The txpower backoff value for each bit set within the per-band bitmaps
 *     above, in dB units.
 *     The elements from the 2GHz band occur first, then the elements from the
 *     5GHz band, then the elements from the 6GHz band.
 *     Within each band, the elements from the lower chain numbers (i.e. the
 *     lower words within the bitmap array) occur first.
 *     Within each chain of each band, the element from the lower rate indices
 *     (i.e. the least significant bits within the bitmap word) occur first.
 */
} wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header;      /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_vdev_get_link_info_cmd_fixed_param */
    A_UINT32 vdev_id;
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,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_ 1450
#define __WMI_REVISION_ 1451

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