mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
cnss2: Add build type info to wlfw_cap_req_msg
Provide Host build type to fw using wlfw_cap_req QMI message for QDSS feature handling. Change-Id: I7657f909999c33a6d32176d9082c408360853350 Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
This commit is contained in:
parent
4fbfcf8302
commit
facb4eca13
3 changed files with 75 additions and 2 deletions
|
|
@ -154,6 +154,18 @@ qmi_registered:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CNSS2_DEBUG
|
||||
static inline u32 cnss_get_host_build_type(void)
|
||||
{
|
||||
return QMI_HOST_BUILD_TYPE_PRIMARY_V01;
|
||||
}
|
||||
#else
|
||||
static inline u32 cnss_get_host_build_type(void)
|
||||
{
|
||||
return QMI_HOST_BUILD_TYPE_SECONDARY_V01;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int cnss_wlfw_host_cap_send_sync(struct cnss_plat_data *plat_priv)
|
||||
{
|
||||
struct wlfw_host_cap_req_msg_v01 *req;
|
||||
|
|
@ -213,6 +225,9 @@ static int cnss_wlfw_host_cap_send_sync(struct cnss_plat_data *plat_priv)
|
|||
req->ddr_range[0].start, req->ddr_range[0].size);
|
||||
}
|
||||
|
||||
req->host_build_type_valid = 1;
|
||||
req->host_build_type = cnss_get_host_build_type();
|
||||
|
||||
ret = qmi_txn_init(&plat_priv->qmi_wlfw, &txn,
|
||||
wlfw_host_cap_resp_msg_v01_ei, resp);
|
||||
if (ret < 0) {
|
||||
|
|
|
|||
|
|
@ -2729,6 +2729,24 @@ struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[] = {
|
|||
ddr_range),
|
||||
.ei_array = wlfw_host_ddr_range_s_v01_ei,
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x20,
|
||||
.offset = offsetof(struct wlfw_host_cap_req_msg_v01,
|
||||
host_build_type_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(enum wlfw_host_build_type_v01),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x20,
|
||||
.offset = offsetof(struct wlfw_host_cap_req_msg_v01,
|
||||
host_build_type),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_EOTI,
|
||||
.array_type = NO_ARRAY,
|
||||
|
|
@ -3546,6 +3564,26 @@ struct qmi_elem_info wlfw_qdss_trace_mode_req_msg_v01_ei[] = {
|
|||
wlfw_qdss_trace_mode_req_msg_v01,
|
||||
option),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_OPT_FLAG,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(u8),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x12,
|
||||
.offset = offsetof(struct
|
||||
wlfw_qdss_trace_mode_req_msg_v01,
|
||||
hw_trc_disable_override_valid),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
||||
.elem_len = 1,
|
||||
.elem_size = sizeof(enum wlfw_qmi_param_value_v01),
|
||||
.array_type = NO_ARRAY,
|
||||
.tlv_type = 0x12,
|
||||
.offset = offsetof(struct
|
||||
wlfw_qdss_trace_mode_req_msg_v01,
|
||||
hw_trc_disable_override),
|
||||
},
|
||||
{
|
||||
.data_type = QMI_EOTI,
|
||||
.array_type = NO_ARRAY,
|
||||
|
|
|
|||
|
|
@ -181,6 +181,22 @@ enum wlfw_soc_wake_enum_v01 {
|
|||
WLFW_SOC_WAKE_ENUM_MAX_VAL_V01 = INT_MAX,
|
||||
};
|
||||
|
||||
enum wlfw_host_build_type_v01 {
|
||||
WLFW_HOST_BUILD_TYPE_MIN_VAL_V01 = INT_MIN,
|
||||
QMI_HOST_BUILD_TYPE_UNSPECIFIED_V01 = 0,
|
||||
QMI_HOST_BUILD_TYPE_PRIMARY_V01 = 1,
|
||||
QMI_HOST_BUILD_TYPE_SECONDARY_V01 = 2,
|
||||
WLFW_HOST_BUILD_TYPE_MAX_VAL_V01 = INT_MAX,
|
||||
};
|
||||
|
||||
enum wlfw_qmi_param_value_v01 {
|
||||
WLFW_QMI_PARAM_VALUE_MIN_VAL_V01 = INT_MIN,
|
||||
QMI_PARAM_INVALID_V01 = 0,
|
||||
QMI_PARAM_ENABLE_V01 = 1,
|
||||
QMI_PARAM_DISABLE_V01 = 2,
|
||||
WLFW_QMI_PARAM_VALUE_MAX_VAL_V01 = INT_MAX,
|
||||
};
|
||||
|
||||
#define QMI_WLFW_CE_ATTR_FLAGS_V01 ((u32)0x00)
|
||||
#define QMI_WLFW_CE_ATTR_NO_SNOOP_V01 ((u32)0x01)
|
||||
#define QMI_WLFW_CE_ATTR_BYTE_SWAP_DATA_V01 ((u32)0x02)
|
||||
|
|
@ -711,9 +727,11 @@ struct wlfw_host_cap_req_msg_v01 {
|
|||
u8 ddr_range_valid;
|
||||
struct wlfw_host_ddr_range_s_v01
|
||||
ddr_range[QMI_WLFW_MAX_HOST_DDR_RANGE_SIZE_V01];
|
||||
u8 host_build_type_valid;
|
||||
enum wlfw_host_build_type_v01 host_build_type;
|
||||
};
|
||||
|
||||
#define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 312
|
||||
#define WLFW_HOST_CAP_REQ_MSG_V01_MAX_MSG_LEN 319
|
||||
extern struct qmi_elem_info wlfw_host_cap_req_msg_v01_ei[];
|
||||
|
||||
struct wlfw_host_cap_resp_msg_v01 {
|
||||
|
|
@ -922,9 +940,11 @@ struct wlfw_qdss_trace_mode_req_msg_v01 {
|
|||
enum wlfw_qdss_trace_mode_enum_v01 mode;
|
||||
u8 option_valid;
|
||||
u64 option;
|
||||
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 18
|
||||
#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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue