[PATCHv3] wifi: ath11k: skip status ring entry processing

Meiyong Yu meiyong.yu at 126.com
Sun Apr 28 05:54:42 PDT 2024



> On Apr 28, 2024, at 6:46 AM, Jeff Johnson <quic_jjohnson at quicinc.com> wrote:
> 
> On 4/27/2024 2:12 AM, Tamizh Chelvam Raja wrote:
>> From: Venkateswara Naralasetty <quic_vnaralas at quicinc.com>
>> 
>> If STATUS_BUFFER_DONE is not set for a monitor status ring entry,
>> we don't process the status ring until STATUS_BUFFER_DONE set
>> for that status ring entry.
>> 
>> During LMAC reset it may happen that hardware will not write
>> STATUS_BUFFER_DONE tlv in status buffer, in that case we end up
>> waiting for STATUS_BUFFER_DONE leading to backpressure on monitor
>> status ring.
>> 

Can you known the LMAC reset event, if you can known, you can set all the ring entry
status  to done after reset is done, and the logic of code will be more clear.

>> To fix the issue, when HP(Head Pointer) + 1 entry is peeked and if DMA
>> is not done and if HP + 2 entry's DMA done is set,
>> replenish HP + 1 entry and start processing in next interrupt.
>> If HP + 2 entry's DMA done is not set, poll onto HP + 1 entry DMA
>> done to be set.
>> 
>> Also, during monitor attach HP points to the end of the ring and
>> TP(Tail Pointer) points to the start of the ring.
>> Using ath11k_hal_srng_src_peek() may result in processing invalid buffer
>> for the very first interrupt. Since, HW starts writing buffer from TP.
>> 
>> To avoid this issue call ath11k_hal_srng_src_next_peek() instead of
>> calling ath11k_hal_srng_src_peek().
>> 
>> Tested-on: IPQ5018 hw1.0 AHB WLAN.HK.2.6.0.1-00861-QCAHKSWPL_SILICONZ-1
>> 
>> Reported-by: kernel test robot <lkp at intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202303281719.CvnPkOiK-lkp@intel.com/
> 
> I believe these are misleading. LKP didn't find the problem you are fixing, it
> found a problem in the implementation of the patch.
> So I would move these below the "---" so the LKP knows the issue it found is
> fixed, but the git history isn't itself isn't misleading
> 
>> Signed-off-by: Venkateswara Naralasetty <quic_vnaralas at quicinc.com>
>> Co-developed-by: Tamizh Chelvam Raja <quic_tamizhr at quicinc.com>
>> Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr at quicinc.com>
>> ---
>> v3:
>>  * Rebased on top of ToT
>> v2:
>>  * Fixed compilation warning Reported-by: kernel test robot <lkp at intel.com>
>> 
>> drivers/net/wireless/ath/ath11k/dp_rx.c | 88 ++++++++++++++++++++++---
>> drivers/net/wireless/ath/ath11k/hal.c   | 14 ++++
>> drivers/net/wireless/ath/ath11k/hal.h   |  2 +
> 
> My Qualcomm Innovation Center copyright checker reports:
> drivers/net/wireless/ath/ath11k/dp_rx.c copyright missing 2024
> drivers/net/wireless/ath/ath11k/hal.c copyright missing 2024
> 




More information about the ath11k mailing list