mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrei-Alexandru Bleortu <me@andrei-z.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
	Marcel Holtmann <marcel@holtmann.org>
Cc: <linux-bluetooth@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	George Moussalem <george.moussalem@outlook.com>,
	<linux-arm-msm@vger.kernel.org>
Subject: [PATCH 0/3] Bluetooth: btqcomipc: fixes on top of the IPQ5018 v5 series
Date: Mon, 12 Oct 2026 01:09:16 +0300	[thread overview]
Message-ID: <20261011220919.1816407-1-me@andrei-z.com> (raw)
In-Reply-To: <20260709-ipq5018-bluetooth-v5-4-e476c41f03b8@outlook.com>

Hi George,

I brought your v5 up on a UniFi U6 Enterprise (IPQ5018) and needed these
three changes on top of it for the controller to load its firmware, to
survive an unbind/bind cycle and to take the board's address. They are
against your v5 as posted; please fold whichever you agree with into v6.

1/3 keeps the dot in split firmware segment names (qca/bt_fw_patch.b02).
2/3 deasserts the BTSS reset before enabling the LPO clock; a probe after
    an unbind otherwise fails with "gcc_btss_lpo_clk status stuck at 'off'".
3/3 sets HCI_QUIRK_USE_BDADDR_PROPERTY: btqca skips the NVM tag parsing on
    IPQ5018, so the placeholder address (50:18:00:00:5a:ad) is never
    detected and every board comes up with it.

Three notes on v5 itself:
- Unloading the module (rmmod btqcomipc) with the controller up hangs the
  SoC until the watchdog resets it; I have not looked into why.
- It uses HCI_QUIRK_USE_BDADDR_NVMEM and HCI_QUIRK_BDADDR_NVMEM_BE, which
  come from a separate series that is not in bluetooth-next or
  next-20261009, so v5 does not build on its own.
- Its btqca patch no longer applies to next-20261009 (btqca.c moved on).

3/3 works best with "Bluetooth: hci_core: program a public address set
during auto off", sent separately to linux-bluetooth: without it, setting
the address within two seconds of the index appearing leaves the
controller up but invisible to mgmt.

Transparency note: developed with an LLM coding assistant (Claude), which
traced these while bringing up the board and wrote the changes and these
messages. Tested on the U6 Enterprise with Linux 7.2.8 and BlueZ: the
firmware loads, hci0 stays unconfigured until userspace sets the address,
then scans and advertises. A W=1 arm64 build of drivers/bluetooth is
clean.

Andrei-Alexandru Bleortu (3):
  Bluetooth: btqcomipc: keep the dot in split firmware segment names
  Bluetooth: btqcomipc: deassert the BTSS reset before enabling its clock
  Bluetooth: btqcomipc: take the board's address from the host

 drivers/bluetooth/btqcomipc.c | 24 +++++++++++++++---------
 1 file changed, 16 insertions(+), 8 deletions(-)
-- 
2.47.3


  reply	other threads:[~2026-10-11 22:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-09  9:18 [PATCH v5 0/6] Add support for IPQ5018 Bluetooth George Moussalem via B4 Relay
2026-07-09  9:18 ` [PATCH v5 1/6] dt-bindings: net: bluetooth: Document Qualcomm IPQ5018 Bluetooth controller George Moussalem via B4 Relay
2026-07-09  9:18 ` [PATCH v5 2/6] Bluetooth: btqca: Add IPQ5018 support George Moussalem via B4 Relay
2026-07-09  9:18 ` [PATCH v5 3/6] firmware: qcom: scm: Add support for setting Bluetooth power modes George Moussalem via B4 Relay
2026-07-09  9:18 ` [PATCH v5 4/6] Bluetooth: Introduce Qualcomm IPQ5018 IPC based HCI driver George Moussalem via B4 Relay
2026-10-11 22:09   ` Andrei-Alexandru Bleortu [this message]
2026-10-11 22:09     ` [PATCH 1/3] Bluetooth: btqcomipc: keep the dot in split firmware segment names Andrei-Alexandru Bleortu
2026-10-11 22:09     ` [PATCH 2/3] Bluetooth: btqcomipc: deassert the BTSS reset before enabling its clock Andrei-Alexandru Bleortu
2026-10-11 22:09     ` [PATCH 3/3] Bluetooth: btqcomipc: take the board's address from the host Andrei-Alexandru Bleortu
2026-07-09  9:18 ` [PATCH v5 5/6] arm64: dts: qcom: ipq5018: add node required for Bluetooth support George Moussalem via B4 Relay
2026-07-09 18:16   ` Konrad Dybcio
2026-07-09 18:23     ` George Moussalem
2026-07-09 18:17   ` Konrad Dybcio
2026-07-09 18:25     ` George Moussalem
2026-07-09 18:40       ` Konrad Dybcio
2026-07-10  9:14         ` Bartosz Golaszewski
2026-07-10  9:23           ` Konrad Dybcio
2026-07-10  9:32             ` George Moussalem
2026-07-09  9:18 ` [PATCH v5 6/6] MAINTAINERS: Add IPQ5018 driver to Qualcomm Bluetooth driver entry George Moussalem via B4 Relay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261011220919.1816407-1-me@andrei-z.com \
    --to=me@andrei-z.com \
    --cc=george.moussalem@outlook.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®