P Praneesh <quic_ppranees@xxxxxxxxxxx> wrote: > Firmware credit flow control is enabled for WMI control services, > which expects available tokens should be acquired before sending a > command to the target. Also the token gets released when firmware > receives the command. > > This credit-based flow limits driver to send WMI command only > when the token available which is causing WMI commands to timeout and > return -EAGAIN, whereas firmware has enough capability to process the > WMI command. To fix this Tx starvation issue, introduce the ability to > disable the credit flow for the WMI path. > > The driver sends WMI configuration for disabling credit flow to firmware > by two ways. > 1. By using a global flag > (HTC_MSG_SETUP_COMPLETE_EX_ID msg type flags) > 2. By using a local flag > (ATH11K_HTC_CONN_FLAGS_DISABLE_CREDIT_FLOW_CTRL = 1 << 3) > > Ath11k uses both these configurations to disable credit flow for the > WMI path completely. > > Also added a hw_param member for credit flow control by which we can > enable or disable it based on per-target basis. Currently we are disabling > credit flow for IPQ8074, IPQ6018, and QCN9074 as recommended by firmware. > > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01492-QCAHKSWPL_SILICONZ-1 > Tested-on: IPQ6018 hw1.0 AHB WLAN.HK.2.4.0.1-00330-QCAHKSWPL_SILICONZ-1 > > Co-developed-by: Pravas Kumar Panda <kumarpan@xxxxxxxxxxxxxx> > Signed-off-by: Pravas Kumar Panda <kumarpan@xxxxxxxxxxxxxx> > Signed-off-by: P Praneesh <quic_ppranees@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. f951380a6022 ath11k: Disabling credit flow for WMI path -- https://patchwork.kernel.org/project/linux-wireless/patch/1635156494-20059-1-git-send-email-quic_ppranees@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches