Commit d48b62ce authored by Erik Stromdahl's avatar Erik Stromdahl Committed by Kalle Valo

ath10k: htc: simplified credit distribution

Simplified transmit credit distribution code somewhat.
Since the WMI control service will get assigned all credits
there is no need for having a credit_allocation array in
struct ath10k_htc.
Signed-off-by: default avatarErik Stromdahl <erik.stromdahl@gmail.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 7bc7441e
...@@ -474,33 +474,16 @@ static void ath10k_htc_reset_endpoint_states(struct ath10k_htc *htc) ...@@ -474,33 +474,16 @@ static void ath10k_htc_reset_endpoint_states(struct ath10k_htc *htc)
} }
} }
static void ath10k_htc_setup_target_buffer_assignments(struct ath10k_htc *htc)
{
struct ath10k_htc_svc_tx_credits *entry;
entry = &htc->service_tx_alloc[0];
/*
* for PCIE allocate all credists/HTC buffers to WMI.
* no buffers are used/required for data. data always
* remains on host.
*/
entry++;
entry->service_id = ATH10K_HTC_SVC_ID_WMI_CONTROL;
entry->credit_allocation = htc->total_transmit_credits;
}
static u8 ath10k_htc_get_credit_allocation(struct ath10k_htc *htc, static u8 ath10k_htc_get_credit_allocation(struct ath10k_htc *htc,
u16 service_id) u16 service_id)
{ {
u8 allocation = 0; u8 allocation = 0;
int i;
for (i = 0; i < ATH10K_HTC_EP_COUNT; i++) { /* The WMI control service is the only service with flow control.
if (htc->service_tx_alloc[i].service_id == service_id) * Let it have all transmit credits.
allocation = */
htc->service_tx_alloc[i].credit_allocation; if (service_id == ATH10K_HTC_SVC_ID_WMI_CONTROL)
} allocation = htc->total_transmit_credits;
return allocation; return allocation;
} }
...@@ -574,8 +557,6 @@ int ath10k_htc_wait_target(struct ath10k_htc *htc) ...@@ -574,8 +557,6 @@ int ath10k_htc_wait_target(struct ath10k_htc *htc)
return -ECOMM; return -ECOMM;
} }
ath10k_htc_setup_target_buffer_assignments(htc);
/* setup our pseudo HTC control endpoint connection */ /* setup our pseudo HTC control endpoint connection */
memset(&conn_req, 0, sizeof(conn_req)); memset(&conn_req, 0, sizeof(conn_req));
memset(&conn_resp, 0, sizeof(conn_resp)); memset(&conn_resp, 0, sizeof(conn_resp));
......
...@@ -337,7 +337,6 @@ struct ath10k_htc { ...@@ -337,7 +337,6 @@ struct ath10k_htc {
struct completion ctl_resp; struct completion ctl_resp;
int total_transmit_credits; int total_transmit_credits;
struct ath10k_htc_svc_tx_credits service_tx_alloc[ATH10K_HTC_EP_COUNT];
int target_credit_size; int target_credit_size;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment