]> git.ipfire.org Git - thirdparty/linux.git/commit
Bluetooth: btintel_pcie: Add support for _suspend() / _resume()
authorChandrashekar Devegowda <chandrashekar.devegowda@intel.com>
Fri, 25 Jul 2025 09:01:33 +0000 (14:31 +0530)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Sat, 27 Sep 2025 15:37:00 +0000 (11:37 -0400)
commite57362f4911b025c31e032c7e1c67389b7eb8dd1
tree0e3dc6cc3a4972c85bf75e0b60f98b16cf45f1eb
parent926e8bfaaa11471b3df25befc284da62b11a1e92
Bluetooth: btintel_pcie: Add support for _suspend() / _resume()

This patch implements _suspend() and _resume() functions for the
Bluetooth controller. When the system enters a suspended state, the
driver notifies the controller to perform necessary housekeeping tasks
by writing to the sleep control register and waits for an alive
interrupt. The firmware raises the alive interrupt when it has
transitioned to the D3 state. The same flow occurs when the system
resumes.

Command to test host initiated wakeup after 60 seconds
sudo rtcwake -m mem -s 60

dmesg log (tested on Whale Peak2 on Panther Lake platform)
On system suspend:
[Fri Jul 25 11:05:37 2025] Bluetooth: hci0: device entered into d3 state from d0 in 80 us

On system resume:
[Fri Jul 25 11:06:36 2025] Bluetooth: hci0: device entered into d0 state from d3 in 7117 us

Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com>
Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btintel_pcie.c