ath10k: poll HTT send completion when CE 5 is unused
commita70587b338
("ath10k: configure copy engine 5 for HTT messages") moved send completion polling under HTT Rx (CE 5) service routine. For QCA6174 based devices copy engine 1 (CE 1) is used for HTT Rx instead of CE 5. So send completion never be called. This is causing "failed to transmit packet, dropping: -105" errors. Fix this by processing send completion from CE 1 service routine instead of CE 5. Fixes:a70587b338
("ath10k: configure copy engine 5 for HTT messages") Tested-by: Ryan Hsu <ryanhsu@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
23ba8a6623
commit
6419fdbb6f
@ -107,6 +107,7 @@ static void ath10k_pci_htc_tx_cb(struct ath10k_ce_pipe *ce_state);
|
||||
static void ath10k_pci_htc_rx_cb(struct ath10k_ce_pipe *ce_state);
|
||||
static void ath10k_pci_htt_tx_cb(struct ath10k_ce_pipe *ce_state);
|
||||
static void ath10k_pci_htt_rx_cb(struct ath10k_ce_pipe *ce_state);
|
||||
static void ath10k_pci_htt_htc_rx_cb(struct ath10k_ce_pipe *ce_state);
|
||||
|
||||
static struct ce_attr host_ce_config_wlan[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
@ -124,7 +125,7 @@ static struct ce_attr host_ce_config_wlan[] = {
|
||||
.src_nentries = 0,
|
||||
.src_sz_max = 2048,
|
||||
.dest_nentries = 512,
|
||||
.recv_cb = ath10k_pci_htc_rx_cb,
|
||||
.recv_cb = ath10k_pci_htt_htc_rx_cb,
|
||||
},
|
||||
|
||||
/* CE2: target->host WMI */
|
||||
@ -1204,6 +1205,16 @@ static void ath10k_pci_htc_rx_cb(struct ath10k_ce_pipe *ce_state)
|
||||
ath10k_pci_process_rx_cb(ce_state, ath10k_htc_rx_completion_handler);
|
||||
}
|
||||
|
||||
static void ath10k_pci_htt_htc_rx_cb(struct ath10k_ce_pipe *ce_state)
|
||||
{
|
||||
/* CE4 polling needs to be done whenever CE pipe which transports
|
||||
* HTT Rx (target->host) is processed.
|
||||
*/
|
||||
ath10k_ce_per_engine_service(ce_state->ar, 4);
|
||||
|
||||
ath10k_pci_process_rx_cb(ce_state, ath10k_htc_rx_completion_handler);
|
||||
}
|
||||
|
||||
/* Called by lower (CE) layer when a send to HTT Target completes. */
|
||||
static void ath10k_pci_htt_tx_cb(struct ath10k_ce_pipe *ce_state)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user