Re: [PATCH v2 3/3] Bluetooth: hci_bcm4377: keep ASPM off only while the firmware boots
From: Sven Peter
Date: Wed Nov 11 2026 - 11:34:52 EST
On 11/11/26 13:02, Andre Eikmeyer wrote:
The BCM4377 needs ASPM disabled because of a hardware erratum, and the
driver disables it on the whole link for as long as the device is bound.
On the MacBookAir9,1 this keeps the link to the Wi-Fi and Bluetooth chip
in L0, and the package does not go deeper than PC3.
Disable ASPM only in this function's Link Control register before the
function level reset and the firmware boot, and restore the saved value
once the firmware runs. A non-ARI Multi-Function Device enables only the
ASPM states enabled in all of its functions, so the link stays in L0
until then.
Tested on a MacBookAir9,1: with ASPM L1 enabled by the PCI core the link
returns to L1 after probe and after the re-probe that follows ACPI S3,
Bluetooth and Wi-Fi keep working, and the package reaches PC8 instead of
PC3 at idle.
Signed-off-by: Andre Eikmeyer <dev@deq.rocks>
---
That quirk only applies to pre-M1 machines so you probably know better what's required:
Acked-by: Sven Peter <sven@xxxxxxxxxx>
Sven