Thread (10 messages) 10 messages, 2 authors, 2021-12-18

Re: [PATCH 1/7] mt76: mt7915: rely on mt76_connac_mcu_alloc_sta_req

flat view

From: Felix Fietkau <nbd@nbd.name>
Date: 2021-12-18 20:37:06

On 2021-12-17 18:48, Lorenzo Bianconi wrote:
quoted hunk ↗ jump to hunk
Rely on mt76_connac_mcu_alloc_sta_req routine and remove
duplicated code.
Add MT76_CONNAC_LIB module dependency in mt7915 module

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
  .../net/wireless/mediatek/mt76/mt76_connac.h  |  5 ++
  .../wireless/mediatek/mt76/mt76_connac_mcu.c  | 10 +--
  .../wireless/mediatek/mt76/mt76_connac_mcu.h  | 23 ++++++-
  .../net/wireless/mediatek/mt76/mt7915/Kconfig |  2 +-
  .../net/wireless/mediatek/mt76/mt7915/mcu.c   | 66 +++++++------------
  .../wireless/mediatek/mt76/mt7915/mt7915.h    |  5 --
  6 files changed, 54 insertions(+), 57 deletions(-)

  				  struct mt76_connac_pm *pm);
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
index f79e3d5084f3..fc5c870da420 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
@@ -266,19 +266,19 @@ mt76_connac_mcu_add_nested_tlv(struct sk_buff *skb, int tag, int len,
  EXPORT_SYMBOL_GPL(mt76_connac_mcu_add_nested_tlv);
  
  struct sk_buff *
-mt76_connac_mcu_alloc_sta_req(struct mt76_dev *dev, struct mt76_vif *mvif,
-			      struct mt76_wcid *wcid)
+__mt76_connac_mcu_alloc_sta_req(struct mt76_dev *dev, struct mt76_vif *mvif,
+				struct mt76_wcid *wcid, int len)
  {
  	struct sta_req_hdr hdr = {
  		.bss_idx = mvif->idx,
-		.muar_idx = wcid ? mvif->omac_idx : 0,
  		.is_tlv_append = 1,
  	};
  	struct sk_buff *skb;
  
+	hdr.muar_idx = mt76_connac_mcu_get_muar_idx(dev, wcid, mvif);
No need for a separate inline function if it's only used in this one place.
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
index 5baf8370b7bd..4c0220df18b4 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
@@ -570,6 +570,7 @@ struct wtbl_raw {
  					 sizeof(struct sta_rec_muru) +	\
  					 sizeof(struct sta_rec_bfee) +	\
  					 sizeof(struct sta_rec_ra) +	\
+					 sizeof(struct sta_rec_sec) +	\
  					 sizeof(struct sta_rec_ra_fixed) + \
  					 sizeof(struct sta_rec_he_6g_capa) + \
  					 sizeof(struct tlv) +		\
@@ -1436,7 +1437,7 @@ mt76_connac_mcu_get_wlan_idx(struct mt76_dev *dev, struct mt76_wcid *wcid,
  {
  	*wlan_idx_hi = 0;
  
-	if (is_mt7921(dev)) {
+	if (is_mt7921(dev) || is_mt7915(dev)) {
  		*wlan_idx_lo = wcid ? to_wcid_lo(wcid->idx) : 0;
  		*wlan_idx_hi = wcid ? to_wcid_hi(wcid->idx) : 0;
  	} else {
@@ -1444,9 +1445,27 @@ mt76_connac_mcu_get_wlan_idx(struct mt76_dev *dev, struct mt76_wcid *wcid,
  	}
  }
  
+static inline int
+mt76_connac_mcu_get_muar_idx(struct mt76_dev *dev, struct mt76_wcid *wcid,
+			     struct mt76_vif *mvif)
+{
+	if (is_mt7915(dev))
+		return wcid && wcid->sta ? mvif->omac_idx : 0xe;
+
+	return wcid ? mvif->omac_idx : 0;
From what I can tell, the broadcast muar index should be 0xe for all chips, not just mt7915. Would make sense to do this in a separate patch before this one though.

- Felix
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help