]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop queue-6.0/wifi-rtw88-8822c-extend-supported-probe-request-size.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Oct 2022 12:15:00 +0000 (14:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Oct 2022 12:15:00 +0000 (14:15 +0200)
not needed.

queue-6.0/series
queue-6.0/wifi-rtw88-8822c-extend-supported-probe-request-size.patch [deleted file]

index 5ac7ba55d2b0d2611a64ea3549dee1fd9757c5ba..8249d04a2b0bb90f70c184129f0383e84d483e58 100644 (file)
@@ -226,7 +226,6 @@ nfsd-fix-handling-of-oversized-nfsv4-compound-reques.patch
 x86-paravirt-add-extra-clobbers-with-zero_call_used_.patch
 m68k-process-bootinfo-records-before-saving-them.patch
 libbpf-initialize-err-in-probe_map_create.patch
-wifi-rtw88-8822c-extend-supported-probe-request-size.patch
 wifi-rtlwifi-8192de-correct-checking-of-iqk-reload.patch
 wifi-ath10k-set-tx-credit-to-one-for-wcn3990-snoc-ba.patch
 wifi-ath10k-add-peer-map-clean-up-for-peer-delete-in.patch
diff --git a/queue-6.0/wifi-rtw88-8822c-extend-supported-probe-request-size.patch b/queue-6.0/wifi-rtw88-8822c-extend-supported-probe-request-size.patch
deleted file mode 100644 (file)
index 44f6a15..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-From 76796c3a455019ab150b83d9eddbbc1a48611759 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 27 Jul 2022 14:50:00 +0800
-Subject: wifi: rtw88: 8822c: extend supported probe request size
-
-From: Po-Hao Huang <phhuang@realtek.com>
-
-[ Upstream commit d2eb7cb97c7df25df3e3e0f590b5bbf00c66d4c9 ]
-
-Some WSC IEs require size larger than we current supports. Extend size
-to fit those demands. Separate the registered scan IE length by IC so
-settings can be independent.
-
-Since old firmware uses fewer page number, define a firmware feature to
-be compatible with various firmware version.
-
-Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
-Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
-Signed-off-by: Kalle Valo <kvalo@kernel.org>
-Link: https://lore.kernel.org/r/20220727065003.28340-2-pkshih@realtek.com
-Stable-dep-of: 93fbc1ebd978 ("wifi: rtlwifi: 8192de: correct checking of IQK reload")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/realtek/rtw88/fw.c       | 15 +++++++++----
- drivers/net/wireless/realtek/rtw88/fw.h       | 18 +++++++++++++++-
- drivers/net/wireless/realtek/rtw88/main.c     | 21 ++++++++++++++++++-
- drivers/net/wireless/realtek/rtw88/main.h     |  4 +++-
- drivers/net/wireless/realtek/rtw88/rtw8723d.c |  3 ++-
- drivers/net/wireless/realtek/rtw88/rtw8821c.c |  3 ++-
- drivers/net/wireless/realtek/rtw88/rtw8822b.c |  3 ++-
- drivers/net/wireless/realtek/rtw88/rtw8822c.c |  3 ++-
- 8 files changed, 59 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
-index 4fdab0329695..efa51b2f5302 100644
---- a/drivers/net/wireless/realtek/rtw88/fw.c
-+++ b/drivers/net/wireless/realtek/rtw88/fw.c
-@@ -1844,13 +1844,20 @@ static int _rtw_hw_scan_update_probe_req(struct rtw_dev *rtwdev, u8 num_probes,
-       struct rtw_chip_info *chip = rtwdev->chip;
-       struct sk_buff *skb, *tmp;
-       u8 page_offset = 1, *buf, page_size = chip->page_size;
--      u8 pages = page_offset + num_probes * RTW_PROBE_PG_CNT;
-       u16 pg_addr = rtwdev->fifo.rsvd_h2c_info_addr, loc;
-       u16 buf_offset = page_size * page_offset;
-       u8 tx_desc_sz = chip->tx_pkt_desc_sz;
-+      u8 page_cnt, pages;
-       unsigned int pkt_len;
-       int ret;
-+      if (rtw_fw_feature_ext_check(&rtwdev->fw, FW_FEATURE_EXT_OLD_PAGE_NUM))
-+              page_cnt = RTW_OLD_PROBE_PG_CNT;
-+      else
-+              page_cnt = RTW_PROBE_PG_CNT;
-+
-+      pages = page_offset + num_probes * page_cnt;
-+
-       buf = kzalloc(page_size * pages, GFP_KERNEL);
-       if (!buf)
-               return -ENOMEM;
-@@ -1859,7 +1866,7 @@ static int _rtw_hw_scan_update_probe_req(struct rtw_dev *rtwdev, u8 num_probes,
-       skb_queue_walk_safe(probe_req_list, skb, tmp) {
-               skb_unlink(skb, probe_req_list);
-               rtw_fill_rsvd_page_desc(rtwdev, skb, RSVD_PROBE_REQ);
--              if (skb->len > page_size * RTW_PROBE_PG_CNT) {
-+              if (skb->len > page_size * page_cnt) {
-                       ret = -EINVAL;
-                       goto out;
-               }
-@@ -1869,8 +1876,8 @@ static int _rtw_hw_scan_update_probe_req(struct rtw_dev *rtwdev, u8 num_probes,
-               loc = pg_addr - rtwdev->fifo.rsvd_boundary + page_offset;
-               __rtw_fw_update_pkt(rtwdev, RTW_PACKET_PROBE_REQ, pkt_len, loc);
--              buf_offset += RTW_PROBE_PG_CNT * page_size;
--              page_offset += RTW_PROBE_PG_CNT;
-+              buf_offset += page_cnt * page_size;
-+              page_offset += page_cnt;
-               kfree_skb(skb);
-       }
-diff --git a/drivers/net/wireless/realtek/rtw88/fw.h b/drivers/net/wireless/realtek/rtw88/fw.h
-index 7a37675c61e8..bd3b9318b243 100644
---- a/drivers/net/wireless/realtek/rtw88/fw.h
-+++ b/drivers/net/wireless/realtek/rtw88/fw.h
-@@ -41,7 +41,8 @@
- #define RTW_EX_CH_INFO_HDR_SIZE               2
- #define RTW_SCAN_WIDTH                        0
- #define RTW_PRI_CH_IDX                        1
--#define RTW_PROBE_PG_CNT              2
-+#define RTW_OLD_PROBE_PG_CNT          2
-+#define RTW_PROBE_PG_CNT              4
- enum rtw_c2h_cmd_id {
-       C2H_CCX_TX_RPT = 0x03,
-@@ -120,6 +121,10 @@ enum rtw_fw_feature {
-       FW_FEATURE_MAX = BIT(31),
- };
-+enum rtw_fw_feature_ext {
-+      FW_FEATURE_EXT_OLD_PAGE_NUM = BIT(0),
-+};
-+
- enum rtw_beacon_filter_offload_mode {
-       BCN_FILTER_OFFLOAD_MODE_0 = 0,
-       BCN_FILTER_OFFLOAD_MODE_1,
-@@ -323,6 +328,11 @@ struct rtw_fw_hdr_legacy {
-       __le32 rsvd5;
- } __packed;
-+#define RTW_FW_VER_CODE(ver, sub_ver, idx)    \
-+      (((ver) << 16) | ((sub_ver) << 8) | (idx))
-+#define RTW_FW_SUIT_VER_CODE(s)       \
-+      RTW_FW_VER_CODE((s).version, (s).sub_version, (s).sub_index)
-+
- /* C2H */
- #define GET_CCX_REPORT_SEQNUM_V0(c2h_payload) (c2h_payload[6] & 0xfc)
- #define GET_CCX_REPORT_STATUS_V0(c2h_payload) (c2h_payload[0] & 0xc0)
-@@ -770,6 +780,12 @@ static inline bool rtw_fw_feature_check(struct rtw_fw_state *fw,
-       return !!(fw->feature & feature);
- }
-+static inline bool rtw_fw_feature_ext_check(struct rtw_fw_state *fw,
-+                                          enum rtw_fw_feature_ext feature)
-+{
-+      return !!(fw->feature_ext & feature);
-+}
-+
- void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
-                              struct sk_buff *skb);
- void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb);
-diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
-index 76dc9da88f6c..41458dff5422 100644
---- a/drivers/net/wireless/realtek/rtw88/main.c
-+++ b/drivers/net/wireless/realtek/rtw88/main.c
-@@ -1552,6 +1552,21 @@ static void rtw_init_vht_cap(struct rtw_dev *rtwdev,
-       vht_cap->vht_mcs.tx_highest = highest;
- }
-+static u16 rtw_get_max_scan_ie_len(struct rtw_dev *rtwdev)
-+{
-+      u16 len;
-+
-+      len = rtwdev->chip->max_scan_ie_len;
-+
-+      if (!rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_SCAN_OFFLOAD) &&
-+          rtwdev->chip->id == RTW_CHIP_TYPE_8822C)
-+              len = IEEE80211_MAX_DATA_LEN;
-+      else if (rtw_fw_feature_ext_check(&rtwdev->fw, FW_FEATURE_EXT_OLD_PAGE_NUM))
-+              len -= RTW_OLD_PROBE_PG_CNT * TX_PAGE_SIZE;
-+
-+      return len;
-+}
-+
- static void rtw_set_supported_band(struct ieee80211_hw *hw,
-                                  struct rtw_chip_info *chip)
- {
-@@ -1631,6 +1646,10 @@ static void __update_firmware_feature(struct rtw_dev *rtwdev,
-       feature = le32_to_cpu(fw_hdr->feature);
-       fw->feature = feature & FW_FEATURE_SIG ? feature : 0;
-+
-+      if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C &&
-+          RTW_FW_SUIT_VER_CODE(rtwdev->fw) < RTW_FW_VER_CODE(9, 9, 13))
-+              fw->feature_ext |= FW_FEATURE_EXT_OLD_PAGE_NUM;
- }
- static void __update_firmware_info(struct rtw_dev *rtwdev,
-@@ -2136,7 +2155,7 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw)
-       hw->wiphy->features |= NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR;
-       hw->wiphy->max_scan_ssids = RTW_SCAN_MAX_SSIDS;
--      hw->wiphy->max_scan_ie_len = RTW_SCAN_MAX_IE_LEN;
-+      hw->wiphy->max_scan_ie_len = rtw_get_max_scan_ie_len(rtwdev);
-       wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
-       wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_SCAN_RANDOM_SN);
-diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h
-index 7db627fc26be..69d0a700c2ae 100644
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -22,7 +22,6 @@
- #define MAX_PG_CAM_BACKUP_NUM         8
- #define RTW_SCAN_MAX_SSIDS            4
--#define RTW_SCAN_MAX_IE_LEN           128
- #define RTW_MAX_PATTERN_NUM           12
- #define RTW_MAX_PATTERN_MASK_SIZE     16
-@@ -33,6 +32,7 @@
- #define RFREG_MASK                    0xfffff
- #define INV_RF_DATA                   0xffffffff
- #define TX_PAGE_SIZE_SHIFT            7
-+#define TX_PAGE_SIZE                  (1 << TX_PAGE_SIZE_SHIFT)
- #define RTW_CHANNEL_WIDTH_MAX         3
- #define RTW_RF_PATH_MAX                       4
-@@ -1232,6 +1232,7 @@ struct rtw_chip_info {
-       const char *wow_fw_name;
-       const struct wiphy_wowlan_support *wowlan_stub;
-       const u8 max_sched_scan_ssids;
-+      const u16 max_scan_ie_len;
-       /* coex paras */
-       u32 coex_para_ver;
-@@ -1853,6 +1854,7 @@ struct rtw_fw_state {
-       u8 sub_index;
-       u16 h2c_version;
-       u32 feature;
-+      u32 feature_ext;
- };
- enum rtw_sar_sources {
-diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723d.c b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-index 993bd6b1d723..0a4f770fcbb7 100644
---- a/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-@@ -2720,7 +2720,7 @@ const struct rtw_chip_info rtw8723d_hw_spec = {
-       .max_power_index = 0x3f,
-       .csi_buf_pg_num = 0,
-       .band = RTW_BAND_2G,
--      .page_size = 128,
-+      .page_size = TX_PAGE_SIZE,
-       .dig_min = 0x20,
-       .ht_supported = true,
-       .vht_supported = false,
-@@ -2748,6 +2748,7 @@ const struct rtw_chip_info rtw8723d_hw_spec = {
-       .pwr_track_tbl = &rtw8723d_rtw_pwr_track_tbl,
-       .iqk_threshold = 8,
-       .ampdu_density = IEEE80211_HT_MPDU_DENSITY_16,
-+      .max_scan_ie_len = IEEE80211_MAX_DATA_LEN,
-       .coex_para_ver = 0x2007022f,
-       .bt_desired_ver = 0x2f,
-diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-index 025262a8970e..9afdc5ce86b4 100644
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -1898,7 +1898,7 @@ const struct rtw_chip_info rtw8821c_hw_spec = {
-       .max_power_index = 0x3f,
-       .csi_buf_pg_num = 0,
-       .band = RTW_BAND_2G | RTW_BAND_5G,
--      .page_size = 128,
-+      .page_size = TX_PAGE_SIZE,
-       .dig_min = 0x1c,
-       .ht_supported = true,
-       .vht_supported = true,
-@@ -1926,6 +1926,7 @@ const struct rtw_chip_info rtw8821c_hw_spec = {
-       .bfer_su_max_num = 2,
-       .bfer_mu_max_num = 1,
-       .ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
-+      .max_scan_ie_len = IEEE80211_MAX_DATA_LEN,
-       .coex_para_ver = 0x19092746,
-       .bt_desired_ver = 0x46,
-diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822b.c b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-index 321848870561..690e35c98f6e 100644
---- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -2517,7 +2517,7 @@ const struct rtw_chip_info rtw8822b_hw_spec = {
-       .max_power_index = 0x3f,
-       .csi_buf_pg_num = 0,
-       .band = RTW_BAND_2G | RTW_BAND_5G,
--      .page_size = 128,
-+      .page_size = TX_PAGE_SIZE,
-       .dig_min = 0x1c,
-       .ht_supported = true,
-       .vht_supported = true,
-@@ -2549,6 +2549,7 @@ const struct rtw_chip_info rtw8822b_hw_spec = {
-       .l2h_th_ini_cs = 10 + EDCCA_IGI_BASE,
-       .l2h_th_ini_ad = -14 + EDCCA_IGI_BASE,
-       .ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
-+      .max_scan_ie_len = IEEE80211_MAX_DATA_LEN,
-       .coex_para_ver = 0x20070206,
-       .bt_desired_ver = 0x6,
-diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-index 09f9e4adcf34..fccb15dfb959 100644
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -5330,7 +5330,7 @@ const struct rtw_chip_info rtw8822c_hw_spec = {
-       .max_power_index = 0x7f,
-       .csi_buf_pg_num = 50,
-       .band = RTW_BAND_2G | RTW_BAND_5G,
--      .page_size = 128,
-+      .page_size = TX_PAGE_SIZE,
-       .dig_min = 0x20,
-       .default_1ss_tx_path = BB_PATH_A,
-       .path_div_supported = true,
-@@ -5375,6 +5375,7 @@ const struct rtw_chip_info rtw8822c_hw_spec = {
-       .wowlan_stub = &rtw_wowlan_stub_8822c,
-       .max_sched_scan_ssids = 4,
- #endif
-+      .max_scan_ie_len = (RTW_PROBE_PG_CNT - 1) * TX_PAGE_SIZE,
-       .coex_para_ver = 0x22020720,
-       .bt_desired_ver = 0x20,
-       .scbd_support = true,
--- 
-2.35.1
-