[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