kernel 5.16, bcm4355c1 Bluetooth

This commit is contained in:
Redecorating
2022-01-11 13:27:52 +11:00
parent f2f8ba0c4d
commit dcbcccf585
8 changed files with 167 additions and 65 deletions
@@ -140,7 +140,7 @@ index 79b498f816fe..62211b590a61 100644
if (cache->valid) if (cache->valid)
goto out; goto out;
@@ -394,20 +402,21 @@ static const struct applesmc_entry *applesmc_get_entry_by_index(int index) @@ -394,20 +402,21 @@ static const struct applesmc_entry *applesmc_get_entry_by_index(int index)
cache->valid = 1; cache->valid = true;
out: out:
- mutex_unlock(&smcreg.mutex); - mutex_unlock(&smcreg.mutex);
+1 -1
View File
@@ -290,7 +290,7 @@ index bdaaf696f7b6..3017d8ca2c79 100644
- cache->len = info[0]; - cache->len = info[0];
- memcpy(cache->type, &info[1], 4); - memcpy(cache->type, &info[1], 4);
- cache->flags = info[5]; - cache->flags = info[5];
cache->valid = 1; cache->valid = true;
out: out:
-- --
@@ -29,7 +29,7 @@ index 6b8f0d004d34..e03a621bc741 100644
/* /*
@@ -30,6 +31,7 @@ @@ -30,6 +31,7 @@
#define APPLE_INVERT_HWHEEL 0x0040 #define APPLE_INVERT_HWHEEL 0x0040
#define APPLE_IGNORE_HIDINPUT 0x0080 /* 0x0080 reserved, was: APPLE_IGNORE_HIDINPUT */
#define APPLE_NUMLOCK_EMULATION 0x0100 #define APPLE_NUMLOCK_EMULATION 0x0100
+#define APPLE_BACKLIGHT_CTL 0x0200 +#define APPLE_BACKLIGHT_CTL 0x0200
@@ -3,6 +3,10 @@ From: Orlando Chamberlain <redecorating@protonmail.com>
Date: Tue, 28 Sep 2021 20:41:35 +1000 Date: Tue, 28 Sep 2021 20:41:35 +1000
Subject: [PATCH] bluetooth: add disable read tx power quirk Subject: [PATCH] bluetooth: add disable read tx power quirk
150 seems to be BCM4364b3
123 seems to be BCM4364b2 (doesn't have this issue)
133 seems to be BCM4355c1
--- ---
drivers/bluetooth/btbcm.c | 4 ++++ drivers/bluetooth/btbcm.c | 4 ++++
include/net/bluetooth/hci.h | 9 +++++++++ include/net/bluetooth/hci.h | 9 +++++++++
@@ -18,7 +22,7 @@ index e4182acee488..4ecc50d93107 100644
bt_dev_info(hdev, "BCM: chip id %u", skb->data[1]); bt_dev_info(hdev, "BCM: chip id %u", skb->data[1]);
+ +
+ if (skb->data[1] == 150) + if ((skb->data[1] == 150)||(skb->data[1] == 133))
+ set_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks); + set_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks);
+ +
kfree_skb(skb); kfree_skb(skb);
@@ -54,7 +58,7 @@ index 8a47a3017d61..9a23fe7c8d67 100644
- if (hdev->commands[38] & 0x80) { - if (hdev->commands[38] & 0x80) {
+ if (hdev->commands[38] & 0x80 && + if (hdev->commands[38] & 0x80 &&
+ !test_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks)) { + !test_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks)) {
/* Read LE Min/Max Tx Power*/ /* Read LE Min/Max Tx Power*/
hci_req_add(req, HCI_OP_LE_READ_TRANSMIT_POWER, hci_req_add(req, HCI_OP_LE_READ_TRANSMIT_POWER,
0, NULL); 0, NULL);
-22
View File
@@ -1,22 +0,0 @@
From 76d8253d90233b2c2d3fbc82355c603bf0eb9964 Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@live.com>
Date: Fri, 1 Oct 2021 13:30:19 +0530
Subject: [PATCH] Add support for MacBookPro16,2 UART
---
drivers/mfd/intel-lpss-pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
index c54d19fb1..33d5043fd 100644
--- a/drivers/mfd/intel-lpss-pci.c
+++ b/drivers/mfd/intel-lpss-pci.c
@@ -253,6 +253,8 @@ static const struct pci_device_id intel_lpss_pci_ids[] = {
{ PCI_VDEVICE(INTEL, 0x34ea), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x34eb), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x34fb), (kernel_ulong_t)&spt_info },
+ /* ICL-N */
+ { PCI_VDEVICE(INTEL, 0x38a8), (kernel_ulong_t)&spt_uart_info },
/* TGL-H */
{ PCI_VDEVICE(INTEL, 0x43a7), (kernel_ulong_t)&bxt_uart_info },
{ PCI_VDEVICE(INTEL, 0x43a8), (kernel_ulong_t)&bxt_uart_info },
@@ -0,0 +1,43 @@
From 64dad24333ddb290f4e2f6c489abe03247030320 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <redecorating@protonmail.com>
Date: Wed, 24 Nov 2021 09:19:44 +0000
Subject: [PATCHv2] mfd: intel-lpss-pci: fix clock speed for 38a8 UART
This device is found in the MacBookPro16,2, and as the MacBookPro16,1 is
from the same generation of MacBooks and has a UART with bxt_uart_info,
it was incorrectly assumed that the MacBookPro16,2's UART would have the
same info.
This led to the wrong clock speed being used, and the Bluetooth
controller exposed by the UART receiving and sending random data, which
was incorrectly assumed to be an issue with the Bluetooth stuff, not an
error with the UART side of things.
Changing the info to spt_uart_info changes the clock speed and makes it
send and receive data correctly.
Fixes: ddb1ada416fd ("mfd: intel-lpss: Add support for MacBookPro16,2 ICL-N UART")
Signed-off-by: Orlando Chamberlain <redecorating@protonmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v1 -> v2: Remove blank line in tag block, add Reviewed-by.
drivers/mfd/intel-lpss-pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
index a872b4485eac..f70464ce8e3d 100644
--- a/drivers/mfd/intel-lpss-pci.c
+++ b/drivers/mfd/intel-lpss-pci.c
@@ -254,7 +254,7 @@ static const struct pci_device_id intel_lpss_pci_ids[] = {
{ PCI_VDEVICE(INTEL, 0x34eb), (kernel_ulong_t)&bxt_i2c_info },
{ PCI_VDEVICE(INTEL, 0x34fb), (kernel_ulong_t)&spt_info },
/* ICL-N */
- { PCI_VDEVICE(INTEL, 0x38a8), (kernel_ulong_t)&bxt_uart_info },
+ { PCI_VDEVICE(INTEL, 0x38a8), (kernel_ulong_t)&spt_uart_info },
/* TGL-H */
{ PCI_VDEVICE(INTEL, 0x43a7), (kernel_ulong_t)&bxt_uart_info },
{ PCI_VDEVICE(INTEL, 0x43a8), (kernel_ulong_t)&bxt_uart_info },
--
2.34.0
+9 -9
View File
@@ -4,7 +4,7 @@
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgbase=linux-t2 pkgbase=linux-t2
pkgver=5.15.13 pkgver=5.16
_srcname=linux-${pkgver} _srcname=linux-${pkgver}
pkgrel=1 pkgrel=1
pkgdesc='Linux kernel for T2 Macs' pkgdesc='Linux kernel for T2 Macs'
@@ -106,7 +106,7 @@ source=(
# Broadcom BT device support # Broadcom BT device support
9001-bluetooth-add-disable-read-tx-power-quirk.patch 9001-bluetooth-add-disable-read-tx-power-quirk.patch
9002-add-bluetooth-support-for-16,2.patch 9002-mfd-intel-lpss-pci-fix-clock-speed-for-38a8-UART.patch
9003-mfd-intel-lpss-Fix-too-early-PM-enablement-in-the-AC.patch 9003-mfd-intel-lpss-Fix-too-early-PM-enablement-in-the-AC.patch
@@ -293,9 +293,9 @@ for _p in "${pkgname[@]}"; do
}" }"
done done
sha256sums=('0a131b6a2f9f5ee37ecb332b5459ab35a87f0bf2d4ec923988d0663646cf156a' sha256sums=('027d7e8988bb69ac12ee92406c3be1fe13f990b1ca2249e226225cd1573308bb'
'SKIP' 'SKIP'
'324a9d46c2338806a0c3ce0880c8d5e85c2ef30d342af3dc96f87b54fae7a586' '7cbba374356a189faac71001c5344ce8f02434684b1ce1accefc0cc4bd6718e5'
'6b4da532421cac5600d09c0c52742aa52d848af098f7853abe60c02e9d0a3752' '6b4da532421cac5600d09c0c52742aa52d848af098f7853abe60c02e9d0a3752'
'2184069ab00ef43d9674756e9b7a56d15188bc4494d34425f04ddc779c52acd8' '2184069ab00ef43d9674756e9b7a56d15188bc4494d34425f04ddc779c52acd8'
'SKIP' 'SKIP'
@@ -303,14 +303,14 @@ sha256sums=('0a131b6a2f9f5ee37ecb332b5459ab35a87f0bf2d4ec923988d0663646cf156a'
'b7c987889d92a48d638d5258842b10f6c856e57f29ad23475aa507c7b4ad5710' 'b7c987889d92a48d638d5258842b10f6c856e57f29ad23475aa507c7b4ad5710'
'0e371fe1efd1ec422f89439a2befb5a0c3dd28c9e60780f55493d9699c6ebc0e' '0e371fe1efd1ec422f89439a2befb5a0c3dd28c9e60780f55493d9699c6ebc0e'
'786dfc22e4c6ece883e7dedd0ba3f6c14018584df95450b2cb78f3da8b01f7cb' '786dfc22e4c6ece883e7dedd0ba3f6c14018584df95450b2cb78f3da8b01f7cb'
'7366a08383900a09f8e742b1e4f0a02e0839a385e68e70a89d1815c197df3300' 'cfd23a06797ac86575044428a393dd7f10f06eff7648d0b78aedad82cbe41279'
'8d8401a99a9dfbc41aa2dc5b6a409a19860b1b918465e19de4a4ff18de075ea3' '8d8401a99a9dfbc41aa2dc5b6a409a19860b1b918465e19de4a4ff18de075ea3'
'08d165106fe35b68a7b48f216566951a5db0baac19098c015bcc81c5fcba678d' '08d165106fe35b68a7b48f216566951a5db0baac19098c015bcc81c5fcba678d'
'459906cab172df9f6712a4168e7a5d529f85b2bb58a068f2d44746df14a6d27a' '62f6d63815d4843ca893ca76b84a9d32590a50358ca0962017ccd75a40884ba8'
'2827dab6eeb2d2a08034938024f902846b5813e967a0ea253dc1ea88315da383' '2827dab6eeb2d2a08034938024f902846b5813e967a0ea253dc1ea88315da383'
'398dec7d54c6122ae2263cd5a6d52353800a1a60fd85e52427c372ea9974a625' '398dec7d54c6122ae2263cd5a6d52353800a1a60fd85e52427c372ea9974a625'
'80198d668e894656cd6a13fad5e55dfc22a242fa5919da8e29efeed55ed061ef' '80198d668e894656cd6a13fad5e55dfc22a242fa5919da8e29efeed55ed061ef'
'11565cff9c6a7db8846dc7d5930419045e9527863b8df5979a7465006211bd16' '1366719f62b2d698693b31916569f1178f3d1b0a66e747b7f40f1389edceff07'
'83f4be6849ba4d5f9fad647ad2eb78bf6409ee98a40ac62e8a5b80496233d70a' '83f4be6849ba4d5f9fad647ad2eb78bf6409ee98a40ac62e8a5b80496233d70a'
'44bd3643b2b22fedc59d79511199f30ce6759fa0acdd9a66262a53c5e046da6b' '44bd3643b2b22fedc59d79511199f30ce6759fa0acdd9a66262a53c5e046da6b'
'eb04a492197783643b3e72b1d0cf0e856290381997bd165a14fbc63ac1489c25' 'eb04a492197783643b3e72b1d0cf0e856290381997bd165a14fbc63ac1489c25'
@@ -355,6 +355,6 @@ sha256sums=('0a131b6a2f9f5ee37ecb332b5459ab35a87f0bf2d4ec923988d0663646cf156a'
'ecede30aa68ea4646d3efb0a7190466ff1784f4e93756a04bb58756536f28035' 'ecede30aa68ea4646d3efb0a7190466ff1784f4e93756a04bb58756536f28035'
'0bed877897873ae86e512d711b86fa11adc5b8e7fe35139e290e8d0a0133f6a5' '0bed877897873ae86e512d711b86fa11adc5b8e7fe35139e290e8d0a0133f6a5'
'23f4a7002632f95abb1ed75a4df0570b7a81e5cf4067a16da7101b16eb582a01' '23f4a7002632f95abb1ed75a4df0570b7a81e5cf4067a16da7101b16eb582a01'
'31e414978a947bdb71f27ed364c4da73b81fcf1921250cb69ee1bcf2bbd25636' '541043c30198baa7e026261d150748de057f0499720e6568da3cc4560090ff29'
'5d36770f436b69e69633d060deb55a37b8b3871983068e95fb33d5a195f00574' 'f2cff107e536fb7331994be0920632b60b3da42e3404a20919dcffcaeec79bdb'
'3bffb2bb84800453ba05676293de9b0b1619d0c19b6295e803f0d9c3a07be23a') '3bffb2bb84800453ba05676293de9b0b1619d0c19b6295e803f0d9c3a07be23a')
+106 -29
View File
File diff suppressed because it is too large Load Diff