mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-04 04:54:18 +00:00
36f6d6ddcd
Backport support for RTL8812AU/RTL8821AU USB adapters Manually backported patch: 045-v6.13-wifi-rtw88-Enable-the-new-RTL8821AU-RTL8812AU-driver Patches from 046 to 051 are pending. Signed-off-by: Marty Jones <mj8263788@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17079 [Move BPAUTO_WANT_DEV_COREDUMP to original patch] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
375 lines
12 KiB
Diff
375 lines
12 KiB
Diff
From 140403599b74839b0a57c5397b7e8579e5332364 Mon Sep 17 00:00:00 2001
|
|
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
|
Date: Wed, 18 Sep 2024 01:53:55 +0300
|
|
Subject: [PATCH] wifi: rtw88: Constify some arrays and structs
|
|
|
|
These are never modified, so make them const:
|
|
|
|
card_enable_flow_8703b
|
|
card_disable_flow_8703b
|
|
rtw8703b_ops
|
|
|
|
rtw8723d_ops
|
|
card_enable_flow_8723d
|
|
card_disable_flow_8723d
|
|
|
|
trans_carddis_to_cardemu_8821c
|
|
trans_cardemu_to_act_8821c
|
|
trans_act_to_cardemu_8821c
|
|
trans_cardemu_to_carddis_8821c
|
|
card_enable_flow_8821c
|
|
card_disable_flow_8821c
|
|
rtw8821c_dig
|
|
page_table_8821c
|
|
rqpn_table_8821c
|
|
prioq_addrs_8821c
|
|
rtw8821c_ops
|
|
|
|
card_enable_flow_8822b
|
|
card_disable_flow_8822b
|
|
prioq_addrs_8822b
|
|
rtw8822b_ops
|
|
rtw8822b_edcca_th
|
|
|
|
card_enable_flow_8822c
|
|
card_disable_flow_8822c
|
|
prioq_addrs_8822c
|
|
rtw8822c_ops
|
|
rtw8822c_edcca_th
|
|
|
|
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
|
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Link: https://patch.msgid.link/dae7994f-3491-40de-b537-ebf68df084bb@gmail.com
|
|
---
|
|
drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
|
|
drivers/net/wireless/realtek/rtw88/mac.c | 4 ++--
|
|
drivers/net/wireless/realtek/rtw88/main.h | 8 +++----
|
|
drivers/net/wireless/realtek/rtw88/phy.c | 2 +-
|
|
drivers/net/wireless/realtek/rtw88/rtw8703b.c | 6 ++---
|
|
drivers/net/wireless/realtek/rtw88/rtw8723d.c | 6 ++---
|
|
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 22 +++++++++----------
|
|
drivers/net/wireless/realtek/rtw88/rtw8822b.c | 10 ++++-----
|
|
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 10 ++++-----
|
|
9 files changed, 35 insertions(+), 35 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/realtek/rtw88/fw.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/fw.c
|
|
@@ -267,7 +267,7 @@ static void rtw_fw_scan_result(struct rt
|
|
static void rtw_fw_adaptivity_result(struct rtw_dev *rtwdev, u8 *payload,
|
|
u8 length)
|
|
{
|
|
- struct rtw_hw_reg_offset *edcca_th = rtwdev->chip->edcca_th;
|
|
+ const struct rtw_hw_reg_offset *edcca_th = rtwdev->chip->edcca_th;
|
|
struct rtw_c2h_adaptivity *result = (struct rtw_c2h_adaptivity *)payload;
|
|
|
|
rtw_dbg(rtwdev, RTW_DBG_ADAPTIVITY,
|
|
--- a/drivers/net/wireless/realtek/rtw88/mac.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
|
|
@@ -228,7 +228,7 @@ static int rtw_sub_pwr_seq_parser(struct
|
|
}
|
|
|
|
static int rtw_pwr_seq_parser(struct rtw_dev *rtwdev,
|
|
- const struct rtw_pwr_seq_cmd **cmd_seq)
|
|
+ const struct rtw_pwr_seq_cmd * const *cmd_seq)
|
|
{
|
|
u8 cut_mask;
|
|
u8 intf_mask;
|
|
@@ -271,7 +271,7 @@ static int rtw_pwr_seq_parser(struct rtw
|
|
static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
|
{
|
|
const struct rtw_chip_info *chip = rtwdev->chip;
|
|
- const struct rtw_pwr_seq_cmd **pwr_seq;
|
|
+ const struct rtw_pwr_seq_cmd * const *pwr_seq;
|
|
u32 imr = 0;
|
|
u8 rpwm;
|
|
bool cur_pwr;
|
|
--- a/drivers/net/wireless/realtek/rtw88/main.h
|
|
+++ b/drivers/net/wireless/realtek/rtw88/main.h
|
|
@@ -1167,7 +1167,7 @@ enum rtw_fwcd_item {
|
|
|
|
/* hardware configuration for each IC */
|
|
struct rtw_chip_info {
|
|
- struct rtw_chip_ops *ops;
|
|
+ const struct rtw_chip_ops *ops;
|
|
u8 id;
|
|
|
|
const char *fw_name;
|
|
@@ -1209,8 +1209,8 @@ struct rtw_chip_info {
|
|
|
|
/* init values */
|
|
u8 sys_func_en;
|
|
- const struct rtw_pwr_seq_cmd **pwr_on_seq;
|
|
- const struct rtw_pwr_seq_cmd **pwr_off_seq;
|
|
+ const struct rtw_pwr_seq_cmd * const *pwr_on_seq;
|
|
+ const struct rtw_pwr_seq_cmd * const *pwr_off_seq;
|
|
const struct rtw_rqpn *rqpn_table;
|
|
const struct rtw_prioq_addrs *prioq_addrs;
|
|
const struct rtw_page_table *page_table;
|
|
@@ -1242,7 +1242,7 @@ struct rtw_chip_info {
|
|
u8 bfer_su_max_num;
|
|
u8 bfer_mu_max_num;
|
|
|
|
- struct rtw_hw_reg_offset *edcca_th;
|
|
+ const struct rtw_hw_reg_offset *edcca_th;
|
|
s8 l2h_th_ini_cs;
|
|
s8 l2h_th_ini_ad;
|
|
|
|
--- a/drivers/net/wireless/realtek/rtw88/phy.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
|
|
@@ -123,7 +123,7 @@ static void rtw_phy_cck_pd_init(struct r
|
|
|
|
void rtw_phy_set_edcca_th(struct rtw_dev *rtwdev, u8 l2h, u8 h2l)
|
|
{
|
|
- struct rtw_hw_reg_offset *edcca_th = rtwdev->chip->edcca_th;
|
|
+ const struct rtw_hw_reg_offset *edcca_th = rtwdev->chip->edcca_th;
|
|
|
|
rtw_write32_mask(rtwdev,
|
|
edcca_th[EDCCA_TH_L2H_IDX].hw_reg.addr,
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8703b.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b.c
|
|
@@ -481,14 +481,14 @@ static const struct rtw_pwr_seq_cmd tran
|
|
{TRANS_SEQ_END},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_enable_flow_8703b[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_enable_flow_8703b[] = {
|
|
trans_pre_enable_8703b,
|
|
trans_carddis_to_cardemu_8703b,
|
|
trans_cardemu_to_act_8703b,
|
|
NULL
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_disable_flow_8703b[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_disable_flow_8703b[] = {
|
|
trans_act_to_lps_8703b,
|
|
trans_act_to_reset_mcu_8703b,
|
|
trans_act_to_cardemu_8703b,
|
|
@@ -1941,7 +1941,7 @@ static const struct coex_tdma_para tdma_
|
|
{ {0x61, 0x08, 0x03, 0x11, 0x11} },
|
|
};
|
|
|
|
-static struct rtw_chip_ops rtw8703b_ops = {
|
|
+static const struct rtw_chip_ops rtw8703b_ops = {
|
|
.mac_init = rtw8723x_mac_init,
|
|
.dump_fw_crash = NULL,
|
|
.shutdown = NULL,
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8723d.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
|
|
@@ -1430,7 +1430,7 @@ static void rtw8723d_pwr_track(struct rt
|
|
dm_info->pwr_trk_triggered = false;
|
|
}
|
|
|
|
-static struct rtw_chip_ops rtw8723d_ops = {
|
|
+static const struct rtw_chip_ops rtw8723d_ops = {
|
|
.phy_set_param = rtw8723d_phy_set_param,
|
|
.read_efuse = rtw8723x_read_efuse,
|
|
.query_rx_desc = rtw8723d_query_rx_desc,
|
|
@@ -1788,7 +1788,7 @@ static const struct rtw_pwr_seq_cmd tran
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_enable_flow_8723d[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_enable_flow_8723d[] = {
|
|
trans_carddis_to_cardemu_8723d,
|
|
trans_cardemu_to_act_8723d,
|
|
NULL
|
|
@@ -2004,7 +2004,7 @@ static const struct rtw_pwr_seq_cmd tran
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_disable_flow_8723d[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_disable_flow_8723d[] = {
|
|
trans_act_to_lps_8723d,
|
|
trans_act_to_pre_carddis_8723d,
|
|
trans_act_to_cardemu_8723d,
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
|
@@ -1254,7 +1254,7 @@ static void rtw8821c_fill_txdesc_checksu
|
|
fill_txdesc_checksum_common(txdesc, 16);
|
|
}
|
|
|
|
-static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8821c[] = {
|
|
{0x0086,
|
|
RTW_PWR_CUT_ALL_MSK,
|
|
RTW_PWR_INTF_SDIO_MSK,
|
|
@@ -1292,7 +1292,7 @@ static struct rtw_pwr_seq_cmd trans_card
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8821c[] = {
|
|
{0x0020,
|
|
RTW_PWR_CUT_ALL_MSK,
|
|
RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
|
|
@@ -1396,7 +1396,7 @@ static struct rtw_pwr_seq_cmd trans_card
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8821c[] = {
|
|
{0x0093,
|
|
RTW_PWR_CUT_ALL_MSK,
|
|
RTW_PWR_INTF_ALL_MSK,
|
|
@@ -1454,7 +1454,7 @@ static struct rtw_pwr_seq_cmd trans_act_
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8821c[] = {
|
|
{0x0007,
|
|
RTW_PWR_CUT_ALL_MSK,
|
|
RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
|
|
@@ -1567,13 +1567,13 @@ static struct rtw_pwr_seq_cmd trans_card
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_enable_flow_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_enable_flow_8821c[] = {
|
|
trans_carddis_to_cardemu_8821c,
|
|
trans_cardemu_to_act_8821c,
|
|
NULL
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_disable_flow_8821c[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_disable_flow_8821c[] = {
|
|
trans_act_to_cardemu_8821c,
|
|
trans_cardemu_to_carddis_8821c,
|
|
NULL
|
|
@@ -1629,7 +1629,7 @@ static const struct rtw_rfe_def rtw8821c
|
|
[6] = RTW_DEF_RFE(8821c, 0, 0),
|
|
};
|
|
|
|
-static struct rtw_hw_reg rtw8821c_dig[] = {
|
|
+static const struct rtw_hw_reg rtw8821c_dig[] = {
|
|
[0] = { .addr = 0xc50, .mask = 0x7f },
|
|
};
|
|
|
|
@@ -1639,7 +1639,7 @@ static const struct rtw_ltecoex_addr rtw
|
|
.rdata = LTECOEX_READ_DATA,
|
|
};
|
|
|
|
-static struct rtw_page_table page_table_8821c[] = {
|
|
+static const struct rtw_page_table page_table_8821c[] = {
|
|
/* not sure what [0] stands for */
|
|
{16, 16, 16, 14, 1},
|
|
{16, 16, 16, 14, 1},
|
|
@@ -1648,7 +1648,7 @@ static struct rtw_page_table page_table_
|
|
{16, 16, 16, 14, 1},
|
|
};
|
|
|
|
-static struct rtw_rqpn rqpn_table_8821c[] = {
|
|
+static const struct rtw_rqpn rqpn_table_8821c[] = {
|
|
/* not sure what [0] stands for */
|
|
{RTW_DMA_MAPPING_NORMAL, RTW_DMA_MAPPING_NORMAL,
|
|
RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
|
|
@@ -1667,7 +1667,7 @@ static struct rtw_rqpn rqpn_table_8821c[
|
|
RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},
|
|
};
|
|
|
|
-static struct rtw_prioq_addrs prioq_addrs_8821c = {
|
|
+static const struct rtw_prioq_addrs prioq_addrs_8821c = {
|
|
.prio[RTW_DMA_MAPPING_EXTRA] = {
|
|
.rsvd = REG_FIFOPAGE_INFO_4, .avail = REG_FIFOPAGE_INFO_4 + 2,
|
|
},
|
|
@@ -1683,7 +1683,7 @@ static struct rtw_prioq_addrs prioq_addr
|
|
.wsize = true,
|
|
};
|
|
|
|
-static struct rtw_chip_ops rtw8821c_ops = {
|
|
+static const struct rtw_chip_ops rtw8821c_ops = {
|
|
.phy_set_param = rtw8821c_phy_set_param,
|
|
.read_efuse = rtw8821c_read_efuse,
|
|
.query_rx_desc = rtw8821c_query_rx_desc,
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
|
|
@@ -1978,13 +1978,13 @@ static const struct rtw_pwr_seq_cmd tran
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_enable_flow_8822b[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_enable_flow_8822b[] = {
|
|
trans_carddis_to_cardemu_8822b,
|
|
trans_cardemu_to_act_8822b,
|
|
NULL
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_disable_flow_8822b[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_disable_flow_8822b[] = {
|
|
trans_act_to_cardemu_8822b,
|
|
trans_cardemu_to_carddis_8822b,
|
|
NULL
|
|
@@ -2156,7 +2156,7 @@ static const struct rtw_rqpn rqpn_table_
|
|
RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},
|
|
};
|
|
|
|
-static struct rtw_prioq_addrs prioq_addrs_8822b = {
|
|
+static const struct rtw_prioq_addrs prioq_addrs_8822b = {
|
|
.prio[RTW_DMA_MAPPING_EXTRA] = {
|
|
.rsvd = REG_FIFOPAGE_INFO_4, .avail = REG_FIFOPAGE_INFO_4 + 2,
|
|
},
|
|
@@ -2172,7 +2172,7 @@ static struct rtw_prioq_addrs prioq_addr
|
|
.wsize = true,
|
|
};
|
|
|
|
-static struct rtw_chip_ops rtw8822b_ops = {
|
|
+static const struct rtw_chip_ops rtw8822b_ops = {
|
|
.phy_set_param = rtw8822b_phy_set_param,
|
|
.read_efuse = rtw8822b_read_efuse,
|
|
.query_rx_desc = rtw8822b_query_rx_desc,
|
|
@@ -2521,7 +2521,7 @@ static const struct rtw_reg_domain coex_
|
|
{0xc50, MASKBYTE0, RTW_REG_DOMAIN_MAC8},
|
|
};
|
|
|
|
-static struct rtw_hw_reg_offset rtw8822b_edcca_th[] = {
|
|
+static const struct rtw_hw_reg_offset rtw8822b_edcca_th[] = {
|
|
[EDCCA_TH_L2H_IDX] = {{.addr = 0x8a4, .mask = MASKBYTE0}, .offset = 0},
|
|
[EDCCA_TH_H2L_IDX] = {{.addr = 0x8a4, .mask = MASKBYTE1}, .offset = 0},
|
|
};
|
|
--- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
|
|
@@ -4874,13 +4874,13 @@ static const struct rtw_pwr_seq_cmd tran
|
|
RTW_PWR_CMD_END, 0, 0},
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_enable_flow_8822c[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_enable_flow_8822c[] = {
|
|
trans_carddis_to_cardemu_8822c,
|
|
trans_cardemu_to_act_8822c,
|
|
NULL
|
|
};
|
|
|
|
-static const struct rtw_pwr_seq_cmd *card_disable_flow_8822c[] = {
|
|
+static const struct rtw_pwr_seq_cmd * const card_disable_flow_8822c[] = {
|
|
trans_act_to_cardemu_8822c,
|
|
trans_cardemu_to_carddis_8822c,
|
|
NULL
|
|
@@ -4972,7 +4972,7 @@ static const struct rtw_rqpn rqpn_table_
|
|
RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},
|
|
};
|
|
|
|
-static struct rtw_prioq_addrs prioq_addrs_8822c = {
|
|
+static const struct rtw_prioq_addrs prioq_addrs_8822c = {
|
|
.prio[RTW_DMA_MAPPING_EXTRA] = {
|
|
.rsvd = REG_FIFOPAGE_INFO_4, .avail = REG_FIFOPAGE_INFO_4 + 2,
|
|
},
|
|
@@ -4988,7 +4988,7 @@ static struct rtw_prioq_addrs prioq_addr
|
|
.wsize = true,
|
|
};
|
|
|
|
-static struct rtw_chip_ops rtw8822c_ops = {
|
|
+static const struct rtw_chip_ops rtw8822c_ops = {
|
|
.phy_set_param = rtw8822c_phy_set_param,
|
|
.read_efuse = rtw8822c_read_efuse,
|
|
.query_rx_desc = rtw8822c_query_rx_desc,
|
|
@@ -5301,7 +5301,7 @@ static const struct rtw_pwr_track_tbl rt
|
|
.pwrtrk_2g_ccka_p = rtw8822c_pwrtrk_2g_cck_a_p,
|
|
};
|
|
|
|
-static struct rtw_hw_reg_offset rtw8822c_edcca_th[] = {
|
|
+static const struct rtw_hw_reg_offset rtw8822c_edcca_th[] = {
|
|
[EDCCA_TH_L2H_IDX] = {
|
|
{.addr = 0x84c, .mask = MASKBYTE2}, .offset = 0x80
|
|
},
|