All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.