| From b332b97c6eadd80d210eafc4cd089163c910bf95 Mon Sep 17 00:00:00 2001 |
| From: Shayne Chen <shayne.chen@mediatek.com> |
| Date: Mon, 4 Dec 2023 14:50:47 +0800 |
| Subject: [PATCH 096/116] wifi: mt76: mt7996: rework RXD for multi-link support |
| |
| This is a preliminary patch to add MLO support for mt7996 chipsets. |
| |
| Co-developed-by: Bo Jiao <Bo.Jiao@mediatek.com> |
| Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> |
| Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> |
| --- |
| mt7996/mac.c | 27 ++------------------------- |
| 1 file changed, 2 insertions(+), 25 deletions(-) |
| |
| diff --git a/mt7996/mac.c b/mt7996/mac.c |
| index 65431c7d7..a32b416c4 100644 |
| --- a/mt7996/mac.c |
| +++ b/mt7996/mac.c |
| @@ -51,29 +51,6 @@ static const struct mt7996_dfs_radar_spec jp_radar_specs = { |
| }, |
| }; |
| |
| -static struct mt76_wcid *mt7996_rx_get_wcid(struct mt7996_dev *dev, |
| - u16 idx, bool unicast) |
| -{ |
| - struct mt7996_link_sta *mlink; |
| - struct mt76_wcid *wcid; |
| - |
| - if (idx >= ARRAY_SIZE(dev->mt76.wcid)) |
| - return NULL; |
| - |
| - wcid = rcu_dereference(dev->mt76.wcid[idx]); |
| - if (unicast || !wcid) |
| - return wcid; |
| - |
| - if (!wcid->sta) |
| - return NULL; |
| - |
| - mlink = container_of(wcid, struct mt7996_link_sta, wcid); |
| - if (!mlink->sta->vif) |
| - return NULL; |
| - |
| - return &mlink->wcid; |
| -} |
| - |
| bool mt7996_mac_wtbl_update(struct mt7996_dev *dev, int idx, u32 mask) |
| { |
| mt76_rmw(dev, MT_WTBL_UPDATE, MT_WTBL_UPDATE_WLAN_IDX, |
| @@ -376,10 +353,10 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q, |
| |
| unicast = FIELD_GET(MT_RXD3_NORMAL_ADDR_TYPE, rxd3) == MT_RXD3_NORMAL_U2M; |
| idx = FIELD_GET(MT_RXD1_NORMAL_WLAN_IDX, rxd1); |
| - status->wcid = mt7996_rx_get_wcid(dev, idx, unicast); |
| + status->wcid = mt7996_get_link_wcid(dev, idx, band_idx); |
| |
| if (status->wcid) { |
| - mlink = container_of(status->wcid, struct mt7996_link_sta, wcid); |
| + mlink = wcid_to_mlink(status->wcid); |
| spin_lock_bh(&dev->mt76.sta_poll_lock); |
| if (list_empty(&mlink->wcid.poll_list)) |
| list_add_tail(&mlink->wcid.poll_list, |
| -- |
| 2.39.2 |
| |