Commit b7bfad2c authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

wifi: mt76: mt7921: rename mt7921_sta in mt792x_sta

This is a preliminary patch to introduce WiFi7 chipset support
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarDeren Wu <deren.wu@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 15ca8970
...@@ -140,7 +140,7 @@ mt7921_init_wiphy(struct ieee80211_hw *hw) ...@@ -140,7 +140,7 @@ mt7921_init_wiphy(struct ieee80211_hw *hw)
phy->slottime = 9; phy->slottime = 9;
hw->sta_data_size = sizeof(struct mt7921_sta); hw->sta_data_size = sizeof(struct mt792x_sta);
hw->vif_data_size = sizeof(struct mt792x_vif); hw->vif_data_size = sizeof(struct mt792x_vif);
if (dev->fw_features & MT7921_FW_CAP_CNM) { if (dev->fw_features & MT7921_FW_CAP_CNM) {
......
...@@ -23,7 +23,7 @@ static u32 mt7921_mac_wtbl_lmac_addr(int idx, u8 offset) ...@@ -23,7 +23,7 @@ static u32 mt7921_mac_wtbl_lmac_addr(int idx, u8 offset)
static struct mt76_wcid *mt7921_rx_get_wcid(struct mt7921_dev *dev, static struct mt76_wcid *mt7921_rx_get_wcid(struct mt7921_dev *dev,
u16 idx, bool unicast) u16 idx, bool unicast)
{ {
struct mt7921_sta *sta; struct mt792x_sta *sta;
struct mt76_wcid *wcid; struct mt76_wcid *wcid;
if (idx >= ARRAY_SIZE(dev->mt76.wcid)) if (idx >= ARRAY_SIZE(dev->mt76.wcid))
...@@ -36,7 +36,7 @@ static struct mt76_wcid *mt7921_rx_get_wcid(struct mt7921_dev *dev, ...@@ -36,7 +36,7 @@ static struct mt76_wcid *mt7921_rx_get_wcid(struct mt7921_dev *dev,
if (!wcid->sta) if (!wcid->sta)
return NULL; return NULL;
sta = container_of(wcid, struct mt7921_sta, wcid); sta = container_of(wcid, struct mt792x_sta, wcid);
if (!sta->vif) if (!sta->vif)
return NULL; return NULL;
...@@ -61,7 +61,7 @@ static void mt7921_mac_sta_poll(struct mt7921_dev *dev) ...@@ -61,7 +61,7 @@ static void mt7921_mac_sta_poll(struct mt7921_dev *dev)
[IEEE80211_AC_VO] = 6 [IEEE80211_AC_VO] = 6
}; };
struct ieee80211_sta *sta; struct ieee80211_sta *sta;
struct mt7921_sta *msta; struct mt792x_sta *msta;
u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS]; u32 tx_time[IEEE80211_NUM_ACS], rx_time[IEEE80211_NUM_ACS];
LIST_HEAD(sta_poll_list); LIST_HEAD(sta_poll_list);
struct rate_info *rate; struct rate_info *rate;
...@@ -84,7 +84,7 @@ static void mt7921_mac_sta_poll(struct mt7921_dev *dev) ...@@ -84,7 +84,7 @@ static void mt7921_mac_sta_poll(struct mt7921_dev *dev)
break; break;
} }
msta = list_first_entry(&sta_poll_list, msta = list_first_entry(&sta_poll_list,
struct mt7921_sta, wcid.poll_list); struct mt792x_sta, wcid.poll_list);
list_del_init(&msta->wcid.poll_list); list_del_init(&msta->wcid.poll_list);
spin_unlock_bh(&dev->mt76.sta_poll_lock); spin_unlock_bh(&dev->mt76.sta_poll_lock);
...@@ -248,7 +248,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb) ...@@ -248,7 +248,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb)
u32 rxd2 = le32_to_cpu(rxd[2]); u32 rxd2 = le32_to_cpu(rxd[2]);
u32 rxd3 = le32_to_cpu(rxd[3]); u32 rxd3 = le32_to_cpu(rxd[3]);
u32 rxd4 = le32_to_cpu(rxd[4]); u32 rxd4 = le32_to_cpu(rxd[4]);
struct mt7921_sta *msta = NULL; struct mt792x_sta *msta = NULL;
u16 seq_ctrl = 0; u16 seq_ctrl = 0;
__le16 fc = 0; __le16 fc = 0;
u8 mode = 0; u8 mode = 0;
...@@ -279,7 +279,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb) ...@@ -279,7 +279,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb)
status->wcid = mt7921_rx_get_wcid(dev, idx, unicast); status->wcid = mt7921_rx_get_wcid(dev, idx, unicast);
if (status->wcid) { if (status->wcid) {
msta = container_of(status->wcid, struct mt7921_sta, wcid); msta = container_of(status->wcid, struct mt792x_sta, wcid);
spin_lock_bh(&dev->mt76.sta_poll_lock); spin_lock_bh(&dev->mt76.sta_poll_lock);
if (list_empty(&msta->wcid.poll_list)) if (list_empty(&msta->wcid.poll_list))
list_add_tail(&msta->wcid.poll_list, list_add_tail(&msta->wcid.poll_list,
...@@ -513,7 +513,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb) ...@@ -513,7 +513,7 @@ mt7921_mac_fill_rx(struct mt7921_dev *dev, struct sk_buff *skb)
void mt7921_mac_add_txs(struct mt7921_dev *dev, void *data) void mt7921_mac_add_txs(struct mt7921_dev *dev, void *data)
{ {
struct mt7921_sta *msta = NULL; struct mt792x_sta *msta = NULL;
struct mt76_wcid *wcid; struct mt76_wcid *wcid;
__le32 *txs_data = data; __le32 *txs_data = data;
u16 wcidx; u16 wcidx;
...@@ -537,7 +537,7 @@ void mt7921_mac_add_txs(struct mt7921_dev *dev, void *data) ...@@ -537,7 +537,7 @@ void mt7921_mac_add_txs(struct mt7921_dev *dev, void *data)
if (!wcid) if (!wcid)
goto out; goto out;
msta = container_of(wcid, struct mt7921_sta, wcid); msta = container_of(wcid, struct mt792x_sta, wcid);
mt76_connac2_mac_add_txs_skb(&dev->mt76, wcid, pid, txs_data); mt76_connac2_mac_add_txs_skb(&dev->mt76, wcid, pid, txs_data);
if (!wcid->sta) if (!wcid->sta)
...@@ -582,7 +582,7 @@ static void mt7921_mac_tx_free(struct mt7921_dev *dev, void *data, int len) ...@@ -582,7 +582,7 @@ static void mt7921_mac_tx_free(struct mt7921_dev *dev, void *data, int len)
* 1'b0: msdu_id with the same 'wcid pair' as above. * 1'b0: msdu_id with the same 'wcid pair' as above.
*/ */
if (info & MT_TX_FREE_PAIR) { if (info & MT_TX_FREE_PAIR) {
struct mt7921_sta *msta; struct mt792x_sta *msta;
u16 idx; u16 idx;
count++; count++;
...@@ -592,7 +592,7 @@ static void mt7921_mac_tx_free(struct mt7921_dev *dev, void *data, int len) ...@@ -592,7 +592,7 @@ static void mt7921_mac_tx_free(struct mt7921_dev *dev, void *data, int len)
if (!sta) if (!sta)
continue; continue;
msta = container_of(wcid, struct mt7921_sta, wcid); msta = container_of(wcid, struct mt792x_sta, wcid);
spin_lock_bh(&mdev->sta_poll_lock); spin_lock_bh(&mdev->sta_poll_lock);
if (list_empty(&msta->wcid.poll_list)) if (list_empty(&msta->wcid.poll_list))
list_add_tail(&msta->wcid.poll_list, list_add_tail(&msta->wcid.poll_list,
...@@ -1140,7 +1140,7 @@ int mt7921_usb_sdio_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr, ...@@ -1140,7 +1140,7 @@ int mt7921_usb_sdio_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
wcid = &dev->mt76.global_wcid; wcid = &dev->mt76.global_wcid;
if (sta) { if (sta) {
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
if (time_after(jiffies, msta->last_txs + HZ / 4)) { if (time_after(jiffies, msta->last_txs + HZ / 4)) {
info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS; info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
......
...@@ -342,7 +342,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw, ...@@ -342,7 +342,7 @@ static void mt7921_remove_interface(struct ieee80211_hw *hw,
struct ieee80211_vif *vif) struct ieee80211_vif *vif)
{ {
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
struct mt7921_sta *msta = &mvif->sta; struct mt792x_sta *msta = &mvif->sta;
struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_dev *dev = mt7921_hw_dev(hw);
struct mt7921_phy *phy = mt7921_hw_phy(hw); struct mt7921_phy *phy = mt7921_hw_phy(hw);
int idx = msta->wcid.idx; int idx = msta->wcid.idx;
...@@ -508,7 +508,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -508,7 +508,7 @@ static int mt7921_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
{ {
struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_dev *dev = mt7921_hw_dev(hw);
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
struct mt7921_sta *msta = sta ? (struct mt7921_sta *)sta->drv_priv : struct mt792x_sta *msta = sta ? (struct mt792x_sta *)sta->drv_priv :
&mvif->sta; &mvif->sta;
struct mt76_wcid *wcid = &msta->wcid; struct mt76_wcid *wcid = &msta->wcid;
u8 *wcid_keyidx = &wcid->hw_key_idx; u8 *wcid_keyidx = &wcid->hw_key_idx;
...@@ -756,7 +756,7 @@ int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif, ...@@ -756,7 +756,7 @@ int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76);
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
int ret, idx; int ret, idx;
...@@ -797,7 +797,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif, ...@@ -797,7 +797,7 @@ void mt7921_mac_sta_assoc(struct mt76_dev *mdev, struct ieee80211_vif *vif,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76);
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv; struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
mt7921_mutex_acquire(dev); mt7921_mutex_acquire(dev);
...@@ -822,7 +822,7 @@ void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif, ...@@ -822,7 +822,7 @@ void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
struct ieee80211_sta *sta) struct ieee80211_sta *sta)
{ {
struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76);
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
mt76_connac_free_pending_tx_skbs(&dev->pm, &msta->wcid); mt76_connac_free_pending_tx_skbs(&dev->pm, &msta->wcid);
mt76_connac_pm_wake(&dev->mphy, &dev->pm); mt76_connac_pm_wake(&dev->mphy, &dev->pm);
...@@ -877,9 +877,9 @@ static void mt7921_tx(struct ieee80211_hw *hw, ...@@ -877,9 +877,9 @@ static void mt7921_tx(struct ieee80211_hw *hw,
int qid; int qid;
if (control->sta) { if (control->sta) {
struct mt7921_sta *sta; struct mt792x_sta *sta;
sta = (struct mt7921_sta *)control->sta->drv_priv; sta = (struct mt792x_sta *)control->sta->drv_priv;
wcid = &sta->wcid; wcid = &sta->wcid;
} }
...@@ -924,7 +924,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -924,7 +924,7 @@ mt7921_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_dev *dev = mt7921_hw_dev(hw);
struct ieee80211_sta *sta = params->sta; struct ieee80211_sta *sta = params->sta;
struct ieee80211_txq *txq = sta->txq[params->tid]; struct ieee80211_txq *txq = sta->txq[params->tid];
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
u16 tid = params->tid; u16 tid = params->tid;
u16 ssn = params->ssn; u16 ssn = params->ssn;
struct mt76_txq *mtxq; struct mt76_txq *mtxq;
...@@ -1120,7 +1120,7 @@ mt7921_get_et_sset_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -1120,7 +1120,7 @@ mt7921_get_et_sset_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
static void static void
mt7921_ethtool_worker(void *wi_data, struct ieee80211_sta *sta) mt7921_ethtool_worker(void *wi_data, struct ieee80211_sta *sta)
{ {
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt76_ethtool_worker_info *wi = wi_data; struct mt76_ethtool_worker_info *wi = wi_data;
if (msta->vif->mt76.idx != wi->idx) if (msta->vif->mt76.idx != wi->idx)
...@@ -1387,7 +1387,7 @@ static void mt7921_sta_statistics(struct ieee80211_hw *hw, ...@@ -1387,7 +1387,7 @@ static void mt7921_sta_statistics(struct ieee80211_hw *hw,
struct ieee80211_sta *sta, struct ieee80211_sta *sta,
struct station_info *sinfo) struct station_info *sinfo)
{ {
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct rate_info *txrate = &msta->wcid.rate; struct rate_info *txrate = &msta->wcid.rate;
if (!txrate->legacy && !txrate->flags) if (!txrate->legacy && !txrate->flags)
...@@ -1500,7 +1500,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw, ...@@ -1500,7 +1500,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw,
struct ieee80211_sta *sta, struct ieee80211_sta *sta,
bool enabled) bool enabled)
{ {
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
struct mt7921_dev *dev = mt7921_hw_dev(hw); struct mt7921_dev *dev = mt7921_hw_dev(hw);
mt7921_mutex_acquire(dev); mt7921_mutex_acquire(dev);
......
...@@ -343,7 +343,7 @@ int mt7921_mcu_uni_tx_ba(struct mt7921_dev *dev, ...@@ -343,7 +343,7 @@ int mt7921_mcu_uni_tx_ba(struct mt7921_dev *dev,
struct ieee80211_ampdu_params *params, struct ieee80211_ampdu_params *params,
bool enable) bool enable)
{ {
struct mt7921_sta *msta = (struct mt7921_sta *)params->sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)params->sta->drv_priv;
if (enable && !params->amsdu) if (enable && !params->amsdu)
msta->wcid.amsdu = false; msta->wcid.amsdu = false;
...@@ -357,7 +357,7 @@ int mt7921_mcu_uni_rx_ba(struct mt7921_dev *dev, ...@@ -357,7 +357,7 @@ int mt7921_mcu_uni_rx_ba(struct mt7921_dev *dev,
struct ieee80211_ampdu_params *params, struct ieee80211_ampdu_params *params,
bool enable) bool enable)
{ {
struct mt7921_sta *msta = (struct mt7921_sta *)params->sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)params->sta->drv_priv;
return mt76_connac_mcu_sta_ba(&dev->mt76, &msta->vif->mt76, params, return mt76_connac_mcu_sta_ba(&dev->mt76, &msta->vif->mt76, params,
MCU_UNI_CMD(STA_REC_UPDATE), MCU_UNI_CMD(STA_REC_UPDATE),
...@@ -933,9 +933,9 @@ int mt7921_mcu_sta_update(struct mt7921_dev *dev, struct ieee80211_sta *sta, ...@@ -933,9 +933,9 @@ int mt7921_mcu_sta_update(struct mt7921_dev *dev, struct ieee80211_sta *sta,
.offload_fw = true, .offload_fw = true,
.rcpi = to_rcpi(rssi), .rcpi = to_rcpi(rssi),
}; };
struct mt7921_sta *msta; struct mt792x_sta *msta;
msta = sta ? (struct mt7921_sta *)sta->drv_priv : NULL; msta = sta ? (struct mt792x_sta *)sta->drv_priv : NULL;
info.wcid = msta ? &msta->wcid : &mvif->sta.wcid; info.wcid = msta ? &msta->wcid : &mvif->sta.wcid;
info.newly = msta ? state != MT76_STA_INFO_STATE_ASSOC : true; info.newly = msta ? state != MT76_STA_INFO_STATE_ASSOC : true;
......
...@@ -128,7 +128,7 @@ struct mt7921_sdio_intr { ...@@ -128,7 +128,7 @@ struct mt7921_sdio_intr {
#define to_rcpi(rssi) (2 * (rssi) + 220) #define to_rcpi(rssi) (2 * (rssi) + 220)
struct mt792x_vif; struct mt792x_vif;
struct mt7921_sta; struct mt792x_sta;
enum mt7921_txq_id { enum mt7921_txq_id {
MT7921_TXQ_BAND0, MT7921_TXQ_BAND0,
...@@ -145,7 +145,7 @@ enum mt7921_rxq_id { ...@@ -145,7 +145,7 @@ enum mt7921_rxq_id {
DECLARE_EWMA(avg_signal, 10, 8) DECLARE_EWMA(avg_signal, 10, 8)
struct mt7921_sta { struct mt792x_sta {
struct mt76_wcid wcid; /* must be first */ struct mt76_wcid wcid; /* must be first */
struct mt792x_vif *vif; struct mt792x_vif *vif;
...@@ -165,8 +165,8 @@ DECLARE_EWMA(rssi, 10, 8); ...@@ -165,8 +165,8 @@ DECLARE_EWMA(rssi, 10, 8);
struct mt792x_vif { struct mt792x_vif {
struct mt76_vif mt76; /* must be first */ struct mt76_vif mt76; /* must be first */
struct mt7921_sta sta; struct mt792x_sta sta;
struct mt7921_sta *wep_sta; struct mt792x_sta *wep_sta;
struct mt7921_phy *phy; struct mt7921_phy *phy;
......
...@@ -32,7 +32,7 @@ int mt7921e_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr, ...@@ -32,7 +32,7 @@ int mt7921e_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
return id; return id;
if (sta) { if (sta) {
struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
if (time_after(jiffies, msta->last_txs + HZ / 4)) { if (time_after(jiffies, msta->last_txs + HZ / 4)) {
info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS; info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment