mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +00:00
Merge pull request #7833 from heitbaum/linux6128
[le11] linux: update to 6.1.y
This commit is contained in:
commit
7863fdfb90
@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}"
|
|||||||
|
|
||||||
case "${LINUX}" in
|
case "${LINUX}" in
|
||||||
amlogic)
|
amlogic)
|
||||||
PKG_VERSION="6449a0ba6843fe70523eeb7855984054f36f6d24" # 6.1.19
|
PKG_VERSION="7163dc197f14f1360506d97814fef17a51673293" # 6.1.36
|
||||||
PKG_SHA256="6a46c7b91028157d56437736cc8601fa46485e6f52bd6983e92ff80f17aa3065"
|
PKG_SHA256="18f6a5e57cb2ca021e500680784e757c9985a63f6301f2bea32ea5ebee8edaf0"
|
||||||
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
|
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
|
||||||
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||||
PKG_PATCH_DIRS="default"
|
PKG_PATCH_DIRS="default"
|
||||||
@ -29,8 +29,8 @@ case "${LINUX}" in
|
|||||||
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
PKG_VERSION="6.1.23"
|
PKG_VERSION="6.1.36"
|
||||||
PKG_SHA256="7458372e8750afe37fd1ac3e7ab3c22f2c6018f760f8134055a03f54aba3ebeb"
|
PKG_SHA256="d8ca0e300f30b9ff70c6e1497c638a1dac1407f45d3655e9c62c6e45a08afe6b"
|
||||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v${PKG_VERSION/.*/}.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
PKG_URL="https://www.kernel.org/pub/linux/kernel/v${PKG_VERSION/.*/}.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
PKG_PATCH_DIRS="default"
|
PKG_PATCH_DIRS="default"
|
||||||
;;
|
;;
|
||||||
|
@ -204,74 +204,3 @@ index 2a8336b1847a5..a10d6fef4ffaf 100644
|
|||||||
--
|
--
|
||||||
2.39.2
|
2.39.2
|
||||||
|
|
||||||
|
|
||||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
|
||||||
To: linux-wireless <linux-wireless@vger.kernel.org>
|
|
||||||
Cc: Hans Ulli Kroll <linux@ulli-kroll.de>,
|
|
||||||
Larry Finger <Larry.Finger@lwfinger.net>,
|
|
||||||
Pkshih <pkshih@realtek.com>, Tim K <tpkuester@gmail.com>,
|
|
||||||
"Alex G ." <mr.nuke.me@gmail.com>,
|
|
||||||
Nick Morrow <morrownr@gmail.com>,
|
|
||||||
Viktor Petrenko <g0000ga@gmail.com>,
|
|
||||||
Andreas Henriksson <andreas@fatal.se>,
|
|
||||||
ValdikSS <iam@valdikss.org.ru>, kernel@pengutronix.de,
|
|
||||||
stable@vger.kernel.org, Sascha Hauer <s.hauer@pengutronix.de>
|
|
||||||
Subject: [PATCH 2/2] wifi: rtw88: rtw8821c: Fix rfe_option field width
|
|
||||||
Date: Fri, 31 Mar 2023 14:10:54 +0200
|
|
||||||
Message-Id: <20230331121054.112758-3-s.hauer@pengutronix.de>
|
|
||||||
X-Mailer: git-send-email 2.39.2
|
|
||||||
In-Reply-To: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
|
||||||
References: <20230331121054.112758-1-s.hauer@pengutronix.de>
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
|
||||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
|
||||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
|
|
||||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
|
||||||
Precedence: bulk
|
|
||||||
List-ID: <linux-wireless.vger.kernel.org>
|
|
||||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
|
||||||
|
|
||||||
On my RTW8821CU chipset rfe_option reads as 0x22. Looking at the
|
|
||||||
downstream driver suggests that the field width of rfe_option is 5 bit,
|
|
||||||
so rfe_option should be masked with 0x1f.
|
|
||||||
|
|
||||||
Without this the rfe_option comparisons with 2 further down the
|
|
||||||
driver evaluate as false when they should really evaluate as true.
|
|
||||||
The effect is that 2G channels do not work.
|
|
||||||
|
|
||||||
rfe_option is also used as an array index into rtw8821c_rfe_defs[].
|
|
||||||
rtw8821c_rfe_defs[34] (0x22) was added as part of adding USB support,
|
|
||||||
likely because rfe_option reads as 0x22. As this now becomes 0x2,
|
|
||||||
rtw8821c_rfe_defs[34] is no longer used and can be removed.
|
|
||||||
|
|
||||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
|
||||||
---
|
|
||||||
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 3 +--
|
|
||||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
|
||||||
index 17f800f6efbd0..67efa58dd78ee 100644
|
|
||||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
|
||||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
|
|
||||||
@@ -47,7 +47,7 @@ static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
|
|
||||||
|
|
||||||
map = (struct rtw8821c_efuse *)log_map;
|
|
||||||
|
|
||||||
- efuse->rfe_option = map->rfe_option;
|
|
||||||
+ efuse->rfe_option = map->rfe_option & 0x1f;
|
|
||||||
efuse->rf_board_option = map->rf_board_option;
|
|
||||||
efuse->crystal_cap = map->xtal_k;
|
|
||||||
efuse->pa_type_2g = map->pa_type;
|
|
||||||
@@ -1537,7 +1537,6 @@ static const struct rtw_rfe_def rtw8821c_rfe_defs[] = {
|
|
||||||
[2] = RTW_DEF_RFE_EXT(8821c, 0, 0, 2),
|
|
||||||
[4] = RTW_DEF_RFE_EXT(8821c, 0, 0, 2),
|
|
||||||
[6] = RTW_DEF_RFE(8821c, 0, 0),
|
|
||||||
- [34] = RTW_DEF_RFE(8821c, 0, 0),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct rtw_hw_reg rtw8821c_dig[] = {
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -1,74 +0,0 @@
|
|||||||
From: Bastian Germann <bage@debian.org>
|
|
||||||
To: Rob Herring <robh+dt@kernel.org>,
|
|
||||||
Maxime Ripard <mripard@kernel.org>,
|
|
||||||
Chen-Yu Tsai <wens@csie.org>,
|
|
||||||
Marcel Holtmann <marcel@holtmann.org>,
|
|
||||||
Johan Hedberg <johan.hedberg@gmail.com>,
|
|
||||||
"David S . Miller" <davem@davemloft.net>,
|
|
||||||
Jakub Kicinski <kubakici@wp.pl>, devicetree@vger.kernel.org,
|
|
||||||
linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,
|
|
||||||
linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org
|
|
||||||
Cc: Vasily Khoruzhick <anarsoul@gmail.com>,
|
|
||||||
Bastian Germann <bage@debian.org>
|
|
||||||
Message-ID: <20220524212155.16944-2-bage@debian.org>
|
|
||||||
Subject: [PATCH v2 1/3] Bluetooth: Add new quirk for broken local ext features
|
|
||||||
max_page
|
|
||||||
Date: Tue, 24 May 2022 23:21:52 +0200
|
|
||||||
X-Mailer: git-send-email 2.36.1
|
|
||||||
In-Reply-To: <20220524212155.16944-1-bage@debian.org>
|
|
||||||
References: <20220524212155.16944-1-bage@debian.org>
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Precedence: bulk
|
|
||||||
List-ID: <netdev.vger.kernel.org>
|
|
||||||
X-Mailing-List: netdev@vger.kernel.org
|
|
||||||
X-Patchwork-Delegate: kuba@kernel.org
|
|
||||||
|
|
||||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
|
||||||
|
|
||||||
Some adapters (e.g. RTL8723CS) advertise that they have more than
|
|
||||||
2 pages for local ext features, but they don't support any features
|
|
||||||
declared in these pages. RTL8723CS reports max_page = 2 and declares
|
|
||||||
support for sync train and secure connection, but it responds with
|
|
||||||
either garbage or with error in status on corresponding commands.
|
|
||||||
|
|
||||||
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
|
||||||
[rebase on current tree]
|
|
||||||
Signed-off-by: Bastian Germann <bage@debian.org>
|
|
||||||
---
|
|
||||||
include/net/bluetooth/hci.h | 7 +++++++
|
|
||||||
net/bluetooth/hci_event.c | 4 +++-
|
|
||||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
|
|
||||||
index 69ef31cea582..af26e8051905 100644
|
|
||||||
--- a/include/net/bluetooth/hci.h
|
|
||||||
+++ b/include/net/bluetooth/hci.h
|
|
||||||
@@ -265,6 +265,13 @@ enum {
|
|
||||||
* during the hdev->setup vendor callback.
|
|
||||||
*/
|
|
||||||
HCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIG,
|
|
||||||
+
|
|
||||||
+ /* When this quirk is set, max_page for local extended features
|
|
||||||
+ * is set to 1, even if controller reports higher number. Some
|
|
||||||
+ * controllers (e.g. RTL8822BS, RTL8723CS) report more pages,
|
|
||||||
+ * but they don't actually support features declared there.
|
|
||||||
+ */
|
|
||||||
+ HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* HCI device flags */
|
|
||||||
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
|
|
||||||
index 66451661283c..52b358c33344 100644
|
|
||||||
--- a/net/bluetooth/hci_event.c
|
|
||||||
+++ b/net/bluetooth/hci_event.c
|
|
||||||
@@ -837,7 +837,9 @@ static u8 hci_cc_read_local_ext_features(struct hci_dev *hdev, void *data,
|
|
||||||
if (rp->status)
|
|
||||||
return rp->status;
|
|
||||||
|
|
||||||
- if (hdev->max_page < rp->max_page)
|
|
||||||
+ if (!test_bit(HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE,
|
|
||||||
+ &hdev->quirks) &&
|
|
||||||
+ hdev->max_page < rp->max_page)
|
|
||||||
hdev->max_page = rp->max_page;
|
|
||||||
|
|
||||||
if (rp->page < HCI_MAX_PAGES)
|
|
@ -0,0 +1,48 @@
|
|||||||
|
From 32206b30a6b4333ce50d6443585f7b9b65323ef1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
Date: Sun, 14 May 2023 05:16:12 +0000
|
||||||
|
Subject: [PATCH v2] Bluetooth: btrtl: Add support for RTL8822BS UART
|
||||||
|
|
||||||
|
Add a RTL8822BS UART with hci_ver = 0x07. This is similar to RTL8822CS
|
||||||
|
observed on the Tanix TX6 Android set-top box. But the previous
|
||||||
|
generation of chip. The RTL8822BS requires the
|
||||||
|
BROKEN_LOCAL_EXT_FEATURES_PAGE_2 quirk.
|
||||||
|
|
||||||
|
Reported-by: kernel test robot <lkp@intel.com>
|
||||||
|
Closes: https://lore.kernel.org/oe-kbuild-all/202305141828.USyPW8CP-lkp@intel.com/
|
||||||
|
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
---
|
||||||
|
drivers/bluetooth/btrtl.c | 13 ++++++++++++-
|
||||||
|
1 files changed, 12 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
|
||||||
|
index 2915c82d719d..8368858dda70 100644
|
||||||
|
--- a/drivers/bluetooth/btrtl.c
|
||||||
|
+++ b/drivers/bluetooth/btrtl.c
|
||||||
|
@@ -234,7 +234,15 @@ static const struct id_table ic_id_table[] = {
|
||||||
|
.fw_name = "rtl_bt/rtl8822cu_fw.bin",
|
||||||
|
.cfg_name = "rtl_bt/rtl8822cu_config" },
|
||||||
|
|
||||||
|
- /* 8822B */
|
||||||
|
+ /* 8822BS with UART interface */
|
||||||
|
+ { IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_UART),
|
||||||
|
+ .config_needed = true,
|
||||||
|
+ .has_rom_version = true,
|
||||||
|
+ .has_msft_ext = true,
|
||||||
|
+ .fw_name = "rtl_bt/rtl8822bs_fw.bin",
|
||||||
|
+ .cfg_name = "rtl_bt/rtl8822bs_config" },
|
||||||
|
+
|
||||||
|
+ /* 8822BU with USB interface */
|
||||||
|
{ IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_USB),
|
||||||
|
.config_needed = true,
|
||||||
|
.has_rom_version = true,
|
||||||
|
@@ -1182,6 +1190,9 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
|
||||||
|
|
||||||
|
hci_set_aosp_capable(hdev);
|
||||||
|
break;
|
||||||
|
+ case CHIP_ID_8822B:
|
||||||
|
+ set_bit(HCI_QUIRK_BROKEN_LOCAL_EXT_FEATURES_PAGE_2, &hdev->quirks);
|
||||||
|
+ fallthrough;
|
||||||
|
default:
|
||||||
|
rtl_dev_dbg(hdev, "Central-peripheral role not enabled.");
|
||||||
|
rtl_dev_dbg(hdev, "WBS supported not enabled.");
|
@ -1,63 +0,0 @@
|
|||||||
From db71696da000fd8cc7db992940fcb922e771b3d0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rudi Heitbaum <rudi@heitbaum.com>
|
|
||||||
Date: Sun, 8 Jan 2023 04:22:27 +0000
|
|
||||||
Subject: [PATCH 1/2] Bluetooth: btrtl: Add support for RTL8822BS UART
|
|
||||||
|
|
||||||
Add a RTL8822BS UART with hci_ver = 0x07. This is similar to RTL8822CS
|
|
||||||
observed on the Tanix TX6 Android set-top box. But the previous
|
|
||||||
generation of chip.
|
|
||||||
|
|
||||||
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
|
|
||||||
---
|
|
||||||
drivers/bluetooth/btrtl.c | 10 +++++++++-
|
|
||||||
drivers/bluetooth/hci_h5.c | 6 ++++++
|
|
||||||
2 files changed, 15 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
|
|
||||||
index fb52313a1d45..011857e303b6 100644
|
|
||||||
--- a/drivers/bluetooth/btrtl.c
|
|
||||||
+++ b/drivers/bluetooth/btrtl.c
|
|
||||||
@@ -174,7 +174,15 @@ static const struct id_table ic_id_table[] = {
|
|
||||||
.fw_name = "rtl_bt/rtl8822cu_fw.bin",
|
|
||||||
.cfg_name = "rtl_bt/rtl8822cu_config" },
|
|
||||||
|
|
||||||
- /* 8822B */
|
|
||||||
+ /* 8822BS with UART interface */
|
|
||||||
+ { IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_UART),
|
|
||||||
+ .config_needed = true,
|
|
||||||
+ .has_rom_version = true,
|
|
||||||
+ .has_msft_ext = true,
|
|
||||||
+ .fw_name = "rtl_bt/rtl8822bs_fw.bin",
|
|
||||||
+ .cfg_name = "rtl_bt/rtl8822bs_config" },
|
|
||||||
+
|
|
||||||
+ /* 8822BU with USB interface */
|
|
||||||
{ IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_USB),
|
|
||||||
.config_needed = true,
|
|
||||||
.has_rom_version = true,
|
|
||||||
diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
|
|
||||||
index c5a0409ef84f..a8bc2097bc2c 100644
|
|
||||||
--- a/drivers/bluetooth/hci_h5.c
|
|
||||||
+++ b/drivers/bluetooth/hci_h5.c
|
|
||||||
@@ -1068,6 +1068,10 @@ static struct h5_vnd rtl_vnd = {
|
|
||||||
.acpi_gpio_map = acpi_btrtl_gpios,
|
|
||||||
};
|
|
||||||
|
|
||||||
+static const struct h5_device_data h5_data_rtl8822bs = {
|
|
||||||
+ .vnd = &rtl_vnd,
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
static const struct h5_device_data h5_data_rtl8822cs = {
|
|
||||||
.vnd = &rtl_vnd,
|
|
||||||
};
|
|
||||||
@@ -1096,6 +1100,8 @@ static const struct dev_pm_ops h5_serdev_pm_ops = {
|
|
||||||
|
|
||||||
static const struct of_device_id rtl_bluetooth_of_match[] = {
|
|
||||||
#ifdef CONFIG_BT_HCIUART_RTL
|
|
||||||
+ { .compatible = "realtek,rtl8822bs-bt",
|
|
||||||
+ .data = (const void *)&h5_data_rtl8822bs },
|
|
||||||
{ .compatible = "realtek,rtl8822cs-bt",
|
|
||||||
.data = (const void *)&h5_data_rtl8822cs },
|
|
||||||
{ .compatible = "realtek,rtl8723bs-bt",
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From ff42342f60874ac772edc5e5af25836b1d304a3d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rudi Heitbaum <rudi@heitbaum.com>
|
|
||||||
Date: Mon, 9 Jan 2023 00:35:55 +0000
|
|
||||||
Subject: [PATCH 2/2] arm64: dts: allwinner: h6: tanix-tx6: Add compatible
|
|
||||||
bluetooth
|
|
||||||
|
|
||||||
Tanix TX6 comes either with RTL8822BS or RTL8822CS wifi+bt combo module.
|
|
||||||
Add compatible for RTL8822BS as it uses different firmware.
|
|
||||||
|
|
||||||
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
|
|
||||||
---
|
|
||||||
arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
|
|
||||||
index 9a38ff9b3fc7..9460ccbc247d 100644
|
|
||||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
|
|
||||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
|
|
||||||
@@ -21,7 +21,7 @@ &uart1 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
bluetooth {
|
|
||||||
- compatible = "realtek,rtl8822cs-bt";
|
|
||||||
+ compatible = "realtek,rtl8822bs-bt", "realtek,rtl8822cs-bt";
|
|
||||||
device-wake-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
|
|
||||||
host-wake-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
|
|
||||||
enable-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 2dafb9ddd4488521026d4a29e49164f1df108cef Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rudi Heitbaum <rudi@heitbaum.com>
|
|
||||||
Date: Mon, 9 Jan 2023 07:47:01 +0000
|
|
||||||
Subject: [PATCH] Bluetooth: btrtl: set HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE
|
|
||||||
for RTL8822BS
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/bluetooth/btrtl.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
|
|
||||||
index 011857e303b6..c889b405c9aa 100644
|
|
||||||
--- a/drivers/bluetooth/btrtl.c
|
|
||||||
+++ b/drivers/bluetooth/btrtl.c
|
|
||||||
@@ -791,6 +791,8 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
|
|
||||||
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
|
|
||||||
hci_set_aosp_capable(hdev);
|
|
||||||
break;
|
|
||||||
+ case CHIP_ID_8822B:
|
|
||||||
+ set_bit(HCI_QUIRK_BROKEN_LOCAL_EXT_FTR_MAX_PAGE, &hdev->quirks);
|
|
||||||
default:
|
|
||||||
rtl_dev_dbg(hdev, "Central-peripheral role not enabled.");
|
|
||||||
rtl_dev_dbg(hdev, "WBS supported not enabled.");
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
From eb87fb2d9f172769fadab83e148d3138c2a2031b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
|
||||||
Date: Wed, 1 Mar 2023 12:48:28 +0000
|
|
||||||
Subject: [PATCH 013/120] FROMGIT(FIXES): drm/meson: fix 1px pink line on GXM
|
|
||||||
when scaling video overlay
|
|
||||||
|
|
||||||
Playing media with a resolution smaller than the crtc size requires the
|
|
||||||
video overlay to be scaled for output and GXM boards display a 1px pink
|
|
||||||
line on the bottom of the scaled overlay. Comparing with the downstream
|
|
||||||
vendor driver revealed VPP_DUMMY_DATA not being set [0].
|
|
||||||
|
|
||||||
Setting VPP_DUMMY_DATA prevents the 1px pink line from being seen.
|
|
||||||
|
|
||||||
[0] https://github.com/endlessm/linux-s905x/blob/master/drivers/amlogic/amports/video.c#L7869
|
|
||||||
|
|
||||||
Fixes: bbbe775ec5b5 ("drm: Add support for Amlogic Meson Graphic Controller")
|
|
||||||
Suggested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
||||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/meson/meson_vpp.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/meson/meson_vpp.c b/drivers/gpu/drm/meson/meson_vpp.c
|
|
||||||
index 154837688ab0..5df1957c8e41 100644
|
|
||||||
--- a/drivers/gpu/drm/meson/meson_vpp.c
|
|
||||||
+++ b/drivers/gpu/drm/meson/meson_vpp.c
|
|
||||||
@@ -100,6 +100,8 @@ void meson_vpp_init(struct meson_drm *priv)
|
|
||||||
priv->io_base + _REG(VPP_DOLBY_CTRL));
|
|
||||||
writel_relaxed(0x1020080,
|
|
||||||
priv->io_base + _REG(VPP_DUMMY_DATA1));
|
|
||||||
+ writel_relaxed(0x42020,
|
|
||||||
+ priv->io_base + _REG(VPP_DUMMY_DATA));
|
|
||||||
} else if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A))
|
|
||||||
writel_relaxed(0xf, priv->io_base + _REG(DOLBY_PATH_CTRL));
|
|
||||||
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From df65d487bb29ae0489c9794428ce57383471c6d7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergey Shtylyov <s.shtylyov@omp.ru>
|
|
||||||
Date: Fri, 24 Dec 2021 06:09:57 +0000
|
|
||||||
Subject: [PATCH 050/120] FROMLIST(v1): mmc: meson-gx: fix deferred probing
|
|
||||||
|
|
||||||
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
|
|
||||||
to -EINVAL, so if it returns -EPROBE_DEFER, the driver will fail the probe
|
|
||||||
permanently instead of the deferred probing. Switch to propagating the error
|
|
||||||
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
|
|
||||||
can safely ignore it...
|
|
||||||
|
|
||||||
Fixes: cbcaac6d7dd2 ("mmc: meson-gx-mmc: Fix platform_get_irq's error checking")
|
|
||||||
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
|
|
||||||
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
||||||
---
|
|
||||||
drivers/mmc/host/meson-gx-mmc.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
|
|
||||||
index a1051a853f91..ab504c938448 100644
|
|
||||||
--- a/drivers/mmc/host/meson-gx-mmc.c
|
|
||||||
+++ b/drivers/mmc/host/meson-gx-mmc.c
|
|
||||||
@@ -1219,8 +1219,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
|
|
||||||
}
|
|
||||||
|
|
||||||
host->irq = platform_get_irq(pdev, 0);
|
|
||||||
- if (host->irq <= 0) {
|
|
||||||
- ret = -EINVAL;
|
|
||||||
+ if (host->irq < 0) {
|
|
||||||
+ ret = host->irq;
|
|
||||||
goto free_host;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86 6.1.0-rc6 Kernel Configuration
|
# Linux/x86 6.1.30 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="x86_64-libreelec-linux-gnu-gcc-12.2.0 (GCC) 12.2.0"
|
CONFIG_CC_VERSION_TEXT="x86_64-libreelec-linux-gnu-gcc-12.2.0 (GCC) 12.2.0"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
@ -5917,9 +5917,10 @@ CONFIG_AMD_PMF=m
|
|||||||
# CONFIG_FUJITSU_LAPTOP is not set
|
# CONFIG_FUJITSU_LAPTOP is not set
|
||||||
# CONFIG_FUJITSU_TABLET is not set
|
# CONFIG_FUJITSU_TABLET is not set
|
||||||
# CONFIG_GPD_POCKET_FAN is not set
|
# CONFIG_GPD_POCKET_FAN is not set
|
||||||
|
CONFIG_X86_PLATFORM_DRIVERS_HP=y
|
||||||
# CONFIG_HP_ACCEL is not set
|
# CONFIG_HP_ACCEL is not set
|
||||||
# CONFIG_WIRELESS_HOTKEY is not set
|
|
||||||
# CONFIG_HP_WMI is not set
|
# CONFIG_HP_WMI is not set
|
||||||
|
# CONFIG_WIRELESS_HOTKEY is not set
|
||||||
# CONFIG_IBM_RTL is not set
|
# CONFIG_IBM_RTL is not set
|
||||||
# CONFIG_IDEAPAD_LAPTOP is not set
|
# CONFIG_IDEAPAD_LAPTOP is not set
|
||||||
# CONFIG_SENSORS_HDAPS is not set
|
# CONFIG_SENSORS_HDAPS is not set
|
||||||
|
@ -1520,9 +1520,9 @@ index 66fee351f4a7..d6d8f3335813 100644
|
|||||||
|
|
||||||
- dw_hdmi_unbind(hdmi->hdmi);
|
- dw_hdmi_unbind(hdmi->hdmi);
|
||||||
+ dw_hdmi_remove(hdmi->hdmi);
|
+ dw_hdmi_remove(hdmi->hdmi);
|
||||||
|
drm_encoder_cleanup(&hdmi->encoder.encoder);
|
||||||
clk_disable_unprepare(hdmi->ref_clk);
|
clk_disable_unprepare(hdmi->ref_clk);
|
||||||
|
|
||||||
regulator_disable(hdmi->avdd_1v8);
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user