Repository navigation
Conversation
Shared radio PERST resets private BAR windows that generic PCI saved state does not cover. Restore the windows and subsystem control in resume_noirq, before interrupts or UNQUIESCE access the retained device. Without this, Wi-Fi returns after sleep but Bluetooth HCI commands time out. Restoring the windows permits Read Local Version to complete. Coordinate QUIESCE and recovery work with the managed host transaction, leaving other controllers on their existing path. Cover config failures and retained-path skips with a fault-injection fixture. Signed-off-by: Erik Bourget <erik@ebourget.net>
3f4ea20 to
b37219c
Compare
551002a to
a55ea56
Compare
RyanTheTide
left a comment
There was a problem hiding this comment.
The new resume_noirq restore and the QUIESCE changes are gated on apple_radio_sleep_owned() (and pm_resume_via_firmware()), so other hosts keep the existing path.
Remaining items:
-
bcm4377_suspend()now returns-EBUSYfor an owned device with wakeup enabled, which refuses the whole sleep whenever Bluetooth wake is on. Please document that in the commit message and log it once (dev_info), or make the wake source part of the supported case. -
Switching from
DEFINE_SIMPLE_DEV_PM_OPSto a fulldev_pm_opschanges the ops on every bcm4377 host. Please add a suspend/resume run on one non-J713 machine. -
CI has not run on this head.
This can land only after the rest of the series (#1314 through #1383).
|
Folded into #1314 (authorship kept), which carries the J713 radio sleep work from here on. Closing in favour of it. |
After shared radio PERST, Wi-Fi can recover while Bluetooth HCI commands time out: private PCI window configuration is lost and is not covered by generic PCI saved state. Restore
bcm4377_init_cfgand subsystem control inresume_noirq, before interrupts or UNQUIESCE use the retained controller.Coordinate QUIESCE and recovery work with the managed host transaction. The tested path retains Bluetooth firmware and needs no reload or additional RTI handshake. Include fault-injection coverage for configuration failures and retained-path skips.
Part 5/5 of J713 native radio S2R, stacked on #1314 at
00f5d3e3f848.stack/j713-radio-pr1314mirrors that PR's head so each subsystem has a separate review diff in this repository.Series order: #1378 → #1381 → #1382 → #1383 → #1384.
Depends on #1383.
Validation on this base:
Qualification covers radio recovery in the minimal sleep profile. GPU, external displays and SIO/audio were excluded, SLC allocation remained off, and paired Bluetooth traffic was not tested.