aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch')
-rw-r--r--package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch178
1 files changed, 0 insertions, 178 deletions
diff --git a/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch b/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch
deleted file mode 100644
index c9b0d82b64..0000000000
--- a/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From patchwork Sat Sep 17 20:27:10 2022
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
-X-Patchwork-Id: 12979245
-X-Patchwork-Delegate: kvalo@adurom.com
-Return-Path: <linux-wireless-owner@kernel.org>
-Date: Sat, 17 Sep 2022 21:27:10 +0100
-From: Daniel Golle <daniel@makrotopia.org>
-To: linux-wireless@vger.kernel.org, Stanislaw Gruszka <stf_xl@wp.pl>,
- Helmut Schaa <helmut.schaa@googlemail.com>
-Cc: Kalle Valo <kvalo@kernel.org>,
- "David S. Miller" <davem@davemloft.net>,
- Eric Dumazet <edumazet@google.com>,
- Jakub Kicinski <kuba@kernel.org>,
- Paolo Abeni <pabeni@redhat.com>,
- Johannes Berg <johannes.berg@intel.com>
-Subject: [PATCH v3 04/16] rt2x00: move up and reuse busy wait functions
-Message-ID:
- <3fdb9dc15e76a9f9c1948b4a3a1308a7a5677bb8.1663445157.git.daniel@makrotopia.org>
-References: <cover.1663445157.git.daniel@makrotopia.org>
-MIME-Version: 1.0
-Content-Disposition: inline
-In-Reply-To: <cover.1663445157.git.daniel@makrotopia.org>
-Precedence: bulk
-List-ID: <linux-wireless.vger.kernel.org>
-X-Mailing-List: linux-wireless@vger.kernel.org
-
-Move bbp_ready and rf_ready busy wait functions up in the code so they
-can more easily be used. Allow specifying register mask in rf_ready
-function which is useful for calibration routines which will be added
-in follow-up commits.
-
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
----
- .../net/wireless/ralink/rt2x00/rt2800lib.c | 99 +++++++++----------
- 1 file changed, 46 insertions(+), 53 deletions(-)
-
---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-@@ -2143,6 +2143,48 @@ void rt2800_config_erp(struct rt2x00_dev
- }
- EXPORT_SYMBOL_GPL(rt2800_config_erp);
-
-+static int rt2800_wait_bbp_rf_ready(struct rt2x00_dev *rt2x00dev,
-+ const struct rt2x00_field32 mask)
-+{
-+ unsigned int i;
-+ u32 reg;
-+
-+ for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
-+ reg = rt2800_register_read(rt2x00dev, MAC_STATUS_CFG);
-+ if (!rt2x00_get_field32(reg, mask))
-+ return 0;
-+
-+ udelay(REGISTER_BUSY_DELAY);
-+ }
-+
-+ rt2x00_err(rt2x00dev, "BBP/RF register access failed, aborting\n");
-+ return -EACCES;
-+}
-+
-+static int rt2800_wait_bbp_ready(struct rt2x00_dev *rt2x00dev)
-+{
-+ unsigned int i;
-+ u8 value;
-+
-+ /*
-+ * BBP was enabled after firmware was loaded,
-+ * but we need to reactivate it now.
-+ */
-+ rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0);
-+ rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0);
-+ msleep(1);
-+
-+ for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
-+ value = rt2800_bbp_read(rt2x00dev, 0);
-+ if ((value != 0xff) && (value != 0x00))
-+ return 0;
-+ udelay(REGISTER_BUSY_DELAY);
-+ }
-+
-+ rt2x00_err(rt2x00dev, "BBP register access failed, aborting\n");
-+ return -EACCES;
-+}
-+
- static void rt2800_config_3572bt_ant(struct rt2x00_dev *rt2x00dev)
- {
- u32 reg;
-@@ -3799,10 +3841,9 @@ static void rt2800_config_alc(struct rt2
- struct ieee80211_channel *chan,
- int power_level) {
- u16 eeprom, target_power, max_power;
-- u32 mac_sys_ctrl, mac_status;
-+ u32 mac_sys_ctrl;
- u32 reg;
- u8 bbp;
-- int i;
-
- /* hardware unit is 0.5dBm, limited to 23.5dBm */
- power_level *= 2;
-@@ -3838,16 +3879,8 @@ static void rt2800_config_alc(struct rt2
- /* Disable Tx/Rx */
- rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, 0);
- /* Check MAC Tx/Rx idle */
-- for (i = 0; i < 10000; i++) {
-- mac_status = rt2800_register_read(rt2x00dev, MAC_STATUS_CFG);
-- if (mac_status & 0x3)
-- usleep_range(50, 200);
-- else
-- break;
-- }
--
-- if (i == 10000)
-- rt2x00_warn(rt2x00dev, "Wait MAC Status to MAX !!!\n");
-+ if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev, MAC_STATUS_CFG_BBP_RF_BUSY)))
-+ rt2x00_warn(rt2x00dev, "RF busy while configuring ALC\n");
-
- if (chan->center_freq > 2457) {
- bbp = rt2800_bbp_read(rt2x00dev, 30);
-@@ -6275,46 +6308,6 @@ static int rt2800_init_registers(struct
- return 0;
- }
-
--static int rt2800_wait_bbp_rf_ready(struct rt2x00_dev *rt2x00dev)
--{
-- unsigned int i;
-- u32 reg;
--
-- for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
-- reg = rt2800_register_read(rt2x00dev, MAC_STATUS_CFG);
-- if (!rt2x00_get_field32(reg, MAC_STATUS_CFG_BBP_RF_BUSY))
-- return 0;
--
-- udelay(REGISTER_BUSY_DELAY);
-- }
--
-- rt2x00_err(rt2x00dev, "BBP/RF register access failed, aborting\n");
-- return -EACCES;
--}
--
--static int rt2800_wait_bbp_ready(struct rt2x00_dev *rt2x00dev)
--{
-- unsigned int i;
-- u8 value;
--
-- /*
-- * BBP was enabled after firmware was loaded,
-- * but we need to reactivate it now.
-- */
-- rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0);
-- rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0);
-- msleep(1);
--
-- for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
-- value = rt2800_bbp_read(rt2x00dev, 0);
-- if ((value != 0xff) && (value != 0x00))
-- return 0;
-- udelay(REGISTER_BUSY_DELAY);
-- }
--
-- rt2x00_err(rt2x00dev, "BBP register access failed, aborting\n");
-- return -EACCES;
--}
-
- static void rt2800_bbp4_mac_if_ctrl(struct rt2x00_dev *rt2x00dev)
- {
-@@ -9136,7 +9129,7 @@ int rt2800_enable_radio(struct rt2x00_de
- /*
- * Wait BBP/RF to wake up.
- */
-- if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev)))
-+ if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev, MAC_STATUS_CFG_BBP_RF_BUSY)))
- return -EIO;
-
- /*