ath11k: qmi clean up in ath11k_qmi_wlanfw_wlan_cfg_send()

Use pipe_id id instead of ret in for loop.

Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Anilkumar Kolli 2019-11-27 14:08:50 +00:00 committed by Kalle Valo
parent d6af906d83
commit 0c408515cd
2 changed files with 20 additions and 17 deletions

View file

@ -57,7 +57,12 @@ void ath11k_ce_byte_swap(void *mem, u32 len);
struct ath11k_base;
/* Establish a mapping between a service/direction and a pipe. */
/*
* Establish a mapping between a service/direction and a pipe.
* Configuration information for a Copy Engine pipe and services.
* Passed from Host to Target through QMI message and must be in
* little endian format.
*/
struct service_to_pipe {
__le32 service_id;
__le32 pipedir;
@ -66,7 +71,7 @@ struct service_to_pipe {
/*
* Configuration information for a Copy Engine pipe.
* Passed from Host to Target during startup (one per CE).
* Passed from Host to Target through QMI message during startup (one per CE).
*
* NOTE: Structure is shared between Host software and Target firmware!
*/

View file

@ -2016,7 +2016,7 @@ static int ath11k_qmi_wlanfw_wlan_cfg_send(struct ath11k_base *ab)
struct ce_pipe_config *ce_cfg;
struct service_to_pipe *svc_cfg;
struct qmi_txn txn = {};
int ret = 0;
int ret = 0, pipe_num;
ce_cfg = (struct ce_pipe_config *)ab->qmi.ce_cfg.tgt_ce;
svc_cfg = (struct service_to_pipe *)ab->qmi.ce_cfg.svc_to_ce_map;
@ -2033,24 +2033,22 @@ static int ath11k_qmi_wlanfw_wlan_cfg_send(struct ath11k_base *ab)
req->tgt_cfg_valid = 1;
/* This is number of CE configs */
req->tgt_cfg_len = ((ab->qmi.ce_cfg.tgt_ce_len) /
(sizeof(struct ce_pipe_config))) - 1;
for (ret = 0; ret <= req->tgt_cfg_len ; ret++) {
req->tgt_cfg[ret].pipe_num = ce_cfg[ret].pipenum;
req->tgt_cfg[ret].pipe_dir = ce_cfg[ret].pipedir;
req->tgt_cfg[ret].nentries = ce_cfg[ret].nentries;
req->tgt_cfg[ret].nbytes_max = ce_cfg[ret].nbytes_max;
req->tgt_cfg[ret].flags = ce_cfg[ret].flags;
req->tgt_cfg_len = ab->qmi.ce_cfg.tgt_ce_len;
for (pipe_num = 0; pipe_num <= req->tgt_cfg_len ; pipe_num++) {
req->tgt_cfg[pipe_num].pipe_num = ce_cfg[pipe_num].pipenum;
req->tgt_cfg[pipe_num].pipe_dir = ce_cfg[pipe_num].pipedir;
req->tgt_cfg[pipe_num].nentries = ce_cfg[pipe_num].nentries;
req->tgt_cfg[pipe_num].nbytes_max = ce_cfg[pipe_num].nbytes_max;
req->tgt_cfg[pipe_num].flags = ce_cfg[pipe_num].flags;
}
req->svc_cfg_valid = 1;
/* This is number of Service/CE configs */
req->svc_cfg_len = (ab->qmi.ce_cfg.svc_to_ce_map_len) /
(sizeof(struct service_to_pipe));
for (ret = 0; ret < req->svc_cfg_len; ret++) {
req->svc_cfg[ret].service_id = svc_cfg[ret].service_id;
req->svc_cfg[ret].pipe_dir = svc_cfg[ret].pipedir;
req->svc_cfg[ret].pipe_num = svc_cfg[ret].pipenum;
req->svc_cfg_len = ab->qmi.ce_cfg.svc_to_ce_map_len;
for (pipe_num = 0; pipe_num < req->svc_cfg_len; pipe_num++) {
req->svc_cfg[pipe_num].service_id = svc_cfg[pipe_num].service_id;
req->svc_cfg[pipe_num].pipe_dir = svc_cfg[pipe_num].pipedir;
req->svc_cfg[pipe_num].pipe_num = svc_cfg[pipe_num].pipenum;
}
req->shadow_reg_valid = 0;
req->shadow_reg_v2_valid = 0;