linux: rtw88: rebase for 6.1.28

This commit is contained in:
Rudi Heitbaum 2023-05-09 05:09:34 +00:00
parent 511c9abe98
commit 5b5e1dfb9e

View File

@ -657,7 +657,7 @@ diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 74f9d9a6d330..bba39d4565da 100644 index 74f9d9a6d330..bba39d4565da 100644
--- a/include/linux/mmc/sdio_ids.h --- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h +++ b/include/linux/mmc/sdio_ids.h
@@ -111,6 +111,15 @@ @@ -115,6 +115,15 @@
#define SDIO_VENDOR_ID_MICROCHIP_WILC 0x0296 #define SDIO_VENDOR_ID_MICROCHIP_WILC 0x0296
#define SDIO_DEVICE_ID_MICROCHIP_WILC1000 0x5347 #define SDIO_DEVICE_ID_MICROCHIP_WILC1000 0x5347
@ -1547,7 +1547,7 @@ diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/rea
index 4e5c194aac29..bf1291902661 100644 index 4e5c194aac29..bf1291902661 100644
--- a/drivers/net/wireless/realtek/rtw88/mac.c --- a/drivers/net/wireless/realtek/rtw88/mac.c
+++ b/drivers/net/wireless/realtek/rtw88/mac.c +++ b/drivers/net/wireless/realtek/rtw88/mac.c
@@ -269,15 +269,23 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on) @@ -273,16 +273,24 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
if (pwr_on == cur_pwr) if (pwr_on == cur_pwr)
return -EALREADY; return -EALREADY;
@ -1558,8 +1558,9 @@ index 4e5c194aac29..bf1291902661 100644
+ rtw_hci_power_switch(rtwdev, false); + rtw_hci_power_switch(rtwdev, false);
+ +
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq; pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
if (rtw_pwr_seq_parser(rtwdev, pwr_seq)) ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
return -EINVAL; if (ret)
return ret;
if (pwr_on) if (pwr_on)
set_bit(RTW_FLAG_POWERON, rtwdev->flags); set_bit(RTW_FLAG_POWERON, rtwdev->flags);
@ -1665,7 +1666,7 @@ diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/rea
index c04938691add..8e1fa824b32b 100644 index c04938691add..8e1fa824b32b 100644
--- a/drivers/net/wireless/realtek/rtw88/mac.c --- a/drivers/net/wireless/realtek/rtw88/mac.c
+++ b/drivers/net/wireless/realtek/rtw88/mac.c +++ b/drivers/net/wireless/realtek/rtw88/mac.c
@@ -1041,6 +1041,9 @@ static int txdma_queue_mapping(struct rtw_dev *rtwdev) @@ -1053,6 +1053,9 @@ static int txdma_queue_mapping(struct rtw_dev *rtwdev)
else else
return -EINVAL; return -EINVAL;
break; break;
@ -1675,7 +1676,7 @@ index c04938691add..8e1fa824b32b 100644
default: default:
return -EINVAL; return -EINVAL;
} }
@@ -1203,6 +1206,9 @@ static int priority_queue_cfg(struct rtw_dev *rtwdev) @@ -1215,6 +1218,9 @@ static int priority_queue_cfg(struct rtw_dev *rtwdev)
else else
return -EINVAL; return -EINVAL;
break; break;
@ -1830,8 +1831,8 @@ index 8e1fa824b32b..ad71f9838d1d 100644
+ u32 imr; + u32 imr;
u8 rpwm; u8 rpwm;
bool cur_pwr; bool cur_pwr;
int ret;
@@ -278,17 +301,24 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on) @@ -279,18 +302,25 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
*/ */
rtw_hci_power_switch(rtwdev, false); rtw_hci_power_switch(rtwdev, false);
@ -1839,10 +1840,11 @@ index 8e1fa824b32b..ad71f9838d1d 100644
+ rtw_write32(rtwdev, REG_SDIO_HIMR, 0); + rtw_write32(rtwdev, REG_SDIO_HIMR, 0);
+ +
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq; pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
- if (rtw_pwr_seq_parser(rtwdev, pwr_seq)) ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
+ if (rtw_pwr_seq_parser(rtwdev, pwr_seq)) { - if (ret)
+ if (ret) {
+ rtw_write32(rtwdev, REG_SDIO_HIMR, imr); + rtw_write32(rtwdev, REG_SDIO_HIMR, imr);
return -EINVAL; return ret;
+ } + }
if (pwr_on) if (pwr_on)
@ -1857,7 +1859,7 @@ index 8e1fa824b32b..ad71f9838d1d 100644
return 0; return 0;
} }
@@ -450,6 +480,9 @@ static void download_firmware_reg_backup(struct rtw_dev *rtwdev, @@ -462,6 +492,9 @@ static void download_firmware_reg_backup(struct rtw_dev *rtwdev,
rtw_write16(rtwdev, REG_FIFOPAGE_INFO_1, 0x200); rtw_write16(rtwdev, REG_FIFOPAGE_INFO_1, 0x200);
rtw_write32(rtwdev, REG_RQPN_CTRL_2, bckp[bckp_idx - 1].val); rtw_write32(rtwdev, REG_RQPN_CTRL_2, bckp[bckp_idx - 1].val);
@ -1867,7 +1869,7 @@ index 8e1fa824b32b..ad71f9838d1d 100644
/* Disable beacon related functions */ /* Disable beacon related functions */
tmp = rtw_read8(rtwdev, REG_BCN_CTRL); tmp = rtw_read8(rtwdev, REG_BCN_CTRL);
bckp[bckp_idx].len = 1; bckp[bckp_idx].len = 1;
@@ -1062,8 +1095,12 @@ static int txdma_queue_mapping(struct rtw_dev *rtwdev) @@ -1074,8 +1107,12 @@ static int txdma_queue_mapping(struct rtw_dev *rtwdev)
if (rtw_chip_wcpu_11ac(rtwdev)) if (rtw_chip_wcpu_11ac(rtwdev))
rtw_write32(rtwdev, REG_H2CQ_CSR, BIT_H2CQ_FULL); rtw_write32(rtwdev, REG_H2CQ_CSR, BIT_H2CQ_FULL);
@ -3611,7 +3613,7 @@ index 888427cf3bdf..9435cb43d1dc 100644
bool rtw_disable_lps_deep_mode; bool rtw_disable_lps_deep_mode;
EXPORT_SYMBOL(rtw_disable_lps_deep_mode); EXPORT_SYMBOL(rtw_disable_lps_deep_mode);
@@ -1783,6 +1784,10 @@ static int rtw_chip_parameter_setup(struct rtw_dev *rtwdev) @@ -1785,6 +1786,10 @@ static int rtw_chip_parameter_setup(struct rtw_dev *rtwdev)
rtwdev->hci.rpwm_addr = 0x03d9; rtwdev->hci.rpwm_addr = 0x03d9;
rtwdev->hci.cpwm_addr = 0x03da; rtwdev->hci.cpwm_addr = 0x03da;
break; break;
@ -3721,7 +3723,7 @@ diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/re
index 9435cb43d1dc..bcdf1f8c8450 100644 index 9435cb43d1dc..bcdf1f8c8450 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c --- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c +++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -2161,9 +2161,11 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw) @@ -2163,9 +2163,11 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw)
int max_tx_headroom = 0; int max_tx_headroom = 0;
int ret; int ret;