|
@@ -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,
|
|
|
u16 service_id)
|
|
|
{
|
|
|
u8 allocation = 0;
|
|
|
- int i;
|
|
|
|
|
|
- for (i = 0; i < ATH10K_HTC_EP_COUNT; i++) {
|
|
|
- if (htc->service_tx_alloc[i].service_id == service_id)
|
|
|
- allocation =
|
|
|
- htc->service_tx_alloc[i].credit_allocation;
|
|
|
- }
|
|
|
+ /* The WMI control service is the only service with flow control.
|
|
|
+ * Let it have all transmit credits.
|
|
|
+ */
|
|
|
+ if (service_id == ATH10K_HTC_SVC_ID_WMI_CONTROL)
|
|
|
+ allocation = htc->total_transmit_credits;
|
|
|
|
|
|
return allocation;
|
|
|
}
|
|
@@ -574,8 +557,6 @@ int ath10k_htc_wait_target(struct ath10k_htc *htc)
|
|
|
return -ECOMM;
|
|
|
}
|
|
|
|
|
|
- ath10k_htc_setup_target_buffer_assignments(htc);
|
|
|
-
|
|
|
/* setup our pseudo HTC control endpoint connection */
|
|
|
memset(&conn_req, 0, sizeof(conn_req));
|
|
|
memset(&conn_resp, 0, sizeof(conn_resp));
|