Merge "cnss2: Add shadow register version 3 for kiwi" into wlan-platform.lnx.1.0
This commit is contained in:

کامیت شده توسط
Gerrit - the friendly Code Review server

کامیت
3a77b6a963
36
cnss2/qmi.c
36
cnss2/qmi.c
@@ -45,6 +45,9 @@
|
||||
#define QMI_WLFW_MAX_RECV_BUF_SIZE SZ_8K
|
||||
#define IMSPRIVATE_SERVICE_MAX_MSG_LEN SZ_8K
|
||||
#define DMS_QMI_MAX_MSG_LEN SZ_256
|
||||
#define MAX_SHADOW_REG_RESERVED 2
|
||||
#define MAX_NUM_SHADOW_REG_V3 (QMI_WLFW_MAX_NUM_SHADOW_REG_V3_USAGE_V01 - \
|
||||
MAX_SHADOW_REG_RESERVED)
|
||||
|
||||
#define QMI_WLFW_MAC_READY_TIMEOUT_MS 50
|
||||
#define QMI_WLFW_MAC_READY_MAX_RETRY 200
|
||||
@@ -1379,16 +1382,31 @@ int cnss_wlfw_wlan_cfg_send_sync(struct cnss_plat_data *plat_priv,
|
||||
req->svc_cfg[i].pipe_num = config->ce_svc_cfg[i].pipe_num;
|
||||
}
|
||||
|
||||
req->shadow_reg_v2_valid = 1;
|
||||
if (config->num_shadow_reg_v2_cfg >
|
||||
QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01)
|
||||
req->shadow_reg_v2_len = QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01;
|
||||
else
|
||||
req->shadow_reg_v2_len = config->num_shadow_reg_v2_cfg;
|
||||
if (plat_priv->device_id != KIWI_DEVICE_ID) {
|
||||
req->shadow_reg_v2_valid = 1;
|
||||
if (config->num_shadow_reg_v2_cfg >
|
||||
QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01)
|
||||
req->shadow_reg_v2_len = QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01;
|
||||
else
|
||||
req->shadow_reg_v2_len = config->num_shadow_reg_v2_cfg;
|
||||
|
||||
memcpy(req->shadow_reg_v2, config->shadow_reg_v2_cfg,
|
||||
sizeof(struct wlfw_shadow_reg_v2_cfg_s_v01)
|
||||
* req->shadow_reg_v2_len);
|
||||
memcpy(req->shadow_reg_v2, config->shadow_reg_v2_cfg,
|
||||
sizeof(struct wlfw_shadow_reg_v2_cfg_s_v01)
|
||||
* req->shadow_reg_v2_len);
|
||||
} else {
|
||||
cnss_pr_dbg("Shadow reg v3 len: %d\n",
|
||||
config->num_shadow_reg_v3_cfg);
|
||||
req->shadow_reg_v3_valid = 1;
|
||||
if (config->num_shadow_reg_v3_cfg >
|
||||
MAX_NUM_SHADOW_REG_V3)
|
||||
req->shadow_reg_v3_len = MAX_NUM_SHADOW_REG_V3;
|
||||
else
|
||||
req->shadow_reg_v3_len = config->num_shadow_reg_v3_cfg;
|
||||
|
||||
memcpy(req->shadow_reg_v3, config->shadow_reg_v3_cfg,
|
||||
sizeof(struct wlfw_shadow_reg_v3_cfg_s_v01)
|
||||
* req->shadow_reg_v3_len);
|
||||
}
|
||||
|
||||
ret = qmi_txn_init(&plat_priv->qmi_wlfw, &txn,
|
||||
wlfw_wlan_cfg_resp_msg_v01_ei, resp);
|
||||
|
11
inc/cnss2.h
11
inc/cnss2.h
@@ -1,5 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */
|
||||
/*
|
||||
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _NET_CNSS2_H
|
||||
#define _NET_CNSS2_H
|
||||
@@ -160,6 +163,10 @@ struct cnss_rri_over_ddr_cfg {
|
||||
u32 base_addr_high;
|
||||
};
|
||||
|
||||
struct cnss_shadow_reg_v3_cfg {
|
||||
u32 addr;
|
||||
};
|
||||
|
||||
struct cnss_wlan_enable_cfg {
|
||||
u32 num_ce_tgt_cfg;
|
||||
struct cnss_ce_tgt_pipe_cfg *ce_tgt_cfg;
|
||||
@@ -171,6 +178,8 @@ struct cnss_wlan_enable_cfg {
|
||||
struct cnss_shadow_reg_v2_cfg *shadow_reg_v2_cfg;
|
||||
bool rri_over_ddr_cfg_valid;
|
||||
struct cnss_rri_over_ddr_cfg rri_over_ddr_cfg;
|
||||
u32 num_shadow_reg_v3_cfg;
|
||||
struct cnss_shadow_reg_v3_cfg *shadow_reg_v3_cfg;
|
||||
};
|
||||
|
||||
enum cnss_driver_mode {
|
||||
|
مرجع در شماره جدید
Block a user