John Crispin <john@xxxxxxxxxxx> writes: > Whenever the MAC detects a color collision or any of its associated station > detects one the FW will send out an event. Add the code to parse and handle > this event. and pass the data up to mac80211. > > The FW does not provide an offload feature such as the one used for CSA. The > color change process is hence triggered via the beacon offload tx completion events > sent out by the FW. > > Signed-off-by: John Crispin <john@xxxxxxxxxxx> Tested-on tag missing. I wonder if QCA6390 supports this and are there any regressions, do you know? > @@ -2076,6 +2092,24 @@ static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw, > if (ret) > ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n", > arvif->vdev_id, ret); > + > + param_id = WMI_VDEV_PARAM_BSS_COLOR; > + if (info->he_bss_color.enabled) > + param_value = info->he_bss_color.color << > + IEEE80211_HE_OPERATION_BSS_COLOR_OFFSET; > + else > + param_value = IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED; > + > + ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, > + param_id, > + param_value); > + if (ret) > + ath11k_warn(ar->ab, > + "failed to set bss color param on vdev %i: %d\n", > + arvif->vdev_id, ret); > + > + ath11k_info(ar->ab, "bss color param 0x%x set on vdev %i\n", > + param_value, arvif->vdev_id); Shouldn't this be a debug message? > @@ -6083,6 +6117,7 @@ static int __ath11k_mac_register(struct ath11k *ar) > > wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); > wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_STA_TX_PWR); > + wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_BSS_COLOR); So my QCA6390 question above is should we enable this for all hardware or just for IPQ8074? If the latter, we should add a boolean to hw_params. Or does the firmware advertise if it supports this feature? -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches