Search Linux Wireless

Re: [PATCH v9 6/9] wifi: ath12k: add support for setting fixed HE rate/GI/LTF

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 1/24/2025 12:26 AM, Maxime Bizon wrote:

On Thu, 2025-01-23 at 17:09 -0800, Pradeep Kumar Chitrapu wrote:

Hello,

I believe, this is default GI based on device capability of HE for
ath11k or EHT for ath12k.

Your patch alters the behaviour of this code in
ath12k_peer_assoc_h_ht():

         /* As firmware handles these two flags (IEEE80211_HT_CAP_SGI_20
          * and IEEE80211_HT_CAP_SGI_40) for enabling SGI, reset both
          * flags if guard interval is Default GI
          */
	if (arvif->bitrate_mask.control[band].gi == NL80211_TXRATE_DEFAULT_GI)
	        arg->peer_ht_caps &= ~(IEEE80211_HT_CAP_SGI_20 |
				IEEE80211_HT_CAP_SGI_40);

	if (arvif->bitrate_mask.control[band].gi != NL80211_TXRATE_FORCE_LGI) {
		if (ht_cap->cap & (IEEE80211_HT_CAP_SGI_20 |
	            IEEE80211_HT_CAP_SGI_40))
                         arg->peer_rate_caps |= WMI_HOST_RC_SGI_FLAG;
	}


I don't understand why a patch adding a feature to force GI would alter
the current behaviour without any actual forcing ?

Hi Maxime,

Apologize for my earlier comment. Firmware relies on peer_rate_caps and bandwidth settings when configuring GI. Currently default is configured as FORCE_SGI. When there is fixed rate settings configured from user space to override defaults to replace SHORT GI with DEFAULT_GI, the code snippet you mentioned ensures honoring this by removing HT_CAP_SGI_20 and HT_CAP_SGI_40. The behavior has been same for ath11k driver as well.

I will get back with more detailed information as soon as possible.

Thanks for understanding,

Best regards,
Pradeep




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux