From fa6504aceb4ffb657e0d320c27b32199e919e3b8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 8 Sep 2021 16:14:22 +0200 Subject: [PATCH] Revert "mt76: mt7915: checkpatch cleanup" Will be replaced by updated commits later This reverts commit 4f48ba4b02543249d94ec41241e376781d539edc. --- mt7915/init.c | 3 ++- mt7915/mac.c | 43 ++++++++++++++++++++----------------------- mt7915/mac.h | 21 +++++++++++++++++---- mt7915/main.c | 6 +++--- mt7915/mcu.c | 17 +++++++++++------ mt7915/mcu.h | 5 +++-- mt7915/mt7915.h | 9 ++++----- mt7915/pci.c | 4 ++-- 8 files changed, 62 insertions(+), 46 deletions(-) diff --git a/mt7915/init.c b/mt7915/init.c index 9468ecd9..6248c075 100644 --- a/mt7915/init.c +++ b/mt7915/init.c @@ -149,7 +149,7 @@ static void mt7915_unregister_thermal(struct mt7915_phy *phy) struct wiphy *wiphy = phy->mt76->hw->wiphy; if (!phy->cdev) - return; + return; sysfs_remove_link(&wiphy->dev.kobj, "cooling_device"); thermal_cooling_device_unregister(phy->cdev); @@ -508,6 +508,7 @@ static int mt7915_init_hardware(struct mt7915_dev *dev) if (ret < 0) return ret; + if (dev->flash_mode) { ret = mt7915_mcu_apply_group_cal(dev); if (ret) diff --git a/mt7915/mac.c b/mt7915/mac.c index 0c74d6e0..5439fa76 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -52,19 +52,6 @@ static const struct mt7915_dfs_radar_spec jp_radar_specs = { }, }; -static struct mt7915_txp * -mt7915_txwi_to_txp(struct mt76_dev *dev, struct mt76_txwi_cache *t) -{ - u8 *txwi; - - if (!t) - return NULL; - - txwi = mt76_get_txwi_ptr(dev, t); - - return (struct mt7915_txp *)(txwi + MT_TXD_SIZE); -} - static struct mt76_wcid *mt7915_rx_get_wcid(struct mt7915_dev *dev, u16 idx, bool unicast) { @@ -881,6 +868,7 @@ static void mt7915_mac_write_txwi_8023(struct mt7915_dev *dev, __le32 *txwi, struct sk_buff *skb, struct mt76_wcid *wcid) { + u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; u8 fc_type, fc_stype; bool wmm = false; @@ -1267,6 +1255,11 @@ mt7915_mac_tx_free(struct mt7915_dev *dev, struct sk_buff *skb) mt76_queue_tx_cleanup(dev, mphy_ext->q_tx[MT_TXQ_BE], false); } + /* + * TODO: MT_TX_FREE_LATENCY is msdu time from the TXD is queued into PLE, + * to the time ack is received or dropped by hw (air + hw queue time). + * Should avoid accessing WTBL to get Tx airtime, and use it instead. + */ count = FIELD_GET(MT_TX_FREE_MSDU_CNT, le16_to_cpu(free->ctrl)); for (i = 0; i < count; i++) { u32 msdu, info = le32_to_cpu(free->info[i]); @@ -1496,7 +1489,7 @@ void mt7915_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q, break; case PKT_TYPE_TXS: for (rxd += 2; rxd + 8 <= end; rxd += 8) - mt7915_mac_add_txs(dev, rxd); + mt7915_mac_add_txs(dev, rxd); dev_kfree_skb(skb); break; case PKT_TYPE_NORMAL: @@ -1553,9 +1546,13 @@ void mt7915_mac_reset_counters(struct mt7915_phy *phy) mt76_rr(dev, MT_TX_AGG_CNT2(ext_phy, i)); } - phy->mt76->survey_time = ktime_get_boottime(); - i = ext_phy ? ARRAY_SIZE(dev->mt76.aggr_stats) / 2 : 0; - + if (ext_phy) { + dev->mt76.phy2->survey_time = ktime_get_boottime(); + i = ARRAY_SIZE(dev->mt76.aggr_stats) / 2; + } else { + dev->mt76.phy.survey_time = ktime_get_boottime(); + i = 0; + } memset(&dev->mt76.aggr_stats[i], 0, sizeof(dev->mt76.aggr_stats) / 2); /* reset airtime counters */ @@ -1763,13 +1760,13 @@ mt7915_dma_reset(struct mt7915_dev *dev) MT_WFDMA1_GLO_CFG_OMIT_RX_INFO); if (dev->hif2) { mt76_set(dev, MT_WFDMA0_GLO_CFG + hif1_ofs, - (MT_WFDMA0_GLO_CFG_TX_DMA_EN | - MT_WFDMA0_GLO_CFG_RX_DMA_EN)); + (MT_WFDMA0_GLO_CFG_TX_DMA_EN | + MT_WFDMA0_GLO_CFG_RX_DMA_EN)); mt76_set(dev, MT_WFDMA1_GLO_CFG + hif1_ofs, - (MT_WFDMA1_GLO_CFG_TX_DMA_EN | - MT_WFDMA1_GLO_CFG_RX_DMA_EN | - MT_WFDMA1_GLO_CFG_OMIT_TX_INFO | - MT_WFDMA1_GLO_CFG_OMIT_RX_INFO)); + (MT_WFDMA1_GLO_CFG_TX_DMA_EN | + MT_WFDMA1_GLO_CFG_RX_DMA_EN | + MT_WFDMA1_GLO_CFG_OMIT_TX_INFO | + MT_WFDMA1_GLO_CFG_OMIT_RX_INFO)); } } diff --git a/mt7915/mac.h b/mt7915/mac.h index 4f4e97ee..7a2c740d 100644 --- a/mt7915/mac.h +++ b/mt7915/mac.h @@ -153,10 +153,10 @@ enum rx_pkt_type { #define MT_CRXV_HE_BEAM_CHNG BIT(13) #define MT_CRXV_HE_DOPPLER BIT(16) -#define MT_CRXV_SNR GENMASK(18, 13) -#define MT_CRXV_FOE_LO GENMASK(31, 19) -#define MT_CRXV_FOE_HI GENMASK(6, 0) -#define MT_CRXV_FOE_SHIFT 13 +#define MT_CRXV_SNR GENMASK(18, 13) +#define MT_CRXV_FOE_LO GENMASK(31, 19) +#define MT_CRXV_FOE_HI GENMASK(6, 0) +#define MT_CRXV_FOE_SHIFT 13 enum tx_header_format { MT_HDR_FORMAT_802_3, @@ -403,4 +403,17 @@ struct mt7915_dfs_radar_spec { struct mt7915_dfs_pattern radar_pattern[16]; }; +static inline struct mt7915_txp * +mt7915_txwi_to_txp(struct mt76_dev *dev, struct mt76_txwi_cache *t) +{ + u8 *txwi; + + if (!t) + return NULL; + + txwi = mt76_get_txwi_ptr(dev, t); + + return (struct mt7915_txp *)(txwi + MT_TXD_SIZE); +} + #endif diff --git a/mt7915/main.c b/mt7915/main.c index b3ca2ce8..48b5e205 100644 --- a/mt7915/main.c +++ b/mt7915/main.c @@ -1013,9 +1013,9 @@ static void mt7915_sta_set_4addr(struct ieee80211_hw *hw, } static void mt7915_sta_set_decap_offload(struct ieee80211_hw *hw, - struct ieee80211_vif *vif, - struct ieee80211_sta *sta, - bool enabled) + struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + bool enabled) { struct mt7915_dev *dev = mt7915_hw_dev(hw); struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv; diff --git a/mt7915/mcu.c b/mt7915/mcu.c index da4480f8..9b8f4c29 100644 --- a/mt7915/mcu.c +++ b/mt7915/mcu.c @@ -828,7 +828,12 @@ mt7915_mcu_bss_rfch_tlv(struct sk_buff *skb, struct ieee80211_vif *vif, } if (vif->bss_conf.he_support && vif->type == NL80211_IFTYPE_STATION) { - struct mt76_phy *mphy = phy->mt76; + struct mt7915_dev *dev = phy->dev; + struct mt76_phy *mphy = &dev->mt76.phy; + bool ext_phy = phy != &dev->phy; + + if (ext_phy && dev->mt76.phy2) + mphy = dev->mt76.phy2; ch->he_ru26_block = mt7915_check_he_obss_narrow_bw_ru(mphy->hw, vif); @@ -1457,7 +1462,7 @@ mt7915_mcu_sta_he_tlv(struct sk_buff *skb, struct ieee80211_sta *sta) static void mt7915_mcu_sta_uapsd_tlv(struct sk_buff *skb, struct ieee80211_sta *sta, - struct ieee80211_vif *vif) + struct ieee80211_vif *vif) { struct sta_rec_uapsd *uapsd; struct tlv *tlv; @@ -1555,7 +1560,7 @@ mt7915_mcu_sta_amsdu_tlv(struct sk_buff *skb, struct ieee80211_sta *sta) struct tlv *tlv; if (!sta->max_amsdu_len) - return; + return; tlv = mt7915_mcu_add_tlv(skb, STA_REC_HW_AMSDU, sizeof(*amsdu)); amsdu = (struct sta_rec_amsdu *)tlv; @@ -2427,7 +2432,7 @@ mt7915_mcu_beacon_cont(struct mt7915_dev *dev, struct sk_buff *rskb, } int mt7915_mcu_add_beacon(struct ieee80211_hw *hw, - struct ieee80211_vif *vif, bool en) + struct ieee80211_vif *vif, int en) { #define MAX_BEACON_SIZE 512 struct mt7915_dev *dev = mt7915_hw_dev(hw); @@ -3305,8 +3310,8 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset) int ret; u8 *buf; - ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_QUERY(EFUSE_ACCESS), - &req, sizeof(req), true, &skb); + ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_QUERY(EFUSE_ACCESS), &req, + sizeof(req), true, &skb); if (ret) return ret; diff --git a/mt7915/mcu.h b/mt7915/mcu.h index eda17a94..50437b1b 100644 --- a/mt7915/mcu.h +++ b/mt7915/mcu.h @@ -211,8 +211,8 @@ struct mt7915_mcu_tx { #define WMM_TXOP_SET BIT(3) #define WMM_PARAM_SET GENMASK(3, 0) -#define MCU_PQ_ID(p, q) (((p) << 15) | ((q) << 10)) -#define MCU_PKT_ID 0xa0 +#define MCU_PQ_ID(p, q) (((p) << 15) | ((q) << 10)) +#define MCU_PKT_ID 0xa0 enum { MCU_Q_QUERY, @@ -228,6 +228,7 @@ enum { MCU_S2D_H2CN }; + #define __MCU_CMD_FIELD_ID GENMASK(7, 0) #define __MCU_CMD_FIELD_EXT_ID GENMASK(15, 8) #define __MCU_CMD_FIELD_QUERY BIT(16) diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h index cc74dd2c..d06b7536 100644 --- a/mt7915/mt7915.h +++ b/mt7915/mt7915.h @@ -55,7 +55,7 @@ enum mt7915_txq_id { }; enum mt7915_rxq_id { - MT7915_RXQ_BAND0, + MT7915_RXQ_BAND0 = 0, MT7915_RXQ_BAND1, MT7915_RXQ_MCU_WM = 0, MT7915_RXQ_MCU_WA, @@ -82,7 +82,6 @@ struct mt7915_sta { struct mt7915_sta_key_conf bip; }; - struct mt7915_vif { u16 idx; u8 omac_idx; @@ -192,7 +191,7 @@ struct mt7915_dev { }; enum { - HW_BSSID_0, + HW_BSSID_0 = 0x0, HW_BSSID_1, HW_BSSID_2, HW_BSSID_3, @@ -307,9 +306,9 @@ int mt7915_mcu_add_key(struct mt7915_dev *dev, struct ieee80211_vif *vif, struct mt7915_sta *msta, struct ieee80211_key_conf *key, enum set_key_cmd cmd); int mt7915_mcu_add_beacon(struct ieee80211_hw *hw, struct ieee80211_vif *vif, - bool enable); + int enable); int mt7915_mcu_add_obss_spr(struct mt7915_dev *dev, struct ieee80211_vif *vif, - bool enable); + bool enable); int mt7915_mcu_add_rate_ctrl(struct mt7915_dev *dev, struct ieee80211_vif *vif, struct ieee80211_sta *sta); int mt7915_mcu_add_he(struct mt7915_dev *dev, struct ieee80211_vif *vif, diff --git a/mt7915/pci.c b/mt7915/pci.c index cd49f665..e5a3f0dd 100644 --- a/mt7915/pci.c +++ b/mt7915/pci.c @@ -352,8 +352,8 @@ static int __init mt7915_init(void) static void __exit mt7915_exit(void) { - pci_unregister_driver(&mt7915_pci_driver); - pci_unregister_driver(&mt7915_hif_driver); + pci_unregister_driver(&mt7915_pci_driver); + pci_unregister_driver(&mt7915_hif_driver); } module_init(mt7915_init);