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