Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH v1 0/4] Bluetooth: add hardware rfkill handling and test hook
@ 2026-09-30  7:42 Sai Teja Aluvala
  2026-09-30  7:42 ` [PATCH v1 1/4] Bluetooth: Add interface to allow stack to communicate hw rfkill events Sai Teja Aluvala
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Sai Teja Aluvala @ 2026-09-30  7:42 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, linux-bluetooth
  Cc: kiran.k, chethan.tumkur.narayan, Sai Teja Aluvala


This series adds hardware rfkill handling for the Intel PCIe transport,
the Bluetooth-side notification path, and a debugfs test hook for
exercising the generic stack handling.

The resulting flow is:

  transport hardware event
    -> hci_rfkill_set_hw_state()
    -> rfkill hardware state
    -> hdev->rfkill_block work
    -> HCI_RFKILLED state and device power handling

For Intel PCIe controllers, the series adds GP2 and HW_RFKILL MSI-X
handling, IPC_CONTROL doorbell synchronization, delayed state checking,
reset/shutdown/remove lifecycle handling, and notification of the
generic HCI rfkill layer.

The debugfs hook exposes:

  /sys/kernel/debug/bluetooth/hciN/force_hw_rfkill

Writing Y or N simulates a hardware rfkill transition at the generic HCI
rfkill interface. It intentionally does not emulate the transport
driver's physical interrupt, doorbell, or register-detection logic.

Dependency:

  This series depends on the separately submitted RFKILL patch:

    [PATCH v1 0/1] rfkill: expose hardware-only block state

  That patch adds rfkill_hard_blocked() to:

    include/linux/rfkill.h
    net/rfkill/core.c

The dependency is being submitted separately to wireless-next because
include/linux/rfkill.h and net/rfkill/core.c are maintained by the
RFKILL/linux-wireless maintainers. The RFKILL patch is not duplicated in
this Bluetooth series. Once the RFKILL series is archived, its lore link
is:

  https://lore.kernel.org/linux-wireless/cover.1790752797.git.aluvala.sai.teja@intel.com/

Patches:

  1. Bluetooth: Add interface to allow stack to communicate hw rfkill events
  2. Bluetooth: hci_core: clear hdev->rfkill after destroying it
  3. Bluetooth: btintel_pcie: add HW rfkill interrupt/doorbell flow
  4. Bluetooth: hci_debugfs: add force_hw_rfkill test hook

Changes in v1:
  - Initial version.

The series has been prepared against bluetooth-next/master.

Sai Teja Aluvala (4):
  Bluetooth: Add interface to allow stack to communicate hw rfkill
    events
  Bluetooth: hci_core: clear hdev->rfkill after destroying it
  Bluetooth: btintel_pcie: add HW rfkill interrupt/doorbell flow
  Bluetooth: hci_debugfs: add force_hw_rfkill test hook

 drivers/bluetooth/btintel_pcie.c | 140 ++++++++++++++++++++++++++++++-
 drivers/bluetooth/btintel_pcie.h |  27 ++++++
 include/net/bluetooth/hci_core.h |   3 +
 net/bluetooth/hci_core.c         |  35 ++++++++
 net/bluetooth/hci_debugfs.c      | 107 +++++++++++++++++++++++
 5 files changed, 308 insertions(+), 4 deletions(-)


base-commit: fdd5964bd389936856971647fcac3442117009dc
-- 
2.53.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-09-30 13:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-30  7:42 [PATCH v1 0/4] Bluetooth: add hardware rfkill handling and test hook Sai Teja Aluvala
2026-09-30  7:42 ` [PATCH v1 1/4] Bluetooth: Add interface to allow stack to communicate hw rfkill events Sai Teja Aluvala
2026-09-30 13:49   ` Bluetooth: add hardware rfkill handling and test hook bluez.test.bot
2026-09-30  7:42 ` [PATCH v1 2/4] Bluetooth: hci_core: clear hdev->rfkill after destroying it Sai Teja Aluvala
2026-09-30  7:42 ` [PATCH v1 3/4] Bluetooth: btintel_pcie: add HW rfkill interrupt/doorbell flow Sai Teja Aluvala
2026-09-30  7:42 ` [PATCH v1 4/4] Bluetooth: hci_debugfs: add force_hw_rfkill test hook Sai Teja Aluvala
2026-09-30 12:56   ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox