Message ID | 20230919071724.15505-4-quic_aisr@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | wifi: ath12k: add support for 6 GHz AP for various power modes | expand |
On 9/19/2023 12:17 AM, Aishwarya R wrote: > When 6 GHz AP or STA is assigned a channel ctx, it needs to here again, what is "it"? and why does "it" need the power type? > extract the power type from HE operation element. > If unset power type is present, by default IEEE80211_REG_LPI_AP > power mode will be used. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Aishwarya R <quic_aisr@quicinc.com> > --- > drivers/net/wireless/ath/ath12k/mac.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c > index 5b9af264d305..01f81b087fa2 100644 > --- a/drivers/net/wireless/ath/ath12k/mac.c > +++ b/drivers/net/wireless/ath/ath12k/mac.c > @@ -5823,6 +5823,7 @@ ath12k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, > struct ath12k_vif *arvif = (void *)vif->drv_priv; > int ret; > struct ath12k_wmi_peer_create_arg param; > + enum ieee80211_ap_reg_power power_type; > > mutex_lock(&ar->conf_mutex); > > @@ -5830,6 +5831,16 @@ ath12k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, > "mac chanctx assign ptr %pK vdev_id %i\n", > ctx, arvif->vdev_id); > > + if (ar->supports_6ghz && ctx->def.chan->band == NL80211_BAND_6GHZ && > + (arvif->vdev_type == WMI_VDEV_TYPE_STA || > + arvif->vdev_type == WMI_VDEV_TYPE_AP)) { > + power_type = vif->bss_conf.power_type; > + ath12k_dbg(ab, ATH12K_DBG_MAC, "mac chanctx power type %d\n", > + power_type); > + if (power_type == IEEE80211_REG_UNSET_AP) > + power_type = IEEE80211_REG_LPI_AP; > + } > + > /* for some targets bss peer must be created before vdev_start */ > if (ab->hw_params->vdev_start_delay && > arvif->vdev_type != WMI_VDEV_TYPE_AP &&
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c index 5b9af264d305..01f81b087fa2 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -5823,6 +5823,7 @@ ath12k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ath12k_vif *arvif = (void *)vif->drv_priv; int ret; struct ath12k_wmi_peer_create_arg param; + enum ieee80211_ap_reg_power power_type; mutex_lock(&ar->conf_mutex); @@ -5830,6 +5831,16 @@ ath12k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, "mac chanctx assign ptr %pK vdev_id %i\n", ctx, arvif->vdev_id); + if (ar->supports_6ghz && ctx->def.chan->band == NL80211_BAND_6GHZ && + (arvif->vdev_type == WMI_VDEV_TYPE_STA || + arvif->vdev_type == WMI_VDEV_TYPE_AP)) { + power_type = vif->bss_conf.power_type; + ath12k_dbg(ab, ATH12K_DBG_MAC, "mac chanctx power type %d\n", + power_type); + if (power_type == IEEE80211_REG_UNSET_AP) + power_type = IEEE80211_REG_LPI_AP; + } + /* for some targets bss peer must be created before vdev_start */ if (ab->hw_params->vdev_start_delay && arvif->vdev_type != WMI_VDEV_TYPE_AP &&
When 6 GHz AP or STA is assigned a channel ctx, it needs to extract the power type from HE operation element. If unset power type is present, by default IEEE80211_REG_LPI_AP power mode will be used. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Signed-off-by: Aishwarya R <quic_aisr@quicinc.com> --- drivers/net/wireless/ath/ath12k/mac.c | 11 +++++++++++ 1 file changed, 11 insertions(+)