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

Commit 0bc549ab authored by spuligil's avatar spuligil
Browse files

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

Change-Id: Ib8dee2f6403f3871ad061273aa26aa9c81b344fb
WMI: extend thermal throttling stats
CRs-Fixed: 2262693
parent 0d4c5dec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -547,6 +547,7 @@ typedef enum {
    WMI_SERVICE_AOA_FOR_RCC_SUPPORTED = 302,
    WMI_SERVICE_DYN_NSS_MASK_SUPPORT = 303, /* Indicates FW support for DYN NSS feature */
    WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT = 304, /* FW supports HW mode selection offload */
    WMI_SERVICE_THERMAL_THROT_STATS_TEMP_RANGE_SUPPORT = 305, /* FW supports thermal throttling temperature range stats based on wmi_thermal_stats_action */


    WMI_MAX_EXT2_SERVICE
+9 −1
Original line number Diff line number Diff line
@@ -1195,6 +1195,8 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_roam_cnd_vendor_scoring_param,
    WMITLV_TAG_STRUC_wmi_owe_ap_profile,
    WMITLV_TAG_STRUC_wmi_roam_btm_request_candidate_info_tlv_param,
    WMITLV_TAG_STRUC_wmi_thermal_stats_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_thermal_throt_temp_range_stats,
} WMITLV_TAG_ID;

/*
@@ -1668,6 +1670,7 @@ typedef enum {
    OP(WMI_PEER_CONFIG_PPE_DS_CMDID) \
    OP(WMI_VDEV_ENABLE_DISABLE_INTRA_BSS_CMDID) \
    OP(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID) \
    OP(WMI_REQUEST_THERMAL_STATS_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -4787,6 +4790,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ENABLE_DISABLE_INTRA_BSS_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_enable_disable_intra_bss_cmd_fixed_param, wmi_peer_enable_disable_intra_bss_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID);

#define WMITLV_TABLE_WMI_REQUEST_THERMAL_STATS_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_thermal_stats_cmd_fixed_param, wmi_thermal_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_THERMAL_STATS_CMDID);



/************************** TLV definitions of WMI events *******************************/
@@ -6193,7 +6200,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_COEX_BT_ACTIVITY_EVENTID);
/* Thermal Throttling stats event */
#define WMITLV_TABLE_WMI_THERM_THROT_STATS_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_therm_throt_stats_event_fixed_param, wmi_therm_throt_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_therm_throt_level_stats_info, therm_throt_level_stats_info, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_therm_throt_level_stats_info, therm_throt_level_stats_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_thermal_throt_temp_range_stats, temp_range_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_THERM_THROT_STATS_EVENTID);

#define WMITLV_TABLE_WMI_PDEV_DMA_RING_CFG_RSP_EVENTID(id,op,buf,len) \
+54 −1
Original line number Diff line number Diff line
@@ -967,6 +967,9 @@ typedef enum {
    /** unified request for LL stats and get station cmds */
    WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID,
    /** request for thermal stats */
    WMI_REQUEST_THERMAL_STATS_CMDID,
    /** ARP OFFLOAD REQUEST*/
    WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@@ -28369,6 +28372,33 @@ typedef struct {
    A_UINT32 prio;
} wmi_therm_throt_level_config_info;
typedef enum {
    WMI_THERMAL_TEMP_RANGE_STATS_NONE = 0,
    WMI_THERMAL_TEMP_RANGE_STATS_INIT,
    WMI_THERMAL_TEMP_RANGE_STATS_REQUEST,
    WMI_THERMAL_TEMP_RANGE_STATS_CLEAR,
    WMI_THERMAL_STATS_CURRENT_ALL_SENSORS_TEMP,
} wmi_thermal_stats_action;
typedef struct {
    /** TLV tag and len; tag equals
     * WMITLV_TAG_STRUC_wmi_thermal_stats_cmd_fixed_param
     */
    A_UINT32 tlv_header;
    /*
     * Configure thermal temperature offset value for capturing
     * thermal stats in thermal range.
     * FW already has thermal throttling threshold temperature in BDF.
     * Thermal STATS start capturing from temperature threshold to
     * temperature threshold + offset.
     * If thermal offset is 0 then thermal STATS capture is disabled.
     *
     * Units of thermal_offset are degrees Celsius.
     */
    A_UINT32 thermal_offset;
    A_UINT32 thermal_action; /* refer to enum wmi_thermal_stats_action */
} wmi_thermal_stats_cmd_fixed_param;
typedef enum {
    WMI_THERMAL_CLIENT_UNSPECIFIED = 0,
    WMI_THERMAL_CLIENT_APPS        = 1,
@@ -28408,6 +28438,8 @@ typedef enum {
    WMI_THERMAL_SHUTDOWN_TGT    = 3,
} WMI_THERMAL_THROT_LEVEL;
#define WMI_THERMAL_STATS_TEMP_THRESH_LEVEL_MAX 5
/** FW response with the stats event id for every pdev and zones */
typedef struct {
    /*  TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_therm_throt_stats_event_fixed_param */
@@ -28419,10 +28451,10 @@ typedef struct {
    A_UINT32 therm_throt_levels; /* number of levels in therm_throt_level_stats_info */
    /* This TLV is followed by another TLV of array of structs
     * wmi_therm_throt_level_stats_info therm_throt_level_stats_info[therm_throt_levels];
     * wmi_thermal_throt_temp_range_stats temp_range_stats[therm_throt_levels];
     */
} wmi_therm_throt_stats_event_fixed_param;
typedef struct {
    /** TLV tag and len; tag equals
     *  WMITLV_TAG_STRUC_wmi_therm_throt_level_stats_info */
@@ -28432,7 +28464,27 @@ typedef struct {
                          /* this number increments by one each time we are in this state and we finish one full duty cycle. */
} wmi_therm_throt_level_stats_info;
typedef struct {
    /** TLV tag and len; tag equals
     *  WMITLV_TAG_STRUC_wmi_thermal_throt_temp_range_stats
     */
    A_UINT32 tlv_header;
    /**
     * Temperature range to capture thermal stats between start to end
     * temperature level.
     */
    A_UINT32 start_temp_level; /* unit in degC */
    A_UINT32 end_temp_level;   /* unit in degC */
    /** Total time spent on each thermal stats level, units are milliseconds. */
    A_UINT32 total_time_ms_lo;
    A_UINT32 total_time_ms_hi;
    /**
     * Thermal stats counter for every time thermal stats level enters
     * this temperature range.
     */
    A_UINT32 num_entry;
} wmi_thermal_throt_temp_range_stats;
typedef enum {
@@ -29174,6 +29226,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_VDEV_ENABLE_DISABLE_INTRA_BSS_CMDID);
        WMI_RETURN_STRING(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID);
        WMI_RETURN_STRING(WMI_ROAM_MLO_CONFIG_CMDID);
        WMI_RETURN_STRING(WMI_REQUEST_THERMAL_STATS_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_ 1042
#define __WMI_REVISION_ 1043

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