Thread (11 messages) 11 messages, 3 authors, 2026-02-24

Re: [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant

flat view

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2026-02-23 17:09:31

Hi Kiran,

On Mon, Feb 23, 2026 at 12:05 PM Kiran K [off-list ref] wrote:
Use hardware variant instead of CNVi to send dsbr command.
I guess by this you mean to say that is what the firmware expects, right?
quoted hunk ↗ jump to hunk
Signed-off-by: Kiran K <redacted>
---
 drivers/bluetooth/btintel.c | 18 +++++++++---------
 drivers/bluetooth/btintel.h |  7 +++++++
 2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 5999be2efef8..2547b590f87a 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2813,31 +2813,31 @@ static int btintel_set_dsbr(struct hci_dev *hdev, struct intel_version_tlv *ver)

        struct btintel_dsbr_cmd cmd;
        struct sk_buff *skb;
-       u32 dsbr, cnvi;
-       u8 status;
+       u32 dsbr;
+       u8 status, hw_variant;
        int err;

-       cnvi = ver->cnvi_top & 0xfff;
+       hw_variant = INTEL_HW_VARIANT(ver->cnvi_bt);
        /* DSBR command needs to be sent for,
         * 1. BlazarI or BlazarIW + B0 step product in IML image.
         * 2. Gale Peak2 or BlazarU in OP image.
         * 3. Scorpious Peak in IML image.
         */

-       switch (cnvi) {
-       case BTINTEL_CNVI_BLAZARI:
-       case BTINTEL_CNVI_BLAZARIW:
+       switch (hw_variant) {
+       case BTINTEL_HWID_BZRI:
+       case BTINTEL_HWID_BZRIW:
                if (ver->img_type == BTINTEL_IMG_IML &&
                    INTEL_CNVX_TOP_STEP(ver->cnvi_top) == 0x01)
                        break;
                return 0;
-       case BTINTEL_CNVI_GAP:
-       case BTINTEL_CNVI_BLAZARU:
+       case BTINTEL_HWID_GAP:
+       case BTINTEL_HWID_BZRU:
                if (ver->img_type == BTINTEL_IMG_OP &&
                    hdev->bus == HCI_USB)
                        break;
                return 0;
-       case BTINTEL_CNVI_SCP:
+       case BTINTEL_HWID_SCP:
                if (ver->img_type == BTINTEL_IMG_IML)
                        break;
                return 0;
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index 431998049e68..21c9a6c9eb9e 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -69,6 +69,13 @@ struct intel_tlv {

 #define BTINTEL_FWID_MAXLEN 64

+/* Hardware ID */
+#define BTINTEL_HWID_GAP       0x1c
+#define BTINTEL_HWID_BZRI      0x1e
+#define BTINTEL_HWID_BZRU      0x1d
+#define BTINTEL_HWID_SCP       0x1f
+#define BTINTEL_HWID_BZRIW     0x22
+
 struct intel_version_tlv {
        u32     cnvi_top;
        u32     cnvr_top;
--
2.43.0

-- 
Luiz Augusto von Dentz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help