ath10k: implement rx reorder support
New firmware and firmware (qca6174 hw3.0+ and fw 266+) are capable of full aggregation rx reordering. If it's enabled then Rx is handled via a new, separate htt event. The rx ring behaviour is changed a little to support the new rx scheme. These changes shouldn't affect qca988x performance. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
8582bf3be7
commit
c545070e40
@@ -1052,8 +1052,15 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar)
|
||||
|
||||
cfg->num_vdevs = __cpu_to_le32(TARGET_TLV_NUM_VDEVS);
|
||||
cfg->num_peers = __cpu_to_le32(TARGET_TLV_NUM_PEERS);
|
||||
cfg->num_offload_peers = __cpu_to_le32(0);
|
||||
cfg->num_offload_reorder_bufs = __cpu_to_le32(0);
|
||||
|
||||
if (test_bit(WMI_SERVICE_RX_FULL_REORDER, ar->wmi.svc_map)) {
|
||||
cfg->num_offload_peers = __cpu_to_le32(3);
|
||||
cfg->num_offload_reorder_bufs = __cpu_to_le32(3);
|
||||
} else {
|
||||
cfg->num_offload_peers = __cpu_to_le32(0);
|
||||
cfg->num_offload_reorder_bufs = __cpu_to_le32(0);
|
||||
}
|
||||
|
||||
cfg->num_peer_keys = __cpu_to_le32(2);
|
||||
cfg->num_tids = __cpu_to_le32(TARGET_TLV_NUM_TIDS);
|
||||
cfg->ast_skid_limit = __cpu_to_le32(0x10);
|
||||
|
Reference in New Issue
Block a user