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

Commit 0d34c8ec authored by spuligil's avatar spuligil Committed by Madan Koyyalamudi
Browse files

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

Change-Id: If5b45c818c38c14c23edb7d6d528c76f3b631ae4
WMI: add PDEV_SET_BIOS_[SAR,GEO_OFFSET]_TABLE_CMD msg defs
CRs-Fixed: 2262693
parent 635f66a0
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -1159,6 +1159,8 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_peer_create_mlo_params,
    WMITLV_TAG_STRUC_wmi_vdev_start_mlo_params,
    WMITLV_TAG_STRUC_wmi_vdev_create_mlo_params,
    WMITLV_TAG_STRUC_wmi_pdev_set_bios_sar_table_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_set_bios_geo_table_cmd_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1622,6 +1624,8 @@ typedef enum {
    OP(WMI_MLO_TEARDOWN_CMDID) \
    OP(WMI_VDEV_IGMP_OFFLOAD_CMDID) \
    OP(WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMDID) \
    OP(WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID) \
    OP(WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -3957,6 +3961,19 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_ANTENNA_SWITCH_TABLE_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ctl_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_CTL_TABLE_CMDID);

/* Set bios sar table */
#define WMITLV_TABLE_WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_bios_sar_table_cmd_fixed_param, wmi_pdev_set_bios_sar_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, sar_power, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, dbs_backoff, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID);

/* Set bios geo table */
#define WMITLV_TABLE_WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_bios_geo_table_cmd_fixed_param, wmi_pdev_set_bios_geo_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, geo_offset, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID);

/* Override the array gain table */
#define WMITLV_TABLE_WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param, wmi_pdev_set_mimogain_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+66 −0
Original line number Diff line number Diff line
@@ -448,6 +448,10 @@ typedef enum {
    WMI_PDEV_ENABLE_DURATION_BASED_TX_MODE_SELECTION_CMDID,
    /* Get DPD status from HALPHY */
    WMI_PDEV_GET_DPD_STATUS_CMDID,
    /* Set bios sar table */
    WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID,
    /* Set bios geo table */
    WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID,
    /* VDEV (virtual device) specific commands */
    /** vdev create */
@@ -25500,6 +25504,66 @@ typedef struct {
     */
} wmi_pdev_set_ctl_table_cmd_fixed_param;
typedef struct {
    A_UINT32    tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_bios_sar_cmd_fixed_param */
    A_UINT32    pdev_id;    /* pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32    sar_len;
    /*  sar power array are stored in TLV, which follow this structure;
     *  sar_len is the number of valid bytes in the sar power array;
     *  sar power array contains 22 elements.
     *  Each element stores the maximum SAR power on certain band.
     *  Its type is A_UINT8 and its unit is 0.25 dBm.
     *      sar_power[0] for chain0 2g
     *      sar_power[1] for chain0 5g unii-1
     *      ...
     *      sar_power[4] for chain0 5g unii-4
     *      sar_power[5] for chain0 6g unii-5
     *      ...
     *      sar_power[10] for chain0 6g unii-10
     *      sar_power[11] for chain1 2g
     *      ...
     *      sar_power[21] for chain1 6g unii-10
     */
    A_UINT32    dbs_backoff_len;
    /*  dbs_backoff follow sar array, its type is A_UINT8;
     *  dbs_backoff[0] ~ dbs_backoff[5], these six elements are based on
     *  maximum SAR power, and make some offset adjustment in DBS mode.
     *  Their unit is 0.25 dB.
     *      dbs_backoff[0] for chain 0 2G
     *      dbs_backoff[1] for chain 0 5G
     *      dbs_backoff[2] for chain 0 6G
     *      dbs_backoff[3] for chain 1 2G
     *      dbs_backoff[4] for chain 1 5G
     *      dbs_backoff[5] for chain 1 6G
     */
} wmi_pdev_set_bios_sar_table_cmd_fixed_param;
typedef struct {
    A_UINT32    tlv_header; /*  TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_bios_sar_cmd_fixed_param */
    A_UINT32    pdev_id;    /*   pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32    geo_len;
    /* geo offset array is in TLV, followed this structure:
     * A_UINT8 Geo_offset[];
     * Geo_offset array has 18 elements. The meaning of each element is to
     * adjust offset based on maximum SAR power according to different regions.
     * Its unit is 0.25 dB.
     *     Geo_offset[0] chain 0 FCC_Offset on 2G
     *     Geo_offset[1] chain 0 FCC_Offset on 5G
     *     Geo_offset[2] chain 0 FCC_Offset on 6G
     *     Geo_offset[3] chain 0 CE_Offset on 2G
     *     Geo_offset[4] chain 0 CE_Offset on 5G
     *     Geo_offset[5] chain 0 CE_Offset on 6G
     *     Geo_offset[6] chain 0 ROW_Offset on 2G
     *     Geo_offset[7] chain 0 ROW_Offset on 5G
     *     Geo_offset[8] chain 0 ROW_Offset on 6G
     *     Geo_offset[9] chain 1 FCC_Offset on 2G
     *     ...
     *     Geo_offset[17] chain 1 ROW_Offset on 6G
     *  In actual use, FW will subtract an offset value according to the region;
     */
} wmi_pdev_set_bios_geo_table_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param */
    union {
@@ -28729,6 +28793,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_MLO_TEARDOWN_CMDID);
        WMI_RETURN_STRING(WMI_VDEV_IGMP_OFFLOAD_CMDID);
        WMI_RETURN_STRING(WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID);
        WMI_RETURN_STRING(WMI_PDEV_SET_BIOS_GEO_TABLE_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_ 999
#define __WMI_REVISION_ 1000

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