[PATCH 1/2] wifi: mt76: move struct ieee80211_chanctx_conf up to struct mt76_vif
David Ruth
druth at chromium.org
Wed Jul 26 20:40:41 PDT 2023
Reviewed-by: David Ruth <druth at chromium.org>
Tested-by: David Ruth <druth at chromium.org>
On Mon, Jul 24, 2023 at 5:20 PM <sean.wang at mediatek.com> wrote:
>
> From: Sean Wang <sean.wang at mediatek.com>
>
> Move struct ieee80211_chanctx_conf up to struct mt76_vif to allow the
> connac2 library can access the struct ieee80211_chanctx_conf * member in
> struct mt76_vif.
>
> Signed-off-by: Sean Wang <sean.wang at mediatek.com>
> ---
> drivers/net/wireless/mediatek/mt76/mt76.h | 1 +
> drivers/net/wireless/mediatek/mt76/mt7921/main.c | 16 ++++++++--------
> .../net/wireless/mediatek/mt76/mt7921/mt7921.h | 1 -
> 3 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h
> index 878087257ea7..bf9c781ff48c 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt76.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt76.h
> @@ -708,6 +708,7 @@ struct mt76_vif {
> u8 basic_rates_idx;
> u8 mcast_rates_idx;
> u8 beacon_rates_idx;
> + struct ieee80211_chanctx_conf *ctx;
> };
>
> struct mt76_phy {
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/main.c b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
> index 87067ac367eb..8987173a83f2 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/main.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
> @@ -804,7 +804,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
>
> if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
> mt76_connac_mcu_uni_add_bss(&dev->mphy, vif, &mvif->sta.wcid,
> - true, mvif->ctx);
> + true, mvif->mt76.ctx);
>
> ewma_avg_signal_init(&msta->avg_ack_signal);
>
> @@ -839,7 +839,7 @@ void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
> if (!sta->tdls)
> mt76_connac_mcu_uni_add_bss(&dev->mphy, vif,
> &mvif->sta.wcid, false,
> - mvif->ctx);
> + mvif->mt76.ctx);
> }
>
> spin_lock_bh(&dev->mt76.sta_poll_lock);
> @@ -1638,7 +1638,7 @@ mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
> mt7921_mutex_acquire(dev);
>
> err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid,
> - true, mvif->ctx);
> + true, mvif->mt76.ctx);
> if (err)
> goto out;
>
> @@ -1670,7 +1670,7 @@ mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
> goto out;
>
> mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, false,
> - mvif->ctx);
> + mvif->mt76.ctx);
>
> out:
> mt7921_mutex_release(dev);
> @@ -1695,7 +1695,7 @@ static void mt7921_ctx_iter(void *priv, u8 *mac,
> struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv;
> struct ieee80211_chanctx_conf *ctx = priv;
>
> - if (ctx != mvif->ctx)
> + if (ctx != mvif->mt76.ctx)
> return;
>
> if (vif->type == NL80211_IFTYPE_MONITOR)
> @@ -1728,7 +1728,7 @@ mt7921_assign_vif_chanctx(struct ieee80211_hw *hw,
> struct mt7921_dev *dev = mt7921_hw_dev(hw);
>
> mutex_lock(&dev->mt76.mutex);
> - mvif->ctx = ctx;
> + mvif->mt76.ctx = ctx;
> mutex_unlock(&dev->mt76.mutex);
>
> return 0;
> @@ -1744,7 +1744,7 @@ mt7921_unassign_vif_chanctx(struct ieee80211_hw *hw,
> struct mt7921_dev *dev = mt7921_hw_dev(hw);
>
> mutex_lock(&dev->mt76.mutex);
> - mvif->ctx = NULL;
> + mvif->mt76.ctx = NULL;
> mutex_unlock(&dev->mt76.mutex);
> }
>
> @@ -1758,7 +1758,7 @@ static void mt7921_mgd_prepare_tx(struct ieee80211_hw *hw,
> jiffies_to_msecs(HZ);
>
> mt7921_mutex_acquire(dev);
> - mt7921_set_roc(mvif->phy, mvif, mvif->ctx->def.chan, duration,
> + mt7921_set_roc(mvif->phy, mvif, mvif->mt76.ctx->def.chan, duration,
> MT7921_ROC_REQ_JOIN);
> mt7921_mutex_release(dev);
> }
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> index ec9879650174..04a9ce50cff2 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> @@ -173,7 +173,6 @@ struct mt7921_vif {
> struct ewma_rssi rssi;
>
> struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
> - struct ieee80211_chanctx_conf *ctx;
> };
>
> enum {
> --
> 2.25.1
>
More information about the Linux-mediatek
mailing list