Skip to content

FROMLIST: Bluetooth: qca: add QCC2072 support#1279

Open
rahul-samana wants to merge 2 commits into
qualcomm-linux:tech/net/bluetoothfrom
rahul-samana:qcs6490_indus_mezz_cologne_m2_driver
Open

FROMLIST: Bluetooth: qca: add QCC2072 support#1279
rahul-samana wants to merge 2 commits into
qualcomm-linux:tech/net/bluetoothfrom
rahul-samana:qcs6490_indus_mezz_cologne_m2_driver

Conversation

@rahul-samana
Copy link
Copy Markdown

This series adds QCC2072 support to hci_qca.

QCC2072 uses orn-prefixed firmware filenames and does not require external voltage regulators, so the first patch adds it as a new SoC type and enables the appropriate capabilities.

It also requires NVM and calibration data to be sent together in an outer TLV of type 4. The second patch loads qca/ornbcscal.bin in addition to the NVM file, combines both blobs into the required TLV container, and passes the result to qca_tlv_check_data(). If the calibration file is missing, the existing NVM-only path is retained as fallback.

The required firmware files are already available in linux-firmware.

QCC2072 is a BT/WiFi combo SoC that uses different firmware
filenames and requires no external voltage regulators, so add
it as a new SoC type.

The chip supports the wideband speech and valid LE states
capabilities. Its firmware is named using the "orn" prefix and
follows the standard rom-version-based scheme:
    - qca/ornbtfw<ver>.tlv
    - qca/ornnv<ver>.bin

These firmware files are already present in the linux-firmware
repository.

Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260529175822.3366535-1-yepuri.siddu@oss.qualcomm.com/
QCC2072 requires the NVM and calibration data to be delivered to the
controller bundled together in an outer TLV of type 4. After loading
the NVM file, load the calibration file (qca/ornbcscal<ver>.bin) and
combine both into a single buffer with the outer TLV header before
passing it to qca_tlv_check_data().

The outer TLV header encodes the combined payload length in the high
24 bits and type 4 in the low 8 bits of the type_len field.

If the calibration file is unavailable, fall back to downloading the
NVM alone.

Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260529180431.3373856-1-yepuri.siddu@oss.qualcomm.com/
@qcomlnxci qcomlnxci requested review from a team, che-jiang and quic-mohamull and removed request for a team May 29, 2026 18:32
@qlijarvis
Copy link
Copy Markdown

PR #1279 — validate-patch

PR: #1279

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Unknown — cannot fetch lore patches due to network restrictions; diff comparison not performed
  3. Upstream patch status: ⏳ Decision Pending (unknown) — cannot fetch lore threads to check for acceptance/rejection signals
  4. PR present in qcom-next: No — neither commit found in qcom-next branch; QCA_QCC2072 support not present in drivers/bluetooth/
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1279
Upstream commits:


Commit 1: FROMLIST: Bluetooth: qca: add QCC2072 support

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Cannot fetch lore patch (network restricted)
Body preserves rationale ⏭️ Skipped Cannot fetch lore patch (network restricted)
Fixes tag present/correct N/A No Fixes tag in commit
Authorship preserved ⚠️ WARNING Original lore author's Signed-off-by missing: lore URL shows yepuri.siddu@oss.qualcomm.com as author, but no Signed-off-by: Siddu Yepuri <yepuri.siddu@oss.qualcomm.com> present in PR commit
Backport note (if applicable) N/A FROMLIST commit, not a backport

Diff

File Status Notes
drivers/bluetooth/btqca.c ⏭️ Skipped Cannot compare without upstream patch
drivers/bluetooth/btqca.h ⏭️ Skipped Cannot compare without upstream patch
drivers/bluetooth/hci_qca.c ⏭️ Skipped Cannot compare without upstream patch

Commit 2: FROMLIST: Bluetooth: qca: combine NVM and calibration data for QCC2072

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Cannot fetch lore patch (network restricted)
Body preserves rationale ⏭️ Skipped Cannot fetch lore patch (network restricted)
Fixes tag present/correct N/A No Fixes tag in commit
Authorship preserved ⚠️ WARNING Original lore author's Signed-off-by missing: lore URL shows yepuri.siddu@oss.qualcomm.com as author, but no Signed-off-by: Siddu Yepuri <yepuri.siddu@oss.qualcomm.com> present in PR commit
Backport note (if applicable) N/A FROMLIST commit, not a backport

Diff

File Status Notes
drivers/bluetooth/btqca.c ⏭️ Skipped Cannot compare without upstream patch

Issues

Both commits:

  1. Missing original author's Signed-off-by: For FROMLIST: commits, the original lore patch author must be credited with a Signed-off-by: line. The lore URLs indicate the original author is yepuri.siddu@oss.qualcomm.com, but neither commit includes Signed-off-by: Siddu Yepuri <yepuri.siddu@oss.qualcomm.com>. The submitter (rahul.samana@oss.qualcomm.com) correctly appears in From: and has their own Signed-off-by:, but the original author's sign-off is required.

Upstream Patch Status

Commit Community Verdict
Bluetooth: qca: add QCC2072 support ⏳ Decision Pending (unknown) — cannot fetch lore thread due to network restrictions
Bluetooth: qca: combine NVM and calibration data for QCC2072 ⏳ Decision Pending (unknown) — cannot fetch lore thread due to network restrictions

qcom-next Presence

Commit Status
Bluetooth: qca: add QCC2072 support ⚠️ Not in qcom-next — searched by subject and file paths; QCA_QCC2072 not found in drivers/bluetooth/
Bluetooth: qca: combine NVM and calibration data for QCC2072 ⚠️ Not in qcom-next — same search; patch not present

Verdict

Request changes before merging.

Both commits are missing the original lore author's Signed-off-by: line, which is required for FROMLIST: commits per kernel contribution guidelines. Add:

Signed-off-by: Siddu Yepuri <yepuri.siddu@oss.qualcomm.com>

above the submitter's Signed-off-by: line in both commits.

Due to network restrictions, I could not verify:

  • Whether the diff content matches the lore patches
  • Whether the commit messages preserve the upstream rationale
  • The upstream acceptance status of these patches

Once the missing Signed-off-by is added, a reviewer with network access should verify the patches match their lore sources exactly.


Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Unknown — cannot fetch lore patches due to network restrictions; diff comparison not performed
  3. Upstream patch status: ⏳ Decision Pending (unknown) — cannot fetch lore threads to check for acceptance/rejection signals
  4. PR present in qcom-next: No — neither commit found in qcom-next branch; QCA_QCC2072 support not present in drivers/bluetooth/

@qlijarvis
Copy link
Copy Markdown

PR #1279 — checker-log-analyzer

PR: #1279
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/26655125517

Checker Result Summary
Checker Result Summary
checkpatch 1 WARNING, 1 CHECK across 2 commits
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance Author mismatch on 2 commits
tag-check All commits have valid prefixes (UPSTREAM:, FROMLIST:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1279 - Bluetooth: qca: add QCC2072 support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26655125517
Target branch: tech/net/bluetooth

Checker Result Summary
checkpatch 1 WARNING, 1 CHECK across 2 commits
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance Author mismatch on 2 commits
tag-check All commits have valid prefixes (UPSTREAM:, FROMLIST:)

❌ checkpatch

Root cause: Two style issues across two commits - one undocumented DT compatible string and one alignment style check.

Failure details:

Commit 4cfd9ad ("FROMLIST: Bluetooth: qca: add QCC2072 support"):

WARNING: DT compatible string "qcom,qcc2072-bt" appears un-documented -- check ./Documentation/devicetree/bindings/
#209: FILE: drivers/bluetooth/hci_qca.c:2805:
+	{ .compatible = "qcom,qcc2072-bt", .data = &qca_soc_data_qcc2072},

Commit 9094533 ("FROMLIST: Bluetooth: qca: combine NVM and calibration data for QCC2072"):

CHECK: Alignment should match open parenthesis
#60: FILE: drivers/bluetooth/btqca.c:642:
+			bt_dev_warn(hdev,
+				   "QCA Failed to allocate memory for file: %s",

Fix:

  1. For the WARNING (undocumented DT compatible):

    • Add a DT binding YAML for qcom,qcc2072-bt in Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml (or create a new binding file)
    • Alternatively, if this is a vendor-specific compatible that won't be upstreamed, document it in the commit message
  2. For the CHECK (alignment):

    git rebase -i df3ae9703774b70a7b7758b53498a25de9f87174
    # mark commit 90945336a6c8 as 'edit'
    # Fix the alignment in drivers/bluetooth/btqca.c:642:
    bt_dev_warn(hdev,
                "QCA Failed to allocate memory for file: %s",
    git add drivers/bluetooth/btqca.c
    git commit --amend --no-edit
    git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git df3ae9703774b70a7b7758b53498a25de9f87174..830899623474c343072704f7c1598d7f654932ea

❌ check-patch-compliance

Root cause: Author mismatch on both FROMLIST commits - the upstream patches were authored by Yepuri Siddu but the commits in this PR are authored by Rahul Samana.

Failure details:

Commit 4cfd9ad ("FROMLIST: Bluetooth: qca: add QCC2072 support"):

Author mismatch:
  Original author: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
  Commit author : Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260529175822.3366535-1-yepuri.siddu@oss.qualcomm.com/

Commit 9094533 ("FROMLIST: Bluetooth: qca: combine NVM and calibration data for QCC2072"):

Author mismatch:
  Original author: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
  Commit author : Rahul Samana <rahul.samana@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260529180431.3373856-1-yepuri.siddu@oss.qualcomm.com/

Fix:

The commits must preserve the original author from the upstream patches. Fix using:

git rebase -i df3ae9703774b70a7b7758b53498a25de9f87174

# For commit 4cfd9ad13810, mark as 'edit':
git commit --amend --author="Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>" --no-edit

# For commit 90945336a6c8, mark as 'edit':
git commit --amend --author="Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>" --no-edit

git rebase --continue

Note: If Rahul Samana contributed to these patches, add a Co-developed-by: tag instead of changing the author:

Co-developed-by: Rahul Samana <rahul.samana@oss.qualcomm.com>
Signed-off-by: Rahul Samana <rahul.samana@oss.qualcomm.com>

Reproduce locally:

# Verify the upstream author:
b4 am --single-message -C -l -3 https://lore.kernel.org/all/20260529175822.3366535-1-yepuri.siddu@oss.qualcomm.com/ -o /tmp/patch1
b4 am --single-message -C -l -3 https://lore.kernel.org/all/20260529180431.3373856-1-yepuri.siddu@oss.qualcomm.com/ -o /tmp/patch2
# Check the From: line in the downloaded patches

Verdict

2 blockers must be fixed before merge:

  1. Author mismatch (critical): Both FROMLIST commits must preserve the original author (Yepuri Siddu) from the upstream patches. This is a compliance requirement for FROMLIST patches.

  2. Undocumented DT compatible (warning): The qcom,qcc2072-bt compatible string should be documented in a DT binding YAML file. While this is a WARNING (not an ERROR), it should be addressed for upstream compliance.

  3. Alignment style (minor): The alignment CHECK in commit 9094533 is a minor style issue that should be fixed for consistency with kernel coding style.

Recommendation: Fix the author mismatch first (critical), then address the DT binding documentation and alignment issues before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants