icnss2: Send WLAN_EN delay during Mode request
Send WLAN_EN delay during Mode On QMI request if temperature is below threshold at that time. Change-Id: I910168dafa09c25cc4a263a7756379eb8be46824
This commit is contained in:

committed by
Madan Koyyalamudi

parent
2d912a8ca2
commit
60f897b63a
@@ -624,7 +624,7 @@ static struct qmi_elem_info wlfw_host_mlo_chip_info_s_v01_ei[] = {
|
||||
static struct qmi_elem_info wlfw_pmu_param_v01_ei[] = {
|
||||
{
|
||||
.data_type = QMI_UNSIGNED_1_BYTE,
|
||||
.elem_len = 32,
|
||||
.elem_len = QMI_WLFW_PMU_PIN_NAME_MAX_LEN_V01,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = STATIC_ARRAY,
|
||||
.tlv_type = 0,
|
||||
@@ -1353,6 +1353,26 @@ struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[] = {
|
||||
wlfw_wlan_mode_req_msg_v01,
|
||||
xo_cal_data),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x12,
|
||||
.offset = offsetof(struct
|
||||
wlfw_wlan_mode_req_msg_v01,
|
||||
wlan_en_delay_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_UNSIGNED_4_BYTE,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u32),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x12,
|
||||
.offset = offsetof(struct
|
||||
wlfw_wlan_mode_req_msg_v01,
|
||||
wlan_en_delay),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_EOTI,
|
||||
.array_type = NO_ARRAY,
|
||||
@@ -2044,6 +2064,46 @@ struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[] = {
|
||||
ol_cpr_cfg),
|
||||
.ei_array = wlfw_pmu_cfg_v01_ei,
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x23,
|
||||
.offset = offsetof(struct
|
||||
wlfw_cap_resp_msg_v01,
|
||||
regdb_mandatory_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_UNSIGNED_1_BYTE,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x23,
|
||||
.offset = offsetof(struct
|
||||
wlfw_cap_resp_msg_v01,
|
||||
regdb_mandatory),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x24,
|
||||
.offset = offsetof(struct
|
||||
wlfw_cap_resp_msg_v01,
|
||||
regdb_support_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_UNSIGNED_1_BYTE,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x24,
|
||||
.offset = offsetof(struct
|
||||
wlfw_cap_resp_msg_v01,
|
||||
regdb_support),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_EOTI,
|
||||
.array_type = NO_ARRAY,
|
||||
@@ -4365,6 +4425,26 @@ struct qmi_elem_info wlfw_qdss_trace_mem_info_req_msg_v01_ei[] = {
|
||||
mem_seg),
|
||||
.ei_array = wlfw_mem_seg_resp_s_v01_ei,
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x10,
|
||||
.offset = offsetof(struct
|
||||
wlfw_qdss_trace_mem_info_req_msg_v01,
|
||||
end_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_UNSIGNED_1_BYTE,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x10,
|
||||
.offset = offsetof(struct
|
||||
wlfw_qdss_trace_mem_info_req_msg_v01,
|
||||
end),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_EOTI,
|
||||
.array_type = NO_ARRAY,
|
||||
|
@@ -122,6 +122,7 @@
|
||||
#define QMI_WLFW_MAX_NUM_CE_V01 12
|
||||
#define QMI_WLFW_MAX_TIMESTAMP_LEN_V01 32
|
||||
#define QMI_WLFW_MAX_M3_SEGMENTS_SIZE_V01 10
|
||||
#define QMI_WLFW_PMU_PIN_NAME_MAX_LEN_V01 32
|
||||
#define QMI_WLFW_MAX_STR_LEN_V01 16
|
||||
#define QMI_WLFW_MAX_NUM_SHADOW_REG_V3_V01 60
|
||||
#define QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01 36
|
||||
@@ -259,6 +260,7 @@ enum cnss_feature_v01 {
|
||||
BOOTSTRAP_CLOCK_SELECT_V01 = 0,
|
||||
CNSS_DRV_SUPPORT_V01 = 1,
|
||||
CNSS_WLAN_EN_SUPPORT_V01 = 2,
|
||||
CNSS_QDSS_CFG_MISS_V01 = 3,
|
||||
CNSS_MAX_FEATURE_V01 = 64,
|
||||
CNSS_FEATURE_MAX_VAL_V01 = INT_MAX,
|
||||
};
|
||||
@@ -409,7 +411,7 @@ struct wlfw_host_mlo_chip_info_s_v01 {
|
||||
};
|
||||
|
||||
struct wlfw_pmu_param_v01 {
|
||||
u8 pin_name[32];
|
||||
u8 pin_name[QMI_WLFW_PMU_PIN_NAME_MAX_LEN_V01];
|
||||
u32 wake_volt_valid;
|
||||
u32 wake_volt;
|
||||
u32 sleep_volt_valid;
|
||||
@@ -515,9 +517,11 @@ struct wlfw_wlan_mode_req_msg_v01 {
|
||||
u8 hw_debug;
|
||||
u8 xo_cal_data_valid;
|
||||
u8 xo_cal_data;
|
||||
u8 wlan_en_delay_valid;
|
||||
u32 wlan_en_delay;
|
||||
};
|
||||
|
||||
#define WLFW_WLAN_MODE_REQ_MSG_V01_MAX_MSG_LEN 15
|
||||
#define WLFW_WLAN_MODE_REQ_MSG_V01_MAX_MSG_LEN 22
|
||||
extern struct qmi_elem_info wlfw_wlan_mode_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_wlan_mode_resp_msg_v01 {
|
||||
@@ -609,9 +613,13 @@ struct wlfw_cap_resp_msg_v01 {
|
||||
u8 hwid_bitmap;
|
||||
u8 ol_cpr_cfg_valid;
|
||||
struct wlfw_pmu_cfg_v01 ol_cpr_cfg;
|
||||
u8 regdb_mandatory_valid;
|
||||
u8 regdb_mandatory;
|
||||
u8 regdb_support_valid;
|
||||
u8 regdb_support;
|
||||
};
|
||||
|
||||
#define WLFW_CAP_RESP_MSG_V01_MAX_MSG_LEN 1134
|
||||
#define WLFW_CAP_RESP_MSG_V01_MAX_MSG_LEN 1142
|
||||
extern struct qmi_elem_info wlfw_cap_resp_msg_v01_ei[];
|
||||
|
||||
struct wlfw_bdf_download_req_msg_v01 {
|
||||
@@ -825,7 +833,6 @@ extern struct qmi_elem_info wlfw_athdiag_write_resp_msg_v01_ei[];
|
||||
struct wlfw_vbatt_req_msg_v01 {
|
||||
u64 voltage_uv;
|
||||
};
|
||||
|
||||
#define WLFW_VBATT_REQ_MSG_V01_MAX_MSG_LEN 11
|
||||
extern struct qmi_elem_info wlfw_vbatt_req_msg_v01_ei[];
|
||||
|
||||
@@ -917,14 +924,12 @@ struct wlfw_host_cap_req_msg_v01 {
|
||||
u8 fw_ini_cfg_support_valid;
|
||||
u8 fw_ini_cfg_support;
|
||||
};
|
||||
|
||||
#define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 491
|
||||
extern struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_host_cap_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_HOST_CAP_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_host_cap_resp_msg_v01_ei[];
|
||||
|
||||
@@ -932,7 +937,6 @@ struct wlfw_request_mem_ind_msg_v01 {
|
||||
u32 mem_seg_len;
|
||||
struct wlfw_mem_seg_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
|
||||
};
|
||||
|
||||
#define WLFW_REQUEST_MEM_IND_MSG_V01_MAX_MSG_LEN 1824
|
||||
extern struct qmi_elem_info wlfw_request_mem_ind_msg_v01_ei[];
|
||||
|
||||
@@ -940,21 +944,18 @@ struct wlfw_respond_mem_req_msg_v01 {
|
||||
u32 mem_seg_len;
|
||||
struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
|
||||
};
|
||||
|
||||
#define WLFW_RESPOND_MEM_REQ_MSG_V01_MAX_MSG_LEN 888
|
||||
extern struct qmi_elem_info wlfw_respond_mem_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_respond_mem_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_RESPOND_MEM_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_respond_mem_resp_msg_v01_ei[];
|
||||
|
||||
struct wlfw_fw_mem_ready_ind_msg_v01 {
|
||||
char placeholder;
|
||||
};
|
||||
|
||||
#define WLFW_FW_MEM_READY_IND_MSG_V01_MAX_MSG_LEN 0
|
||||
extern struct qmi_elem_info wlfw_fw_mem_ready_ind_msg_v01_ei[];
|
||||
|
||||
@@ -964,7 +965,6 @@ struct wlfw_fw_init_done_ind_msg_v01 {
|
||||
u8 hang_data_length_valid;
|
||||
u16 hang_data_length;
|
||||
};
|
||||
|
||||
#define WLFW_FW_INIT_DONE_IND_MSG_V01_MAX_MSG_LEN 12
|
||||
extern struct qmi_elem_info wlfw_fw_init_done_ind_msg_v01_ei[];
|
||||
|
||||
@@ -978,21 +978,18 @@ struct wlfw_rejuvenate_ind_msg_v01 {
|
||||
u8 function_name_valid;
|
||||
char function_name[QMI_WLFW_FUNCTION_NAME_LEN_V01 + 1];
|
||||
};
|
||||
|
||||
#define WLFW_REJUVENATE_IND_MSG_V01_MAX_MSG_LEN 144
|
||||
extern struct qmi_elem_info wlfw_rejuvenate_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_rejuvenate_ack_req_msg_v01 {
|
||||
char placeholder;
|
||||
};
|
||||
|
||||
#define WLFW_REJUVENATE_ACK_REQ_MSG_V01_MAX_MSG_LEN 0
|
||||
extern struct qmi_elem_info wlfw_rejuvenate_ack_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_rejuvenate_ack_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_REJUVENATE_ACK_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_rejuvenate_ack_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1000,7 +997,6 @@ struct wlfw_dynamic_feature_mask_req_msg_v01 {
|
||||
u8 mask_valid;
|
||||
u64 mask;
|
||||
};
|
||||
|
||||
#define WLFW_DYNAMIC_FEATURE_MASK_REQ_MSG_V01_MAX_MSG_LEN 11
|
||||
extern struct qmi_elem_info wlfw_dynamic_feature_mask_req_msg_v01_ei[];
|
||||
|
||||
@@ -1011,7 +1007,6 @@ struct wlfw_dynamic_feature_mask_resp_msg_v01 {
|
||||
u8 curr_mask_valid;
|
||||
u64 curr_mask;
|
||||
};
|
||||
|
||||
#define WLFW_DYNAMIC_FEATURE_MASK_RESP_MSG_V01_MAX_MSG_LEN 29
|
||||
extern struct qmi_elem_info wlfw_dynamic_feature_mask_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1019,21 +1014,18 @@ struct wlfw_m3_info_req_msg_v01 {
|
||||
u64 addr;
|
||||
u32 size;
|
||||
};
|
||||
|
||||
#define WLFW_M3_INFO_REQ_MSG_V01_MAX_MSG_LEN 18
|
||||
extern struct qmi_elem_info wlfw_m3_info_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_m3_info_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_M3_INFO_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_m3_info_resp_msg_v01_ei[];
|
||||
|
||||
struct wlfw_xo_cal_ind_msg_v01 {
|
||||
u8 xo_cal_data;
|
||||
};
|
||||
|
||||
#define WLFW_XO_CAL_IND_MSG_V01_MAX_MSG_LEN 4
|
||||
extern struct qmi_elem_info wlfw_xo_cal_ind_msg_v01_ei[];
|
||||
|
||||
@@ -1041,7 +1033,6 @@ struct wlfw_cal_done_ind_msg_v01 {
|
||||
u8 cal_file_upload_size_valid;
|
||||
u64 cal_file_upload_size;
|
||||
};
|
||||
|
||||
#define WLFW_CAL_DONE_IND_MSG_V01_MAX_MSG_LEN 11
|
||||
extern struct qmi_elem_info wlfw_cal_done_ind_msg_v01_ei[];
|
||||
|
||||
@@ -1049,22 +1040,22 @@ struct wlfw_qdss_trace_req_mem_ind_msg_v01 {
|
||||
u32 mem_seg_len;
|
||||
struct wlfw_mem_seg_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_REQ_MEM_IND_MSG_V01_MAX_MSG_LEN 1824
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_req_mem_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_trace_mem_info_req_msg_v01 {
|
||||
u32 mem_seg_len;
|
||||
struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
|
||||
u8 end_valid;
|
||||
u8 end;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_MEM_INFO_REQ_MSG_V01_MAX_MSG_LEN 888
|
||||
#define WLFW_QDSS_TRACE_MEM_INFO_REQ_MSG_V01_MAX_MSG_LEN 892
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_mem_info_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_trace_mem_info_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_MEM_INFO_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_mem_info_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1077,14 +1068,12 @@ struct wlfw_qdss_trace_save_ind_msg_v01 {
|
||||
u8 file_name_valid;
|
||||
char file_name[QMI_WLFW_MAX_STR_LEN_V01 + 1];
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_SAVE_IND_MSG_V01_MAX_MSG_LEN 921
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_save_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_trace_data_req_msg_v01 {
|
||||
u32 seg_id;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_DATA_REQ_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_data_req_msg_v01_ei[];
|
||||
|
||||
@@ -1100,7 +1089,6 @@ struct wlfw_qdss_trace_data_resp_msg_v01 {
|
||||
u8 end_valid;
|
||||
u8 end;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_DATA_RESP_MSG_V01_MAX_MSG_LEN 6174
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_data_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1115,14 +1103,12 @@ struct wlfw_qdss_trace_config_download_req_msg_v01 {
|
||||
u8 end_valid;
|
||||
u8 end;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_CONFIG_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6167
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_config_download_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_trace_config_download_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_CONFIG_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_config_download_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1134,14 +1120,12 @@ struct wlfw_qdss_trace_mode_req_msg_v01 {
|
||||
u8 hw_trc_disable_override_valid;
|
||||
enum wlfw_qmi_param_value_v01 hw_trc_disable_override;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_MODE_REQ_MSG_V01_MAX_MSG_LEN 25
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_mode_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_trace_mode_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_MODE_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_mode_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1150,7 +1134,6 @@ struct wlfw_qdss_trace_free_ind_msg_v01 {
|
||||
u32 mem_seg_len;
|
||||
struct wlfw_mem_seg_resp_s_v01 mem_seg[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_TRACE_FREE_IND_MSG_V01_MAX_MSG_LEN 888
|
||||
extern struct qmi_elem_info wlfw_qdss_trace_free_ind_msg_v01_ei[];
|
||||
|
||||
@@ -1158,21 +1141,18 @@ struct wlfw_shutdown_req_msg_v01 {
|
||||
u8 shutdown_valid;
|
||||
u8 shutdown;
|
||||
};
|
||||
|
||||
#define WLFW_SHUTDOWN_REQ_MSG_V01_MAX_MSG_LEN 4
|
||||
extern struct qmi_elem_info wlfw_shutdown_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_shutdown_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_SHUTDOWN_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_shutdown_resp_msg_v01_ei[];
|
||||
|
||||
struct wlfw_antenna_switch_req_msg_v01 {
|
||||
char placeholder;
|
||||
};
|
||||
|
||||
#define WLFW_ANTENNA_SWITCH_REQ_MSG_V01_MAX_MSG_LEN 0
|
||||
extern struct qmi_elem_info wlfw_antenna_switch_req_msg_v01_ei[];
|
||||
|
||||
@@ -1181,7 +1161,6 @@ struct wlfw_antenna_switch_resp_msg_v01 {
|
||||
u8 antenna_valid;
|
||||
u64 antenna;
|
||||
};
|
||||
|
||||
#define WLFW_ANTENNA_SWITCH_RESP_MSG_V01_MAX_MSG_LEN 18
|
||||
extern struct qmi_elem_info wlfw_antenna_switch_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1189,14 +1168,12 @@ struct wlfw_antenna_grant_req_msg_v01 {
|
||||
u8 grant_valid;
|
||||
u64 grant;
|
||||
};
|
||||
|
||||
#define WLFW_ANTENNA_GRANT_REQ_MSG_V01_MAX_MSG_LEN 11
|
||||
extern struct qmi_elem_info wlfw_antenna_grant_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_antenna_grant_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_ANTENNA_GRANT_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_antenna_grant_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1216,14 +1193,12 @@ struct wlfw_wfc_call_status_req_msg_v01 {
|
||||
u8 media_quality_valid;
|
||||
enum wlfw_wfc_media_quality_v01 media_quality;
|
||||
};
|
||||
|
||||
#define WLFW_WFC_CALL_STATUS_REQ_MSG_V01_MAX_MSG_LEN 296
|
||||
extern struct qmi_elem_info wlfw_wfc_call_status_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_wfc_call_status_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_WFC_CALL_STATUS_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_wfc_call_status_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1232,14 +1207,12 @@ struct wlfw_get_info_req_msg_v01 {
|
||||
u32 data_len;
|
||||
u8 data[QMI_WLFW_MAX_DATA_SIZE_V01];
|
||||
};
|
||||
|
||||
#define WLFW_GET_INFO_REQ_MSG_V01_MAX_MSG_LEN 6153
|
||||
extern struct qmi_elem_info wlfw_get_info_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_get_info_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_GET_INFO_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_get_info_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1253,14 +1226,12 @@ struct wlfw_respond_get_info_ind_msg_v01 {
|
||||
u8 seq_no_valid;
|
||||
u32 seq_no;
|
||||
};
|
||||
|
||||
#define WLFW_RESPOND_GET_INFO_IND_MSG_V01_MAX_MSG_LEN 6164
|
||||
extern struct qmi_elem_info wlfw_respond_get_info_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_device_info_req_msg_v01 {
|
||||
char placeholder;
|
||||
};
|
||||
|
||||
#define WLFW_DEVICE_INFO_REQ_MSG_V01_MAX_MSG_LEN 0
|
||||
extern struct qmi_elem_info wlfw_device_info_req_msg_v01_ei[];
|
||||
|
||||
@@ -1275,7 +1246,6 @@ struct wlfw_device_info_resp_msg_v01 {
|
||||
u8 mhi_state_info_size_valid;
|
||||
u32 mhi_state_info_size;
|
||||
};
|
||||
|
||||
#define WLFW_DEVICE_INFO_RESP_MSG_V01_MAX_MSG_LEN 43
|
||||
extern struct qmi_elem_info wlfw_device_info_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1284,7 +1254,6 @@ struct wlfw_m3_dump_upload_req_ind_msg_v01 {
|
||||
u64 addr;
|
||||
u64 size;
|
||||
};
|
||||
|
||||
#define WLFW_M3_DUMP_UPLOAD_REQ_IND_MSG_V01_MAX_MSG_LEN 29
|
||||
extern struct qmi_elem_info wlfw_m3_dump_upload_req_ind_msg_v01_ei[];
|
||||
|
||||
@@ -1292,14 +1261,12 @@ struct wlfw_m3_dump_upload_done_req_msg_v01 {
|
||||
u32 pdev_id;
|
||||
u32 status;
|
||||
};
|
||||
|
||||
#define WLFW_M3_DUMP_UPLOAD_DONE_REQ_MSG_V01_MAX_MSG_LEN 14
|
||||
extern struct qmi_elem_info wlfw_m3_dump_upload_done_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_m3_dump_upload_done_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_M3_DUMP_UPLOAD_DONE_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_m3_dump_upload_done_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1307,14 +1274,12 @@ struct wlfw_soc_wake_req_msg_v01 {
|
||||
u8 wake_valid;
|
||||
enum wlfw_soc_wake_enum_v01 wake;
|
||||
};
|
||||
|
||||
#define WLFW_SOC_WAKE_REQ_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_soc_wake_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_soc_wake_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_SOC_WAKE_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_soc_wake_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1322,14 +1287,12 @@ struct wlfw_power_save_req_msg_v01 {
|
||||
u8 power_save_mode_valid;
|
||||
enum wlfw_power_save_mode_v01 power_save_mode;
|
||||
};
|
||||
|
||||
#define WLFW_POWER_SAVE_REQ_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_power_save_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_power_save_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_POWER_SAVE_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_power_save_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1347,28 +1310,24 @@ struct wlfw_wfc_call_twt_config_ind_msg_v01 {
|
||||
u8 twt_sta_config_changed_valid;
|
||||
u8 twt_sta_config_changed;
|
||||
};
|
||||
|
||||
#define WLFW_WFC_CALL_TWT_CONFIG_IND_MSG_V01_MAX_MSG_LEN 35
|
||||
extern struct qmi_elem_info wlfw_wfc_call_twt_config_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_qdss_mem_ready_ind_msg_v01 {
|
||||
char placeholder;
|
||||
};
|
||||
|
||||
#define WLFW_QDSS_MEM_READY_IND_MSG_V01_MAX_MSG_LEN 0
|
||||
extern struct qmi_elem_info wlfw_qdss_mem_ready_ind_msg_v01_ei[];
|
||||
|
||||
struct wlfw_pcie_gen_switch_req_msg_v01 {
|
||||
enum wlfw_pcie_gen_speed_v01 pcie_speed;
|
||||
};
|
||||
|
||||
#define WLFW_PCIE_GEN_SWITCH_REQ_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_pcie_gen_switch_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_pcie_gen_switch_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_PCIE_GEN_SWITCH_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_pcie_gen_switch_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1377,7 +1336,6 @@ struct wlfw_m3_dump_upload_segments_req_ind_msg_v01 {
|
||||
u32 no_of_valid_segments;
|
||||
struct wlfw_m3_segment_info_s_v01 m3_segment[QMI_WLFW_MAX_M3_SEGMENTS_SIZE_V01];
|
||||
};
|
||||
|
||||
#define WLFW_M3_DUMP_UPLOAD_SEGMENTS_REQ_IND_MSG_V01_MAX_MSG_LEN 387
|
||||
extern struct qmi_elem_info wlfw_m3_dump_upload_segments_req_ind_msg_v01_ei[];
|
||||
|
||||
@@ -1385,14 +1343,12 @@ struct wlfw_subsys_restart_level_req_msg_v01 {
|
||||
u8 restart_level_type_valid;
|
||||
u8 restart_level_type;
|
||||
};
|
||||
|
||||
#define WLFW_SUBSYS_RESTART_LEVEL_REQ_MSG_V01_MAX_MSG_LEN 4
|
||||
extern struct qmi_elem_info wlfw_subsys_restart_level_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_subsys_restart_level_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_SUBSYS_RESTART_LEVEL_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_subsys_restart_level_resp_msg_v01_ei[];
|
||||
|
||||
@@ -1409,14 +1365,12 @@ struct wlfw_ini_file_download_req_msg_v01 {
|
||||
u8 end_valid;
|
||||
u8 end;
|
||||
};
|
||||
|
||||
#define WLFW_INI_FILE_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN 6174
|
||||
extern struct qmi_elem_info wlfw_ini_file_download_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_ini_file_download_resp_msg_v01 {
|
||||
struct qmi_response_type_v01 resp;
|
||||
};
|
||||
|
||||
#define WLFW_INI_FILE_DOWNLOAD_RESP_MSG_V01_MAX_MSG_LEN 7
|
||||
extern struct qmi_elem_info wlfw_ini_file_download_resp_msg_v01_ei[];
|
||||
|
||||
|
@@ -3218,6 +3218,7 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
|
||||
const char *host_version)
|
||||
{
|
||||
struct icnss_priv *priv = dev_get_drvdata(dev);
|
||||
int temp = 0;
|
||||
|
||||
if (test_bit(ICNSS_FW_DOWN, &priv->state) ||
|
||||
!test_bit(ICNSS_FW_READY, &priv->state)) {
|
||||
@@ -3236,6 +3237,14 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
|
||||
!priv->dms.nv_mac_not_prov && !priv->dms.mac_valid)
|
||||
icnss_setup_dms_mac(priv);
|
||||
|
||||
if (priv->device_id == WCN6750_DEVICE_ID) {
|
||||
if (!icnss_get_temperature(priv, &temp)) {
|
||||
icnss_pr_dbg("Temperature: %d\n", temp);
|
||||
if (temp < WLAN_EN_TEMP_THRESHOLD)
|
||||
icnss_set_wlan_en_delay(priv);
|
||||
}
|
||||
}
|
||||
|
||||
return icnss_send_wlan_enable_to_fw(priv, config, mode, host_version);
|
||||
}
|
||||
EXPORT_SYMBOL(icnss_wlan_enable);
|
||||
|
@@ -1467,6 +1467,13 @@ int wlfw_wlan_mode_send_sync_msg(struct icnss_priv *priv,
|
||||
req->hw_debug_valid = 1;
|
||||
req->hw_debug = !!test_bit(HW_DEBUG_ENABLE, &priv->ctrl_params.quirks);
|
||||
|
||||
if (priv->wlan_en_delay_ms >= 100) {
|
||||
icnss_pr_dbg("Setting WLAN_EN delay: %d ms\n",
|
||||
priv->wlan_en_delay_ms);
|
||||
req->wlan_en_delay_valid = 1;
|
||||
req->wlan_en_delay = priv->wlan_en_delay_ms;
|
||||
}
|
||||
|
||||
priv->stats.mode_req++;
|
||||
|
||||
ret = qmi_txn_init(&priv->qmi, &txn,
|
||||
|
Reference in New Issue
Block a user