[PATCH v3] ath11k: Fix RX de-fragmentation issue on WCN6750

Manikanta Pubbisetty quic_mpubbise at quicinc.com
Tue May 3 23:42:30 PDT 2022


On 5/2/2022 7:55 PM, Kalle Valo wrote:
> Manikanta Pubbisetty <quic_mpubbise at quicinc.com> writes:
> 
>> The offset of REO register where the RX fragment destination ring
>> is configured is different in WCN6750 as compared to WCN6855.
>> Due to this differnce in offsets, on WCN6750, fragment destination
>> ring will be configured incorrectly, leading to RX fragments not
>> getting delivered to the driver. Fix this by defining HW specific
>> offset for the REO MISC CTL register.
>>
>> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1
>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>> Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1
>> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Manikanta Pubbisetty <quic_mpubbise at quicinc.com>
> 
> [...]
> 
>> @@ -2229,6 +2229,9 @@ const struct ath11k_hw_regs wcn6855_regs = {
>>   
>>   	/* Shadow register area */
>>   	.hal_shadow_base_addr = 0x000008fc,
>> +
>> +	/* REO MISC CTRL */
>> +	.hal_reo1_misc_ctl = 0x00000630,
>>   };
> 
> I don't really see the benefit from the comment, it doesn't bring any
> extra information.
> 

You are right, let me check if I can add any info or I'll remove the 
comment.

>>   const struct ath11k_hw_regs wcn6750_regs = {
>> @@ -2311,6 +2314,9 @@ const struct ath11k_hw_regs wcn6750_regs = {
>>   
>>   	/* Shadow register area */
>>   	.hal_shadow_base_addr = 0x00000504,
>> +
>> +	/* REO MISC CTRL */
>> +	.hal_reo1_misc_ctl = 0x000005d8,
> 
> Ditto.
> 
> What about other ath11k_hw_regs tables:
> 
> <global>[1906]                 const struct ath11k_hw_regs ipq8074_regs = {
> <global>[1988]                 const struct ath11k_hw_regs qca6390_regs = {
> <global>[2070]                 const struct ath11k_hw_regs qcn9074_regs = {
> 
> You don't mention anything about those in the commit log. If they don't
> use this register (didn't check) we should at least initialise the
> fields to zero, deadbeef or something to make it clear they are unused.
> 

Let me make the changes to initialize the register to 0(zero) for other 
unsupported hardware.

Thanks,
Manikanta



More information about the ath11k mailing list