Message ID | 20230404070158.3368530-1-quic_cjhuang@quicinc.com |
---|---|
State | New |
Headers | show |
Series | wifi: ath12k: send WMI_PEER_REORDER_QUEUE_SETUP_CMDID when ADDBA session starts | expand |
Carl Huang <quic_cjhuang@quicinc.com> writes: > Low receive throughput is seen on WCN7850 because ADDBA related > parameters are not updated to firmware when receive ADDBA session starts. > > Fix it by sending WMI_PEER_REORDER_QUEUE_SETUP_CMDID again to firmware > to update the ADDBA related parameters for chips which have false > reoq_lut_support in hw_params. For chips which have true reoq_lut_support > in hw_params don't need this command to send to firmware. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> > --- > drivers/net/wireless/ath/ath12k/dp_rx.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c > index e78478a5b978..256e4cbfae54 100644 > --- a/drivers/net/wireless/ath/ath12k/dp_rx.c > +++ b/drivers/net/wireless/ath/ath12k/dp_rx.c > @@ -977,6 +977,9 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_ > ath12k_warn(ab, "failed to update reo for rx tid %d\n", tid); > return ret; > } > + if (!ab->hw_params->reoq_lut_support) > + ret = ath12k_wmi_peer_rx_reorder_queue_setup(ar, vdev_id, peer_mac, > + paddr, tid, 1, ba_win_sz); > > return ret; > } This added new warnings: drivers/net/wireless/ath/ath12k/dp_rx.c:981: line length of 91 exceeds 90 columns drivers/net/wireless/ath/ath12k/dp_rx.c:982: line length of 95 exceeds 90 columns I fixed them in the pending branch. There was also no warning message if ath12k_wmi_peer_rx_reorder_queue_setup() fails, I added that as well: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=750111a1341bba3b4f679ff97891fb1943f3643c
Carl Huang <quic_cjhuang@quicinc.com> wrote: > Low receive throughput is seen on WCN7850 because ADDBA related > parameters are not updated to firmware when receive ADDBA session starts. > > Fix it by sending WMI_PEER_REORDER_QUEUE_SETUP_CMDID again to firmware > to update the ADDBA related parameters for chips which have false > reoq_lut_support in hw_params. For chips which have true reoq_lut_support > in hw_params don't need this command to send to firmware. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Patch applied to ath-next branch of ath.git, thanks. e671fb86ecc0 wifi: ath12k: send WMI_PEER_REORDER_QUEUE_SETUP_CMDID when ADDBA session starts
diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c index e78478a5b978..256e4cbfae54 100644 --- a/drivers/net/wireless/ath/ath12k/dp_rx.c +++ b/drivers/net/wireless/ath/ath12k/dp_rx.c @@ -977,6 +977,9 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_ ath12k_warn(ab, "failed to update reo for rx tid %d\n", tid); return ret; } + if (!ab->hw_params->reoq_lut_support) + ret = ath12k_wmi_peer_rx_reorder_queue_setup(ar, vdev_id, peer_mac, + paddr, tid, 1, ba_win_sz); return ret; }
Low receive throughput is seen on WCN7850 because ADDBA related parameters are not updated to firmware when receive ADDBA session starts. Fix it by sending WMI_PEER_REORDER_QUEUE_SETUP_CMDID again to firmware to update the ADDBA related parameters for chips which have false reoq_lut_support in hw_params. For chips which have true reoq_lut_support in hw_params don't need this command to send to firmware. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> --- drivers/net/wireless/ath/ath12k/dp_rx.c | 3 +++ 1 file changed, 3 insertions(+) base-commit: bea046575a2e6d7d1cf63cc7ab032647a3585de5