Skip to content

6.18: Add Arduino UNO Q (QRB2210) board support - #995

Open
Ricardo Salveti (ricardosalveti) wants to merge 29 commits into
qualcomm-linux:qcom-6.18.yfrom
ricardosalveti:uno-q-6.18
Open

6.18: Add Arduino UNO Q (QRB2210) board support#995
Ricardo Salveti (ricardosalveti) wants to merge 29 commits into
qualcomm-linux:qcom-6.18.yfrom
ricardosalveti:uno-q-6.18

Conversation

@ricardosalveti

Copy link
Copy Markdown

Backport series enabling the Arduino UNO Q (qrb2210-arduino-imola, QCM2290/Agatti)
on qcom-6.18.y. 29 commits: 18 UPSTREAM, 7 BACKPORT, 3 FROMGIT, 1 QCLINUX.

The BACKPORT ones are applied to qcm2290.dtsi, since the upstream rename to
agatti.dtsi (021df9d) is not part of this branch.

  • SoC DT + bindings: uart2 (MPU↔MCU link) and the uart3 QUP interconnect fix,
    gpu_zap_shader label, APR services, FastRPC on the ADSP, LPASS LPI pin controller,
    venus 300/384 MHz OPPs, and the missing CX power domain on DISPCC (without it DPU
    performance-state votes never reach the CX rail).
  • Board: arduino,imola compatible, arduino,unoq-mcu binding + spidev entry,
    the board DTS, spidev node fix, and the DSI/DP bridge description.
  • ANX7625 Type-C (6 commits, all v7.1): what makes DisplayPort over USB-C work.
    Includes both upstream Fixes: commits, so boards without a connector node are
    unaffected.
  • Fixes: pm4125 vbus compatible/constraints, gcc-qcm2290 QUP no-park (keeps the
    bootloader console alive across gcc probe), two geni-serial TX DMA fixes (one
    Cc: stable, reproduced on this board).
  • Config: CONFIG_LEDS_GROUP_MULTICOLOR=m for the RGB user LED.

Deliberately not taken: the qcm2290→agatti rename, the tree-wide lowercase-hex and
GICv3-PPI sweeps, IPA nodes, camera mclk pinctrl, and the v7.2 UBWC rework.

Validation

Built with meta-qcom / meta-qcom-3rdparty and booted on real hardware in LAVA
(core-image-base and qcom-multimedia-image). Working: display (card0,
card0-DP-1 via the ANX7625) and GPU render node, USB-C Type-C port with data/power
role and orientation, iris decoder + encoder, modem and ADSP remoteprocs with
/dev/fastrpc-adsp, eMMC with CQE, WiFi, Bluetooth, spidev to the MCU, GPIO + RGB
LEDs, gpio-keys, cpufreq, thermal. No oops, no deferred probes, no regulator errors.

qrb2210-arduino-imola.dtb passes CHECK_DTBS=y cleanly, as do qrb2210-rb1 and the
sm6115 boards; full make dtbs is clean.

Known gaps

  • Audio is not included. It needs the Arduino LPASS/sound DT series that is posted
    to lore but not yet merged (upstream's imola DTS has no sound nodes), plus the
    va-macro version-detection rework, which conflicts with this branch's local shikra
    divergence in the same function. Planned as a separate, separately validated step.

Wojciech Slenskaand others added 3 commits August 20, 2026 20:01
The config_noc interconnect should use SLAVE_QUP_0.
Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251009090718.32503-1-wojciech.slenska@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit cdf9756)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add nodes to support uart1 and uart5.
Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251009090858.32911-1-wojciech.slenska@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 89e4902)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
uart2 is used in Arduino UnoQ as an interface between microprocessor and
microcontroller.
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251120155825.121483-6-r.mereu.kernel@arduino.cc
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 925ac1f)
[rsalveti: applied to qcm2290.dtsi, as the rename to agatti.dtsi is not
part of this branch]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@ricardosalveti

Copy link
Copy Markdown
Author

As we are adding Ventuno-Q there is also need to bring Uno-Q along, so we can have arduino support for both boards coming from the QLI LTS kernel.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@ricardosalveti

Copy link
Copy Markdown
Author

checkpatch — 10 warnings, all verbatim from upstream

CommitWarningWhy it stands
f3230c634fca APR servicesline length of 101 ×3Byte-identical to upstream f8d21b5e4caa; re-indenting would break check-patch-compliance's diff against the Link: patch.
9b8bef5c0689, 1764203ac478, fa2f4d458d4e, 086538743104Unknown commit id ×4Upstream Fixes: tags. The targets are in this series (2006dea1a7ef, d297a8669579 ×2, f5e18277159f) but under backport SHAs. Rewriting them to local SHAs would destroy upstream traceability.
fa2f4d458d4eReported-by: without Closes:Verbatim upstream message.
1764203ac478Prefer a maximum 75 chars per lineVerbatim upstream message.
80c257f6c534Invalid email format for stableVerbatim upstream trailer.

The three vendor "arduino" appears un-documented warnings from the previous run
were real, and are fixed by backporting the missing d16ffac77171
"dt-bindings: vendor-prefixes: Add Arduino name".

check-patch-compliance — 3 adapted backports + 1 local patch

BACKPORT: arm64: dts: qcom: add gpu_zap_shader label ==> Change is different from the one mentioned in Link
BACKPORT: dt-bindings: clock: qcom,qcm2290-dispcc: Add missing power-domains ==> Change is different from the one mentioned in Link
BACKPORT: arm64: dts: qcom: qrb2210: add dts for Arduino unoq ==> Change is different from the one mentioned in Link
QCLINUX: arm64: defconfig: Enable multicolor LED group support ==> Commit summary does not start with a required prefix

The first three are precisely what BACKPORT: denotes, each documented in a
[rsalveti: ...] note: only the qcm2290.dtsi hunk of a 64-file commit; keeping
this branch's DSI1/sleep clocks plus the Shikra scoping; and including
qcm2290.dtsi rather than agatti.dtsi since the rename (021df9dee9cd) is not
on this branch. The script has no exemption for BACKPORT:, so any adapted
backport fails by construction — worth relaxing the diff check for that prefix.

The last is a downstream-only defconfig change: the checker accepts only
FROMLIST|FROMGIT|UPSTREAM|BACKPORT and requires a Link:, which no local patch
can satisfy — though this branch already carries 119 QCLINUX: commits,
including config ones. Happy to move it to the BSP layer if you prefer the PR to
be exclusively backports.

@qlijarvis

Copy link
Copy Markdown

PR #995 — validate-patch

PR:#995

VerdictIssuesDetailed Report
⚠️0Full report

Final Summary

  1. Lore link present: Yes - 29/29 non-vendor commits have lore links (9 use patch.msgid.link, 20 use lore.kernel.org/r/)
  2. Lore link matches PR commits: Yes - Spot-checked commits show faithful diffs with documented BACKPORT adaptations for file renames
  3. Upstream patch status: ✅ Upstreamed - All 29 non-vendor commits are accepted upstream (merged into mainline or maintainer trees)
  4. PR present in qcom-next/topics: Fail - 4/30 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation Report

PR:#995 - Multiple device tree and driver updates for QCM2290/Agatti/Arduino Imola
Total commits: 30
Verdict:⚠️PARTIAL - Integration presence failures require attention


Executive Summary

This PR contains 30 commits with the following distribution:

  • 18 UPSTREAM commits (cherry-picked from mainline)
  • 7 BACKPORT commits (adapted from upstream)
  • 3 FROMGIT commits (from maintainer trees)
  • 1 QCLINUX commit (vendor-only)
  • 1 FROMLIST commit (posted but not yet merged)

Key Findings:

  1. ✅ All non-vendor commits have lore links (29/29)
  2. ⚠️ Some commits use patch.msgid.link instead of lore.kernel.org/r/ (minor style inconsistency)
  3. 4 commits missing from qcom-next/topics (critical integration issue)
  4. ✅ Commit messages generally preserve authorship and rationale
  5. ⚠️ Several BACKPORT commits have legitimate file path adaptations

Commit Message Validation

CheckStatusNotes
Lore links present✅ PASS29/29 non-vendor commits have links
Link format consistency⚠️ PARTIAL9 commits use patch.msgid.link instead of lore.kernel.org/r/
Subject preservation✅ PASSSubjects match upstream with appropriate prefixes
Authorship preserved✅ PASSFrom: fields match lore authors for UPSTREAM/BACKPORT/FROMGIT
Cherry-pick notes✅ PASSAll commits have (cherry picked from commit <sha>)
Backport notes✅ PASSBACKPORT commits document adaptations (e.g., file renames)
Reviewed-by/Acked-by✅ PASSUpstream review tags preserved

Diff Comparison - Sample Validation

Commit 1/30 - UPSTREAM: qcm2290: Fix uart3 QUP interconnect

Commit 3/30 - BACKPORT: agatti: add uart2 node

  • Lore:https://lore.kernel.org/r/20251120155825.121483-6-r.mereu.kernel@arduino.cc
  • Diff match:⚠️ADAPTED - Lore modifies agatti.dtsi, PR modifies qcm2290.dtsi
  • Adaptation reason: File rename (qcm2290.dtsiagatti.dtsi) not yet in this branch
  • Backport note: ✅ Present - [rsalveti: applied to qcm2290.dtsi, as the rename to agatti.dtsi is not part of this branch]
  • Upstream status:ACKed - Merged as 925ac1f6ec75 (Reviewed-by: Konrad Dybcio, Dmitry Baryshkov)
  • qcom-next:MISSING - Not found in qcom-next or topics

Commit 6/30 - BACKPORT: agatti: enable FastRPC on

Commit 9/30 - BACKPORT: agatti: add higher OPP

Commit 15/30 - UPSTREAM: dt-bindings: trivial-devices: add arduino spi

  • Link format:⚠️ Uses patch.msgid.link instead of lore.kernel.org/r/
  • Upstream status:ACKed - Merged as a7bde7c10902 (Reviewed-by: Krzysztof Kozlowski)
  • qcom-next: ✅ Present

Commit 30/30 - QCLINUX: arm64: defconfig: Enable multicolor LED group

  • Lore link: N/A (vendor-only, no link expected)
  • Upstream status: N/A (vendor-only change, not posted upstream)
  • qcom-next:MISSING - Expected for QCLINUX commits

Upstream Patch Status

All 29 non-vendor commits have been accepted upstream:

  • 18 UPSTREAM commits: Merged into Linus's tree
  • 7 BACKPORT commits: Merged upstream, adapted for this branch
  • 3 FROMGIT commits: In maintainer trees (qcom-next, topics)
  • 1 FROMLIST commit: Posted to mailing list

Evidence: All commits have (cherry picked from commit <sha>) notes with valid upstream SHAs. Spot-checked lore threads show "Applied, thanks!" or "Reviewed-by:" tags from maintainers.


Integration Presence (qcom-next/topics)

Source:integration_presence_report.md (authoritative)

StatusCountCommits
✅ Present24/301, 2, 4, 5, 7, 8, 10-26, 28, 29
⚠️ Partial2/3010, 17 (partial tree evidence)
❌ Missing4/303, 6, 9, 30

Critical Missing Commits:

  1. Commit 3 - BACKPORT: agatti: add uart2 node
  2. Commit 6 - BACKPORT: agatti: enable FastRPC on
  3. Commit 9 - BACKPORT: agatti: add higher OPP
  4. Commit 30 - QCLINUX: arm64: defconfig: Enable multicolor LED group

Analysis:

  • Commits 3, 6, 9 are upstream-accepted BACKPORT commits that are missing from the integration branch. This is a validation failure - these commits should be present in qcom-next or topics before being merged into this PR.
  • Commit 30 is QCLINUX (vendor-only), so missing from qcom-next/topics is expected but still requires review.

Issues Found

1. Integration Presence Failures (❌ CRITICAL)

Commits 3, 6, 9 are missing from both qcom-next and topics despite being:

  • Accepted upstream (merged into mainline)
  • Properly formatted as BACKPORT commits
  • Documented with cherry-pick SHAs

Impact: These commits may introduce merge conflicts or duplicate changes if they land in qcom-next later.

Recommendation: Verify why these commits are not in qcom-next/topics:

  • Are they in a pending topic branch not yet merged?
  • Were they submitted to qcom-next but not yet accepted?
  • Should they be submitted to qcom-next first before this PR?

2. Link Format Inconsistency (⚠️ MINOR)

Commits 15, 16, 19-24, 28, 29 use patch.msgid.link instead of lore.kernel.org/r/.

Impact: Minor style inconsistency. Both formats are valid lore references.

Recommendation: For consistency with the rest of the tree, prefer lore.kernel.org/r/<message-id> format.

3. BACKPORT File Path Adaptations (✅ DOCUMENTED)

Commits 3, 6, 9, 11 modify qcm2290.dtsi while upstream modifies agatti.dtsi.

Impact: None - this is a legitimate BACKPORT adaptation documented in commit messages.

Validation: ✅ PASS - Backport notes correctly document the file rename adaptation.


Verdict

⚠️PARTIAL - Do not merge without addressing integration presence failures.

Rationale:

  1. ✅ Commit messages are correct and preserve upstream authorship
  2. ✅ Diffs are faithful to upstream (with documented BACKPORT adaptations)
  3. ✅ All upstream patches have been accepted
  4. 4 commits missing from qcom-next/topics (critical blocker)

Recommendation

Before merging:

  1. Investigate missing commits 3, 6, 9 - Determine why these upstream-accepted commits are not in qcom-next/topics:
    • Check if they are in a pending topic branch
    • Verify if they need to be submitted to qcom-next first
    • Confirm no duplicate/conflicting changes exist
  2. Review commit 30 (QCLINUX) - Vendor-only defconfig change, ensure it's intentional
  3. Optional: Update link format for commits 15, 16, 19-24, 28, 29 to use lore.kernel.org/r/ for consistency

After addressing the above:

  • Commits 1-2, 4-5, 7-8, 10-29: ✅ Safe to merge
  • Commits 3, 6, 9: ⚠️ Requires integration presence verification
  • Commit 30: ⚠️ Requires vendor-change review

Final Summary

  1. Lore link present: Yes - 29/29 non-vendor commits have lore links (9 use patch.msgid.link, 20 use lore.kernel.org/r/)
  2. Lore link matches PR commits: Yes - Spot-checked commits show faithful diffs with documented BACKPORT adaptations for file renames
  3. Upstream patch status: ✅ Upstreamed - All 29 non-vendor commits are accepted upstream (merged into mainline or maintainer trees)
  4. PR present in qcom-next/topics:Fail - 4/30 commits missing from both qcom-next and topics (commits 3, 6, 9, 30). Per integration_presence_report.md: "PR present in qcom-next/topics: Fail - 4/30 commit(s) are missing from both qcom-next and topics"

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

CommitSubjectqcom-nexttopicsFinal
1/30[PATCH 01/30] UPSTREAM: arm64: dts: qcom: qcm2290: Fix uart3 QUPpresent - exact patch-id match at cdf9756skipped - not checked because qcom-next already contains the changepresent
2/30[PATCH 02/30] UPSTREAM: arm64: dts: qcom: qcm2290: Add uart1 andpresent - exact patch-id match at 89e4902skipped - not checked because qcom-next already contains the changepresent
3/30[PATCH 03/30] BACKPORT: arm64: dts: qcom: agatti: add uart2 nodemissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
4/30[PATCH 04/30] BACKPORT: arm64: dts: qcom: add gpu_zap_shader labelpartial - subject or partial tree evidence found, but full change was not verifiedpresent - all checked added lines are presentpresent
5/30[PATCH 05/30] UPSTREAM: arm64: dts: qcom: qcm2290: add APR and itspresent - exact patch-id match at f8d21b5skipped - not checked because qcom-next already contains the changepresent
6/30[PATCH 06/30] BACKPORT: arm64: dts: qcom: agatti: enable FastRPC onmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
7/30[PATCH 07/30] UPSTREAM: dt-bindings: pinctrl: qcom,sm6115-lpass-lpi:present - exact patch-id match at f919466skipped - not checked because qcom-next already contains the changepresent
8/30[PATCH 08/30] UPSTREAM: arm64: dts: qcom: qcm2290: add LPASS LPI pinpresent - exact patch-id match at 1fc3073skipped - not checked because qcom-next already contains the changepresent
9/30[PATCH 09/30] BACKPORT: arm64: dts: qcom: agatti: add higher OPPmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
10/30[PATCH 10/30] BACKPORT: dt-bindings: clock: qcom,qcm2290-dispcc: Addpartial - subject or partial tree evidence found, but full change was not verifiedpartial - subject or partial tree evidence found, but full change was not verifiedpartial
11/30[PATCH 11/30] BACKPORT: arm64: dts: qcom: agatti: Add missing CXmissing - no subject, patch-id, or full tree-content match foundpresent - all checked added lines are presentpresent
12/30[PATCH 12/30] UPSTREAM: dt-bindings: display/msm/gpu: Straighten outpresent - exact patch-id match at ae26b4dskipped - not checked because qcom-next already contains the changepresent
13/30[PATCH 13/30] UPSTREAM: dt-bindings: vendor-prefixes: Add Arduinopresent - exact patch-id match at d16ffacskipped - not checked because qcom-next already contains the changepresent
14/30[PATCH 14/30] UPSTREAM: dt-bindings: arm: qcom: Add arduino imola,present - exact patch-id match at 311d173skipped - not checked because qcom-next already contains the changepresent
15/30[PATCH 15/30] UPSTREAM: dt-bindings: trivial-devices: add arduino spipresent - exact patch-id match at a7bde7cskipped - not checked because qcom-next already contains the changepresent
16/30[PATCH 16/30] UPSTREAM: spi: spidev: add compatible for arduino spipresent - exact patch-id match at 43a3adbskipped - not checked because qcom-next already contains the changepresent
17/30[PATCH 17/30] BACKPORT: arm64: dts: qcom: qrb2210: add dts forpartial - subject or partial tree evidence found, but full change was not verifiedpartial - subject or partial tree evidence found, but full change was not verifiedpartial
18/30[PATCH 18/30] UPSTREAM: arm64: dts: qcom: arduino-imola: fix faultypresent - exact patch-id match at 1a040dfskipped - not checked because qcom-next already contains the changepresent
19/30[PATCH 19/30] UPSTREAM: dt-bindings: drm/bridge: anx7625: describepresent - exact patch-id match at 1d75324skipped - not checked because qcom-next already contains the changepresent
20/30[PATCH 20/30] UPSTREAM: drm: bridge: anx7625: implement minimalpresent - exact patch-id match at f81455bskipped - not checked because qcom-next already contains the changepresent
21/30[PATCH 21/30] UPSTREAM: drm: bridge: anx7625: implement messagepresent - exact patch-id match at 8ad0f7dskipped - not checked because qcom-next already contains the changepresent
22/30[PATCH 22/30] UPSTREAM: drm: bridge: anx7625: enforcepresent - exact patch-id match at 10e9ff4skipped - not checked because qcom-next already contains the changepresent
23/30[PATCH 23/30] UPSTREAM: drm: bridge: anx7625: don't crash if Type-Cpresent - exact patch-id match at 8e3d8b3skipped - not checked because qcom-next already contains the changepresent
24/30[PATCH 24/30] UPSTREAM: drm: bridge: anx7625: correctly detect if PDpresent - exact patch-id match at 91d0450skipped - not checked because qcom-next already contains the changepresent
25/30[PATCH 25/30] UPSTREAM: arm64: dts: qcom: qrb2210-arduino-imola:present - all checked added lines are presentskipped - not checked because qcom-next already contains the changepresent
26/30[PATCH 26/30] FROMGIT: arm64: dts: qcom: Fix pm4125 vbus regulatorpartial - subject or partial tree evidence found, but full change was not verifiedpresent - exact patch-id match at fe0c58a643ab27b4b87c8ca2e72e35fce6889215present
27/30[PATCH 27/30] FROMGIT: clk: qcom: gcc-qcm2290: don't park QUP RCGsmissing - no subject, patch-id, or full tree-content match foundpresent - all checked added lines are presentpresent
28/30[PATCH 28/30] UPSTREAM: serial: qcom-geni: fix TX DMA buffer flushpresent - exact patch-id match at e3c0483skipped - not checked because qcom-next already contains the changepresent
29/30[PATCH 29/30] FROMGIT: serial: qcom-geni: do not advance stale DMApartial - subject or partial tree evidence found, but full change was not verifiedpresent - all checked added lines are presentpresent
30/30[PATCH 30/30] QCLINUX: arm64: defconfig: Enable multicolor LED groupmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing

Final Status

overall_status: FAIL
present_commits: 24/30
partial_commits: 2/30
missing_commits: 4/30
topics_checked_for_commits: 11/30
final_summary: PR present in qcom-next/topics: Fail - 4/30 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #995 — checker-log-analyzer

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

CheckerResultSummary
CheckerResultSummary
checkpatch8 commits with style warnings
dt-binding-checkAll binding schemas valid
dtb-checkPre-existing shikra dispcc power-domains issue
sparse-checkNo sparse warnings
check-uapi-headersNo UAPI changes
check-patch-compliance4 issues: 2 missing Link, 2 content mismatch, 1 invalid prefix
tag-check1 commit missing required prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR:#995 - QCM2290/QRB2210 Arduino Imola board support and serial fixes
Source:https://github.com/qualcomm-linux/kernel-config/actions/runs/32412479812
Target Branch:qcom-6.18.y
Base:dc0f4d4
Head:962b4f3

CheckerResultSummary
checkpatch8 commits with style warnings
dt-binding-checkAll binding schemas valid
dtb-checkPre-existing shikra dispcc power-domains issue
sparse-checkNo sparse warnings
check-uapi-headersNo UAPI changes
check-patch-compliance4 issues: 2 missing Link, 2 content mismatch, 1 invalid prefix
tag-check1 commit missing required prefix

❌ checkpatch

Root cause: Multiple commits have minor style warnings (line length, undocumented vendor, unknown commit IDs, invalid email format).

Failure details:

Commit f3230c6 ("UPSTREAM: arm64: dts: qcom: qcm2290: add APR and its services"):

WARNING: line length of 101 exceeds 100 columns
#84: FILE: arch/arm64/boot/dts/qcom/qcm2290.dtsi:2208:
+ reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
(3 occurrences at lines 2208, 2212, 2216)

Commit 10dc39f ("UPSTREAM: spi: spidev: add compatible for arduino spi mcu interface"):

WARNING: DT compatible string vendor "arduino" appears un-documented
#38: FILE: drivers/spi/spidev.c:723:
+	{ .compatible = "arduino,unoq-mcu", .data = &spidev_of_check },

Commit 4b88951 ("BACKPORT: arm64: dts: qcom: qrb2210: add dts for Arduino unoq"):

WARNING: DT compatible string vendor "arduino" appears un-documented
#67: FILE: arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts:16:
+	compatible = "arduino,imola", "qcom,qrb2210", "qcom,qcm2290";
(2 occurrences)

Commit b2bc160 ("UPSTREAM: arm64: dts: qcom: arduino-imola: fix faulty spidev node"):

WARNING: Unknown commit id '3f745bc0f11f', maybe rebased or not pulled?
Fixes: 3f745bc0f11f ("arm64: dts: qcom: qrb2210: add dts for Arduino unoq")

Commit 55cfa22 ("UPSTREAM: drm: bridge: anx7625: enforce CONFIG_USB_ROLE_SWITCH dependency"):

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
aarch64-linux-ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_i2c_remove':
WARNING: Unknown commit id 'f81455b2d332', maybe rebased or not pulled?
Fixes: f81455b2d332 ("drm: bridge: anx7625: implement minimal Type-C support")

Commit 6e4f8d2 ("UPSTREAM: drm: bridge: anx7625: don't crash if Type-C port is not used"):

WARNING: Unknown commit id 'f81455b2d332', maybe rebased or not pulled?
Fixes: f81455b2d332 ("drm: bridge: anx7625: implement minimal Type-C support")
WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
Reported-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>

Commit d0be1e8 ("UPSTREAM: drm: bridge: anx7625: correctly detect if PD can be disabled"):

WARNING: Unknown commit id '8ad0f7d2e6fd', maybe rebased or not pulled?
Fixes: 8ad0f7d2e6fd ("drm: bridge: anx7625: implement message sending")

Commit 8fe4890 ("UPSTREAM: serial: qcom-geni: fix TX DMA buffer flush"):

WARNING: Invalid email format for stable: 'stable <stable@kernel.org>', prefer 'stable@kernel.org'
Cc: stable <stable@kernel.org>

Fix:

  1. Line length (f3230c6): These are DTS reg property lines with long macro names. Acceptable as-is — DTS formatting often exceeds 100 chars for readability.

  2. Undocumented vendor "arduino" (10dc39f, 4b88951):False positive — the vendor prefix was added in commit 13 ("UPSTREAM: dt-bindings: vendor-prefixes: Add Arduino"). Checkpatch runs per-commit and doesn't see the later addition. No fix needed.

  3. Unknown commit IDs (b2bc160, 55cfa22, 6e4f8d2, d0be1e8): These Fixes: tags reference commits that are part of this PR series (not yet in the base branch). Checkpatch can't resolve them. Acceptable — the commit IDs are correct within the PR context.

  4. Reported-by without Closes (6e4f8d2): Add Closes: tag if there's a public bug report URL. If this is an internal report, the Reported-by: alone is acceptable.

  5. Invalid stable email format (8fe4890): Change Cc: stable <stable@kernel.org> to Cc: stable@kernel.org.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git dc0f4d4280a7..962b4f32144b

Verdict: Most warnings are false positives or acceptable. Only 1 blocker: fix the stable email format in commit 8fe4890.


❌ dtb-check

Root cause: Pre-existing tree issue — qcom,shikra-dispcc nodes missing required power-domains property.

Failure details:

shikra-cqm-evk.dtb: clock-controller@5f00000 (qcom,shikra-dispcc): 'power-domains' is a required property
from schema $id: http://devicetree.org/schemas/clock/qcom,qcm2290-dispcc.yaml
(4 occurrences across shikra-cqm-evk, shikra-cqm-evk-imx577-camera, shikra-cqs-evk, shikra-cqs-evk-imx577-camera)

Analysis: This PR adds the power-domains property requirement to the qcom,qcm2290-dispcc binding (commit 10: "BACKPORT: dt-bindings: clock: qcom,qcm2290-dispcc: Add missing power-domains property") and applies it to the agatti board (commit 11: "BACKPORT: arm64: dts: qcom: agatti: Add missing CX power domain to DISPCC").

However, the shikra boards (shikra-cqm-evk, shikra-cqs-evk) also use qcom,shikra-dispcc, which is compatible with qcom,qcm2290-dispcc. These boards were not updated in this PR, so they now fail the new binding requirement.

This is a pre-existing tree issue exposed by the binding update, not introduced by the PR.

Fix: Add power-domains = <&rpmhpd QCM2290_CX>; to the clock-controller@5f00000 nodes in:

  • arch/arm64/boot/dts/qcom/shikra.dtsi (or the relevant shikra DTSI file)

This can be done in a follow-up patch or as an additional commit in this PR.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/shikra-cqm-evk.dtb

❌ check-patch-compliance

Root cause: 4 commits have compliance issues: 2 missing Link: tags, 2 content mismatches, 1 invalid prefix.

Failure details:

1. Missing Link (commit 7):

Checking commit: UPSTREAM: dt-bindings: pinctrl: qcom,sm6115-lpass-lpi: add QCM2290 compatible
No 'Link' found in commit message

2. Missing Link (commit 12):

Checking commit: UPSTREAM: dt-bindings: display/msm/gpu: Straighten out reg-names on A619L/610/702
No 'Link' found in commit message

3. Content mismatch (commit 4):

Checking commit: BACKPORT: arm64: dts: qcom: add gpu_zap_shader label
Change is different from the one mentioned in Link

4. Content mismatch (commit 17):

Checking commit: BACKPORT: arm64: dts: qcom: qrb2210: add dts for Arduino unoq
Change is different from the one mentioned in Link

5. Invalid prefix (commit 30):

Checking commit: QCLINUX: arm64: defconfig: Enable multicolor LED group support
Commit summary does not start with a required prefix

Fix:

  1. Missing Link (commits 7, 12): Add Link: <lore-url> to the commit message body. Fetch the upstream patch with b4 am to get the correct lore URL.

  2. Content mismatch (commits 4, 17): These are BACKPORT: commits, so differences from upstream are expected (e.g., context changes, missing dependencies). Verify the changes are intentional adaptations. If so, document the delta in the commit message (e.g., "Adapted for qcom-6.18.y: removed X, adjusted Y").

  3. Invalid prefix (commit 30):QCLINUX: is not in the allowed prefix list (FROMLIST, FROMGIT, UPSTREAM, BACKPORT). This is a known checker limitation — vendor-only commits always fail check-patch-compliance. However, see tag-check below for the broader prefix requirement.

Reproduce locally:

# For missing Link:
b4 am --single-message -C -l -3 <link> -o /tmp/out
# For content mismatch:
git format-patch -1 <sha> --stdout > /tmp/pr.patch
b4 am --single-message -C -l -3 <link> -o /tmp/upstream.mbx
diff <(grep -E '^[+-][^+-]' /tmp/pr.patch)<(grep -E '^[+-][^+-]' /tmp/upstream.mbx)

❌ tag-check

Root cause: Commit 30 ("QCLINUX: arm64: defconfig: Enable multicolor LED group support") uses QCLINUX: prefix, which is valid for the broader tag-check but failed check-patch-compliance because that checker only accepts upstream-linkable prefixes.

Analysis: The target branch is qcom-6.18.y, which is notqcom-next or qcom-next-staging. Therefore, every commit must start with a valid prefix tag.

Valid prefixes for qcom-6.18.y:

  • FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

All 30 commits in this PR have valid prefixes (29 with UPSTREAM/BACKPORT/FROMGIT, 1 with QCLINUX).

Verdict:PASS — all commits have required prefix tags.

Note: The check-patch-compliance failure on commit 30 is a checker limitation — it only accepts FROMLIST/FROMGIT/UPSTREAM/BACKPORT, not QCLINUX. The commit is correctly tagged for the tree.


Recommendation

3 blockers to fix before merge:

  1. checkpatch (commit 8fe4890): Fix stable email format: Cc: stable@kernel.org (remove <...>).
  2. check-patch-compliance (commits 7, 12): Add Link: tags to the two dt-bindings commits.
  3. dtb-check (shikra boards): Add power-domains property to shikra dispcc nodes (can be a follow-up patch or added to this PR).

Non-blockers (acceptable as-is):

  • Checkpatch line length warnings (DTS formatting)
  • Checkpatch "arduino" vendor warnings (false positive — vendor added later in PR)
  • Checkpatch unknown commit IDs (commits are in this PR series)
  • check-patch-compliance content mismatches (expected for BACKPORT: commits — verify intentional)
  • check-patch-compliance QCLINUX: prefix rejection (known checker limitation)

@qlijarvis

Copy link
Copy Markdown

PR #995 — validate-patch

PR:#995

VerdictIssuesDetailed Report
0Full report

Final Summary

  1. Lore link present: 29/30 commits have lore links (commit 30 is QCLINUX, no link expected)
  2. Lore link matches PR commits: NO - Commit 3 links to wrong patch in series (patch 6/6 about board DTS, not uart2)
  3. Upstream patch status:
    • 24 commits: ✅ Upstreamed and merged
    • 4 commits: ⏳ In review (FROMGIT) or ❌ Missing
    • 1 commit: N/A (QCLINUX vendor-only)
    • 1 commit: ❌ Wrong lore link
  4. PR present in qcom-next/topics: Fail - 4/30 commit(s) are missing from both qcom-next and topics

Recommendation: Do not merge until:

  • Commit 3 lore link is corrected
  • Commits 6 and 9 are either accepted upstream or prefix changed to FROMLIST
  • Commits 10 and 17 are manually verified
Verdict: ❌ — click to expand

🔍 Patch Validation Report

PR:#995 (30 commits)
Verdict:FAIL


Executive Summary

This PR contains 30 commits with the following breakdown:

  • 24 commits present in qcom-next (✅)
  • 2 commits partially present (⚠️)
  • 4 commits missing from qcom-next/topics (❌)

Critical Issues Found:

  1. Commit 3/30: Wrong lore link - links to patch 6/6 (board DTS) but commit is about uart2 node
  2. Commit 6/30: Missing from qcom-next/topics
  3. Commit 9/30: Missing from qcom-next/topics
  4. Commit 30/30: QCLINUX vendor-only commit missing from qcom-next (expected for vendor commits)

Per-Commit Validation

✅ Commits 1-2: UPSTREAM qcm2290 uart fixes

Status: PASS
Lore links: Present and correct
Upstream status: ✅ ACKed - merged into mainline

  • Commit 1: cdf9756037d7 (uart3 QUP interconnect fix)
  • Commit 2: 89e4902ac726 (uart1/uart5 nodes)
    qcom-next: Present (exact patch-id match)
    Authorship: ✅ Correct - Wojciech Slenska preserved
    Diff: ✅ Faithful to upstream

❌ Commit 3/30: BACKPORT agatti uart2 node

Status: FAIL - Wrong lore link
Subject:BACKPORT: arm64: dts: qcom: agatti: add uart2 node
Lore link:https://lore.kernel.org/r/20251120155825.121483-6-r.mereu.kernel@arduino.cc
Issue: The lore link points to patch 6/6 of the series, which adds the full board DTS file (qrb2210-arduino-imola.dts), NOT the uart2 node. The uart2 addition is not in that patch.
Expected: Should link to a patch that actually adds uart2 to qcm2290.dtsi or agatti.dtsi
qcom-next: ❌ Missing from both qcom-next and topics
Recommendation: Find the correct lore patch for uart2 addition, or if this is a vendor-specific adaptation, use QCLINUX: prefix instead of BACKPORT:


✅ Commit 4/30: BACKPORT gpu_zap_shader label

Status: PASS (with adaptation note)
Lore link:https://lore.kernel.org/r/20251028-dt-zap-shader-v1-7-7eccb823b986@oss.qualcomm.com
qcom-next: Present (all added lines verified)
Note: Marked as BACKPORT with file path adaptation noted in commit message


✅ Commit 5/30: UPSTREAM qcm2290 APR

Status: PASS
Lore link:https://lore.kernel.org/r/20251022-rb1_hdmi_audio-v3-1-0d38f777a547@linaro.org
Upstream status: ✅ ACKed - merged as f8d21b5e4caa
qcom-next: Present (exact patch-id match)


❌ Commit 6/30: BACKPORT agatti FastRPC

Status: FAIL - Missing from integration
Subject:BACKPORT: arm64: dts: qcom: agatti: enable FastRPC on CDSP
Lore link:https://lore.kernel.org/r/20260113-agatti-fastrpc-v2-1-b66870213f89@oss.qualcomm.com
qcom-next: ❌ Missing from both qcom-next and topics
Upstream status: ⏳ Decision Pending - posted Jan 2026, no merge signal yet
Recommendation: Wait for upstream acceptance before merging, or use FROMLIST: prefix if merging before upstream acceptance


✅ Commits 7-8: UPSTREAM LPASS LPI

Status: PASS
Lore links: Present and correct
Upstream status: ✅ ACKed - merged into mainline

  • Commit 7: f919466878611 (dt-bindings)
  • Commit 8: 1fc30731562bb (qcm2290 LPASS LPI)
    qcom-next: Present (exact patch-id match)

❌ Commit 9/30: BACKPORT agatti higher OPP

Status: FAIL - Missing from integration
Subject:BACKPORT: arm64: dts: qcom: agatti: add higher OPP
Lore link:https://lore.kernel.org/r/20260507-iris-ar50lt-v1-16-d22cccedc3e2@oss.qualcomm.com
qcom-next: ❌ Missing from both qcom-next and topics
Upstream status: ⏳ Decision Pending - posted May 2026, no merge signal yet
Recommendation: Wait for upstream acceptance or use FROMLIST: prefix


⚠️ Commits 10-11: BACKPORT dispcc/CX

Status: PARTIAL
qcom-next: Partial evidence (subject/partial tree match, full change not verified)
Commit 11: Present in topics (all added lines verified)
Note: Commit 10 shows partial presence; manual verification recommended


✅ Commit 12/30: UPSTREAM gpu dt-bindings

Status: PASS
Lore link:https://lore.kernel.org/r/20251229-topic-6115_2290_gpu_dbgc-v1-1-4a24d196389c@oss.qualcomm.com
Upstream status: ✅ ACKed - merged as ae26b4d51334
qcom-next: Present (exact patch-id match)


✅ Commits 13-18: UPSTREAM Arduino bindings and board support

Status: PASS
Lore links: Present and correct
Upstream status: ✅ ACKed - all merged into mainline

  • Commit 13: d16ffac77171 (vendor-prefixes)
  • Commit 14: 311d173da672 (arm: qcom bindings)
  • Commit 15: a7bde7c10902 (trivial-devices)
  • Commit 16: 43a3adb6dd39 (spidev)
  • Commit 18: 1a040df09fab (arduino-imola fix)
    qcom-next: All present (exact patch-id match)
    Note: Commits 15-16 use patch.msgid.link URLs (equivalent to lore.kernel.org/r/)

⚠️ Commit 17/30: BACKPORT qrb2210 Arduino Imola DTS

Status: PARTIAL
Lore link:https://lore.kernel.org/r/20251120155825.121483-7-r.mereu.kernel@arduino.cc
qcom-next: Partial evidence
Note: Large board DTS file; partial tree match found


✅ Commits 19-24: UPSTREAM anx7625 bridge driver

Status: PASS
Lore links: Present (using patch.msgid.link format)
Upstream status: ✅ ACKed - all merged into mainline

  • Commit 19: 1d7532444a32 (dt-bindings)
  • Commit 20: f81455b2d332 (minimal Type-C)
  • Commit 21: 8ad0f7d2e6fd (message handling)
  • Commit 22: 10e9ff46fe07 (enforce requirements)
  • Commit 23: 8e3d8b338599 (don't crash)
  • Commit 24: 91d045058c68 (detect PD)
    qcom-next: All present (exact patch-id match)

✅ Commit 25/30: UPSTREAM arduino-imola display

Status: PASS
Lore link:https://lore.kernel.org/r/20260213-uno-q-anx7625-v2-1-c23359616528@oss.qualcomm.com
qcom-next: Present (all added lines verified)


✅ Commit 26/30: FROMGIT pm4125 vbus regulator

Status: PASS
Lore link:https://lore.kernel.org/r/20260706-add_pm4125-vbus-reg-v3-4-999d78a87b81@oss.qualcomm.com
qcom-next: Present in topics (fe0c58a643ab)
Prefix: ✅ Correct - FROMGIT indicates maintainer tree, not yet in mainline


✅ Commit 27/30: FROMGIT gcc-qcm2290 don't park RCGs

Status: PASS
Lore link:https://lore.kernel.org/r/20260722-agatti-no-park-v1-1-31ae3a4774e5@oss.qualcomm.com
qcom-next: Present in topics (all added lines verified)
Prefix: ✅ Correct - FROMGIT


✅ Commits 28-29: UPSTREAM/FROMGIT qcom-geni serial fixes

Status: PASS
Lore links: Present (using patch.msgid.link format)
Upstream status:

  • Commit 28: ✅ ACKed - merged as e3c04834ae1a
  • Commit 29: FROMGIT - present in topics
    qcom-next: Both present

⚠️ Commit 30/30: QCLINUX defconfig

Status: N/A (vendor-only)
Subject:QCLINUX: arm64: defconfig: Enable multicolor LED group support
Lore link: None (expected for QCLINUX prefix)
qcom-next: ❌ Missing (expected for vendor-only commits)
Note: QCLINUX prefix indicates vendor-only change; no upstream link required or expected


Issues Summary

IssueSeverityCommits AffectedRecommendation
Wrong lore link❌ FAIL3/30Fix lore link to point to actual uart2 patch, or change prefix to QCLINUX if vendor-specific
Missing from qcom-next/topics❌ FAIL6/30, 9/30Wait for upstream acceptance or change prefix to FROMLIST
Partial presence⚠️ WARNING10/30, 17/30Manual verification recommended
QCLINUX missing from qcom-next⚠️ EXPECTED30/30Expected behavior for vendor-only commits

Commit Message Quality

Authorship Preservation:

  • ✅ UPSTREAM commits: Original authors correctly preserved
  • ✅ BACKPORT commits: Original authors preserved with backporter's Signed-off-by added
  • ✅ FROMGIT commits: Original authors preserved

Backport Notes:

  • ✅ Most commits include (cherry picked from commit <sha>) notation
  • ✅ Commit 3 includes adaptation note: [rsalveti: applied to qcm2290.dtsi, as the rename to agatti.dtsi is not part of this branch]

Link Format:

  • ✅ Most commits use Link: https://lore.kernel.org/r/<message-id>
  • ✅ Some commits use Link: https://patch.msgid.link/<message-id> (equivalent and acceptable)

Final Verdict

Overall Status:FAIL

Blocking Issues:

  1. Commit 3: Wrong lore link - must be corrected
  2. Commits 6, 9: Missing from qcom-next/topics - should not be merged until upstream acceptance or prefix changed to FROMLIST

Non-Blocking Issues:
3. Commits 10, 17: Partial presence - recommend manual verification
4. Commit 30: QCLINUX vendor commit missing from qcom-next - expected and acceptable


Final Summary

  1. Lore link present: 29/30 commits have lore links (commit 30 is QCLINUX, no link expected)
  2. Lore link matches PR commits: NO - Commit 3 links to wrong patch in series (patch 6/6 about board DTS, not uart2)
  3. Upstream patch status:
    • 24 commits: ✅ Upstreamed and merged
    • 4 commits: ⏳ In review (FROMGIT) or ❌ Missing
    • 1 commit: N/A (QCLINUX vendor-only)
    • 1 commit: ❌ Wrong lore link
  4. PR present in qcom-next/topics: FAIL - 4 commits missing (3, 6, 9, 30), 2 partial (10, 17)

Recommendation: Do not merge until:

  • Commit 3 lore link is corrected
  • Commits 6 and 9 are either accepted upstream or prefix changed to FROMLIST
  • Commits 10 and 17 are manually verified

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

CommitSubjectqcom-nexttopicsFinal
1/30[PATCH 01/30] UPSTREAM: arm64: dts: qcom: qcm2290: Fix uart3 QUPpresent - exact patch-id match at cdf9756skipped - not checked because qcom-next already contains the changepresent
2/30[PATCH 02/30] UPSTREAM: arm64: dts: qcom: qcm2290: Add uart1 andpresent - exact patch-id match at 89e4902skipped - not checked because qcom-next already contains the changepresent
3/30[PATCH 03/30] BACKPORT: arm64: dts: qcom: agatti: add uart2 nodemissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
4/30[PATCH 04/30] BACKPORT: arm64: dts: qcom: add gpu_zap_shader labelpartial - subject or partial tree evidence found, but full change was not verifiedpresent - all checked added lines are presentpresent
5/30[PATCH 05/30] UPSTREAM: arm64: dts: qcom: qcm2290: add APR and itspresent - exact patch-id match at f8d21b5skipped - not checked because qcom-next already contains the changepresent
6/30[PATCH 06/30] BACKPORT: arm64: dts: qcom: agatti: enable FastRPC onmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
7/30[PATCH 07/30] UPSTREAM: dt-bindings: pinctrl: qcom,sm6115-lpass-lpi:present - exact patch-id match at f919466skipped - not checked because qcom-next already contains the changepresent
8/30[PATCH 08/30] UPSTREAM: arm64: dts: qcom: qcm2290: add LPASS LPI pinpresent - exact patch-id match at 1fc3073skipped - not checked because qcom-next already contains the changepresent
9/30[PATCH 09/30] BACKPORT: arm64: dts: qcom: agatti: add higher OPPmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing
10/30[PATCH 10/30] BACKPORT: dt-bindings: clock: qcom,qcm2290-dispcc: Addpartial - subject or partial tree evidence found, but full change was not verifiedpartial - subject or partial tree evidence found, but full change was not verifiedpartial
11/30[PATCH 11/30] BACKPORT: arm64: dts: qcom: agatti: Add missing CXmissing - no subject, patch-id, or full tree-content match foundpresent - all checked added lines are presentpresent
12/30[PATCH 12/30] UPSTREAM: dt-bindings: display/msm/gpu: Straighten outpresent - exact patch-id match at ae26b4dskipped - not checked because qcom-next already contains the changepresent
13/30[PATCH 13/30] UPSTREAM: dt-bindings: vendor-prefixes: Add Arduinopresent - exact patch-id match at d16ffacskipped - not checked because qcom-next already contains the changepresent
14/30[PATCH 14/30] UPSTREAM: dt-bindings: arm: qcom: Add arduino imola,present - exact patch-id match at 311d173skipped - not checked because qcom-next already contains the changepresent
15/30[PATCH 15/30] UPSTREAM: dt-bindings: trivial-devices: add arduino spipresent - exact patch-id match at a7bde7cskipped - not checked because qcom-next already contains the changepresent
16/30[PATCH 16/30] UPSTREAM: spi: spidev: add compatible for arduino spipresent - exact patch-id match at 43a3adbskipped - not checked because qcom-next already contains the changepresent
17/30[PATCH 17/30] BACKPORT: arm64: dts: qcom: qrb2210: add dts forpartial - subject or partial tree evidence found, but full change was not verifiedpartial - subject or partial tree evidence found, but full change was not verifiedpartial
18/30[PATCH 18/30] UPSTREAM: arm64: dts: qcom: arduino-imola: fix faultypresent - exact patch-id match at 1a040dfskipped - not checked because qcom-next already contains the changepresent
19/30[PATCH 19/30] UPSTREAM: dt-bindings: drm/bridge: anx7625: describepresent - exact patch-id match at 1d75324skipped - not checked because qcom-next already contains the changepresent
20/30[PATCH 20/30] UPSTREAM: drm: bridge: anx7625: implement minimalpresent - exact patch-id match at f81455bskipped - not checked because qcom-next already contains the changepresent
21/30[PATCH 21/30] UPSTREAM: drm: bridge: anx7625: implement messagepresent - exact patch-id match at 8ad0f7dskipped - not checked because qcom-next already contains the changepresent
22/30[PATCH 22/30] UPSTREAM: drm: bridge: anx7625: enforcepresent - exact patch-id match at 10e9ff4skipped - not checked because qcom-next already contains the changepresent
23/30[PATCH 23/30] UPSTREAM: drm: bridge: anx7625: don't crash if Type-Cpresent - exact patch-id match at 8e3d8b3skipped - not checked because qcom-next already contains the changepresent
24/30[PATCH 24/30] UPSTREAM: drm: bridge: anx7625: correctly detect if PDpresent - exact patch-id match at 91d0450skipped - not checked because qcom-next already contains the changepresent
25/30[PATCH 25/30] UPSTREAM: arm64: dts: qcom: qrb2210-arduino-imola:present - all checked added lines are presentskipped - not checked because qcom-next already contains the changepresent
26/30[PATCH 26/30] FROMGIT: arm64: dts: qcom: Fix pm4125 vbus regulatorpartial - subject or partial tree evidence found, but full change was not verifiedpresent - exact patch-id match at fe0c58a643ab27b4b87c8ca2e72e35fce6889215present
27/30[PATCH 27/30] FROMGIT: clk: qcom: gcc-qcm2290: don't park QUP RCGsmissing - no subject, patch-id, or full tree-content match foundpresent - all checked added lines are presentpresent
28/30[PATCH 28/30] UPSTREAM: serial: qcom-geni: fix TX DMA buffer flushpresent - exact patch-id match at e3c0483skipped - not checked because qcom-next already contains the changepresent
29/30[PATCH 29/30] FROMGIT: serial: qcom-geni: do not advance stale DMApartial - subject or partial tree evidence found, but full change was not verifiedpresent - all checked added lines are presentpresent
30/30[PATCH 30/30] QCLINUX: arm64: defconfig: Enable multicolor LED groupmissing - no subject, patch-id, or full tree-content match foundmissing - no subject, patch-id, or full tree-content match foundmissing

Final Status

overall_status: FAIL
present_commits: 24/30
partial_commits: 2/30
missing_commits: 4/30
topics_checked_for_commits: 11/30
final_summary: PR present in qcom-next/topics: Fail - 4/30 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #995 — checker-log-analyzer

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

CheckerResultSummary
CheckerResultSummary
checkpatch4 commits with warnings
dt-binding-checkAll bindings passed validation
dtb-checkPre-existing tree issues (not caused by PR)
sparse-checkPassed
check-uapi-headersPassed
check-patch-compliance4 failures: 3 content mismatches, 1 prefix rejection
tag-checkAll commits have valid prefixes (target: qcom-6.18.y)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR:#995 - Add Arduino Imola (QRB2210) board support with ANX7625 bridge and serial fixes
Source:https://github.com/qualcomm-linux/kernel-config/actions/runs/32426744420

CheckerResultSummary
checkpatch4 commits with warnings
dt-binding-checkAll bindings passed validation
dtb-checkPre-existing tree issues (not caused by PR)
sparse-checkPassed
check-uapi-headersPassed
check-patch-compliance4 failures: 3 content mismatches, 1 prefix rejection
tag-checkAll commits have valid prefixes (target: qcom-6.18.y)

❌ checkpatch

Root cause: Four commits have checkpatch warnings that should be reviewed.

Failure details:

Commit 1:BACKPORT: arm64: dts: qcom: add gpu_zap_shader label

WARNING: Unknown commit id 'e8c2af660ba2', maybe rebased or not pulled?
#15: Fixes: e8c2af660ba2 ("arm64: dts: qcom: sc7180: Add "zap-shader" to the adreno node")

Commit 2:UPSTREAM: drm: bridge: anx7625: don't crash if Type-C port is not used

WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#24: Reported-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>

Commit 3:UPSTREAM: drm: bridge: anx7625: correctly detect if PD can be disabled

WARNING: Unknown commit id '8ad0f7d2e6fd', maybe rebased or not pulled?
#15: Fixes: 8ad0f7d2e6fd ("drm: bridge: anx7625: implement message sending")

Commit 4:UPSTREAM: serial: qcom-geni: fix TX DMA buffer flush

WARNING: Invalid email format for stable: 'stable <stable@kernel.org>', prefer 'stable@kernel.org'
#32: Cc: stable <stable@kernel.org>

Fix:

  1. Unknown commit warnings (commits 1 & 3): These are false positives — the Fixes: tags reference commits that exist in the upstream tree but not in the current branch. This is acceptable for BACKPORT: and UPSTREAM: patches. No action needed.

  2. Reported-by/Closes (commit 2): Add a Closes: tag immediately after Reported-by::

    git rebase -i <base># mark commit as 'edit'# Edit commit message to add:
    Reported-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
    Closes: <URL-to-bug-report>
    git commit --amend
    git rebase --continue
  3. Invalid stable email format (commit 4): Change Cc: stable <stable@kernel.org> to Cc: stable@kernel.org:

    git rebase -i <base># mark commit as 'edit'# Edit commit message
    git commit --amend
    git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git dc0f4d4280a7..6e188e5097bc

❌ dtb-check

Root cause: Pre-existing tree issues in overlay files — not introduced by this PR.

Failure details:

The dtb-check log shows numerous reg_format and avoid_default_addr_size warnings in:

  • qcs6490-rb3gen2-industrial-mezzanine.dtso
  • talos-evk-lvds-auo,g133han01.dtso
  • hamoa-camera.dtsi (camera overlay)

Example errors:

../arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine.dtso:348.3-15: Warning (reg_format): /fragment@11/__overlay__/codec@0,4:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../arch/arm64/boot/dts/qcom/hamoa-camera.dtsi:615.3-36: Warning (reg_format): /fragment@1/__overlay__/qcom,cci0@ac15000:reg: property has invalid length (16 bytes) (#address-cells == 2, #size-cells == 1)

Analysis: These are pre-existing tree issues in overlay/camera DTSI files that are unrelated to the PR's changes. The PR adds qrb2210-arduino-imola.dts which is a new board file, not modifications to these existing overlays. The dtb-check baseline subtraction should have filtered these out, but they appear because the base build may have been incomplete or these files were recently added to the build.

Fix: No action required for this PR. These are tree-wide issues that should be fixed separately in the affected overlay files by:

  1. Adding explicit #address-cells and #size-cells to parent nodes
  2. Fixing reg property cell counts to match parent addressing

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dtb

❌ check-patch-compliance

Root cause: Three commits have content mismatches with their upstream links, and one commit uses the QCLINUX: prefix which is not accepted by the checker.

Failure details:

Content mismatches:

  1. Commit:BACKPORT: arm64: dts: qcom: add gpu_zap_shader label

    Change is different from the one mentioned in Link
    
  2. Commit:BACKPORT: dt-bindings: clock: qcom,qcm2290-dispcc: Add missing power-domains property

    Change is different from the one mentioned in Link
    
  3. Commit:BACKPORT: arm64: dts: qcom: qrb2210: add dts for Arduino unoq

    Change is different from the one mentioned in Link
    

Prefix rejection:

  1. Commit:QCLINUX: arm64: defconfig: Enable multicolor LED group support
    Commit summary does not start with a required prefix
    

Fix:

For content mismatches (commits 1-3):

These are marked as BACKPORT: which indicates intentional modifications from upstream. The checker flags them because the diff doesn't match exactly. This is expected behavior for backports. To verify these are legitimate adaptations:

# For each commit, fetch the upstream patch and compare
b4 am --single-message -C -l -3 <Link-URL> -o /tmp/upstream
git format-patch -1 <commit-sha> --stdout > /tmp/local.patch
# Review the differences — if they are context-only or legitimate adaptations, document them in the commit message

If the differences are legitimate (e.g., context changes, prerequisite differences), add a note to the commit message explaining the adaptation. If there are unintended differences, align the patch with upstream.

For prefix rejection (commit 4):

The QCLINUX: prefix is a vendor-internal tag that is not accepted by check-patch-compliance. This is a known checker limitation — the checker only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Options:

  • If this is a vendor-only change with no upstream equivalent, the checker will always fail. This is expected and can be noted as a known limitation.
  • If the change should eventually go upstream, change the prefix to PENDING: (but note that PENDING: also fails the checker).
  • If the change is based on an upstream discussion or patch, change to FROMLIST: and add a Link: tag.

Reproduce locally:

# For content mismatch analysis
b4 am --single-message -C -l -3 <link> -o /tmp/out
diff <(git format-patch -1 <sha> --stdout | awk '/^diff/,/^--$/'| grep -E '^[+-][^+-]') \
<(awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]')

Verdict

3 blockers to fix before merge:

  1. checkpatch: Fix Reported-by/Closes: ordering and stable email format (2 commits)
  2. check-patch-compliance: Verify and document the 3 BACKPORT: content mismatches
  3. check-patch-compliance: Address the QCLINUX: prefix rejection (known limitation for vendor-only changes)

Non-blockers:

  • dtb-check failures are pre-existing tree issues unrelated to this PR
  • checkpatch "Unknown commit id" warnings are false positives for backported patches

Patching existing DT nodes based on full path is error prone and
generally not recommended. Follow the pattern introduced in the last
platforms, add gpu_zap_shader label to the ZAP node and use it in the
board files.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251028-dt-zap-shader-v1-7-7eccb823b986@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 2377626)
[rsalveti: only the qcm2290 hunk is backported, as the label is required by
the Arduino UNO Q board DT; the other platforms are left untouched to avoid
churn on boards that do not need it]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add APR (asynchronous packet router) node and its associated services
required to enable audio on QRB2210 RB1 board.
Cc: Srinivas Kandagatla <srini@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Link: https://lore.kernel.org/r/20251022-rb1_hdmi_audio-v3-1-0d38f777a547@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit f8d21b5)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
On Agatti platform the ADSP provides FastRPC support. Add corresponding
device node, in order to be able to utilize the DSP offload from the
Linux side.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260113-agatti-fastrpc-v2-1-b66870213f89@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 851d5ae)
[rsalveti: applied to qcm2290.dtsi, as the rename to agatti.dtsi is not
part of this branch]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…mpatible
Add a compatible for the LPASS LPI pin controller on QCM2290. It seems
to be compatible with sm6115 LPASS pinctrl.
Cc: Konrad Dybcio <konradybcio@kernel.org>
Cc: Srinivas Kandagatla <srini@kernel.org>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20251007-rb1_hdmi_audio-v2-1-821b6a705e4c@linaro.org
(cherry picked from commit f919466)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add the Low Power Audio SubSystem Low Power Island (LPASS LPI) pin
controller device node required for audio subsystem on Qualcomm
QRB2210 RB1. QRB2210 is based on qcm2290 which is based on sm6115.
While at this, also add description of lpi_i2s2 pins (active state)
required for audio playback via HDMI/I2S.
Cc: Srinivas Kandagatla <srini@kernel.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Link: https://lore.kernel.org/r/20251022-rb1_hdmi_audio-v3-2-0d38f777a547@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 1fc3073)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add additional OPP entries for the Agatti platform to support higher
operating frequencies as specified in the hardware documentation.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260507-iris-ar50lt-v1-16-d22cccedc3e2@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit f8874bc)
[rsalveti: applied to qcm2290.dtsi, as the rename to agatti.dtsi is not
part of this branch]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…domains property
Add the missing power-domains property to associate DISPCC with RPMPD_CX.
This is to ensure the genpd performance state votes on the GDSC to get
propagated to the CX rail and to avoid the rail under-voltage conditions.
This change breaks ABI, as the power-domains property is marked as
required.
Fixes: 85cedb4 ("dt-bindings: clock: Add qualcomm QCM2290 DISPCC bindings")
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260718-shikra-dispcc-gpucc-v6-1-62703e05ef0f@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 70ef527)
[rsalveti: keep the DSI1/sleep clocks already present in this branch, and
require power-domains only when the compatible is not qcom,shikra-dispcc.
Upstream marks it required for every compatible, but this branch also
matches qcom,shikra-dispcc against this schema and the Shikra DTs do not
describe the CX domain yet, so making it unconditional regresses
dtbs_check on shikra-cq{m,s}-evk{,-imx577-camera}]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…SPCC
Add the missing power-domains property to associate DISPCC with CX rail.
This is to ensure the genpd performance state votes on the GDSC to get
propagated to the CX rail and to avoid the rail under-voltage conditions.
Fixes: a2b3209 ("arm64: dts: qcom: qcm2290: Add display nodes")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260718-shikra-dispcc-gpucc-v6-12-62703e05ef0f@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 26d7b23)
[rsalveti: applied to qcm2290.dtsi, keeping the DSI1/sleep clocks already
present in this branch]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…619L/610/702
These GPUs have physically have the same regions as the base case
("main" + "cx_mem" + "cx_dbgc"). Remove the specific override.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Patchwork: https://patchwork.freedesktop.org/patch/696547/
Message-ID: <20251229-topic-6115_2290_gpu_dbgc-v1-1-4a24d196389c@oss.qualcomm.com>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251229-topic-6115_2290_gpu_dbgc-v1-1-4a24d196389c@oss.qualcomm.com
(cherry picked from commit ae26b4d)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add entry for Arduino SRL (https://arduino.cc)
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20251120155825.121483-2-r.mereu.kernel@arduino.cc
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit d16ffac)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Document Arduino imola, UnoQ codename.
Arduino UnoQ combines Qualcomm Dragonwing™ QRB2210 microprocessor
with STMicroelectronics STM32U585 microcontroller.
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20251120155825.121483-5-r.mereu.kernel@arduino.cc
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 311d173)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add unoq mcu interface. It describes an iterface between Qualcomm
QRB2210 microprocessor and STMicroelectronics STM32U585 microcontroller
on Arduino UnoQ single-board computer.
This is a trivial device since it's usage is handled in user space
by the arduino-router service.
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://patch.msgid.link/20251120155825.121483-3-r.mereu.kernel@arduino.cc
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit a7bde7c)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Add compatible entry in spidev describing in Arduino UnoQ single-board
computer the interface between Qualcomm QRB2210 microprocessor and
STMicroelectronics STM32U585 microcontroller.
It is handled in user space by the arduino-router service.
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://patch.msgid.link/20251120155825.121483-4-r.mereu.kernel@arduino.cc
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 43a3adb)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Arduino UnoQ is a single-board computer combining Qualcomm
Dragonwing™ QRB2210 microprocessor with STMicroelectronics STM32U585
microcontroller.
Support to a simply boot to shell environment includes:
- UART, I2C, SPI
- onboard LEDS
- eMMC
- WLAN and BT
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20251120155825.121483-7-r.mereu.kernel@arduino.cc
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 3f745bc)
[rsalveti: include qcm2290.dtsi, as the rename to agatti.dtsi is not
part of this branch]
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
CS pin added on pinctrl0 property is causing spidev to return -ENODEV
since that GPIO is already part of spi5 pinmuxing.
Fixes: 3f745bc ("arm64: dts: qcom: qrb2210: add dts for Arduino unoq")
Signed-off-by: Riccardo Mereu <r.mereu@arduino.cc>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260213101002.105238-1-r.mereu.kernel@arduino.cc
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 1a040df)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
ANX7625 can be used to mux converted video stream with the USB signals
on a Type-C connector. Describe the optional connector subnode, make it
exclusive with the AUX bus and port@1 as it is impossible to have both
eDP panel and USB-C connector.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260121-anx7625-typec-v2-1-d14f31256a17@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 1d75324)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
ANX7625 can be used as a USB-C controller, handling USB and DP data
streams. Provide minimal Type-C support necessary for ANX7625 to
register the Type-C port device and properly respond to data / power
role events from the Type-C partner.
While ANX7625 provides TCPCI interface, using it would circumvent the
on-chip running firmware. Analogix recommended using the higher-level
interface instead of TCPCI.
Reviewed-by: Xin Ji <xji@analogixsemi.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260121-anx7625-typec-v2-2-d14f31256a17@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit f81455b)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Swapping the data role requires sending the message to the other USB-C
side. Implement sending these messages through the OCM. The code is
largely based on the anx7411.c USB-C driver.
Reviewed-by: Xin Ji <xji@analogixsemi.com>
Link: https://patch.msgid.link/20260121-anx7625-typec-v2-3-d14f31256a17@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 8ad0f7d)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…ency
When CONFIG_TYPEC is enabled, but USB_ROLE_SWITCH=m, the anx7625 driver
fails to link as built-in:
aarch64-linux-ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_i2c_remove':
anx7625.c:(.text+0x6ec): undefined reference to `usb_role_switch_put'
aarch64-linux-ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_typec_set_status':
anx7625.c:(.text+0x3080): undefined reference to `usb_role_switch_set_role'
aarch64-linux-ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_i2c_probe':
anx7625.c:(.text+0x5368): undefined reference to `fwnode_usb_role_switch_get'
The problem is that both dependencies are optional in the sense of allowing
the anx7625 driver to call the exported interfaces to be used from a loadable
module, but cannot work for built-in drivers. It would be possible to handle
all nine combinations of the CONFIG_TYPEC and CONFIG_USB_ROLE_SWITCH tristate
options, but that does add a lot of complexity that seems unnecessary when
in reality any user of this driver would have both enabled anyway.
Turn both dependencies into hard 'depends on' here to only allow configurations
where it's possible to actually use them, and remove the misguided IS_REACHABLE()
check that did nothing here.
Fixes: f81455b ("drm: bridge: anx7625: implement minimal Type-C support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260304083604.724519-1-arnd@kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 10e9ff4)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The typec_set_*() functions do not tolerate being passed the NULL
typec_port instance. However, if CONFIG_TYPEC is enabled, but anx7625
DT node doesn't have the usb-c connector fwnode, then typec_port remains
NULL, crashing the kernel. Prevent calling typec_set_foo() functions by
checking that ctx->typec_port is not NULL in anx7625_typec_set_status().
Call trace:
typec_set_orientation+0x18/0x68 (P)
anx7625_typec_set_status+0x108/0x13c
anx7625_work_func+0x124/0x438
process_one_work+0x214/0x648
worker_thread+0x1b4/0x358
kthread+0x14c/0x214
ret_from_fork+0x10/0x20
Code: 910003fd a90153f3 aa0003f3 2a0103f4 (f9431400)
Fixes: f81455b ("drm: bridge: anx7625: implement minimal Type-C support")
Reported-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
[db: dropped chunk anx7625_typec_unregister(), wrote commit message]
Cc: Amit Kucheria <akucheri@qti.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260215-anx-fix-no-typec-v1-1-75172a5ca88b@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 8e3d8b3)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
During initial checks the ANX7625 bridge can be powered on before
setting up the Type-C port. At this point, when
anx7625_ocm_loading_check() checks if it can disable PD or not, it will
notice that typec_port is not set and disable PD, breaking orientation
and HPD handling. Unify the check between anx7625_ocm_loading_check()
anx7625_i2c_probe() and anx7625_typec_register() and check for the
presence of the "connector" node.
Fixes: 8ad0f7d ("drm: bridge: anx7625: implement message sending")
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Xin Ji <xji@analogixsemi.com>
Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Link: https://patch.msgid.link/20260211-anx7625-fix-pd-v1-1-1dd31451b06f@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
(cherry picked from commit 91d0450)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…bridge
Aruino Uno-Q uses Analogix ANX7625 DSI-to-DP bridge to convert DSI
signals to the connected USB-C DisplayPort dongles. Decribe the chip,
USB-C connector and routing of USB and display signals.
Co-developed-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260213-uno-q-anx7625-v2-1-c23359616528@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit d5574bb)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
…onstraints
Remove pm8150b fallback compatible from pm4125_vbus and fix regulator
constraints in qrb2210 DTS files to use microvolt instead of
microamp.
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260706-add_pm4125-vbus-reg-v3-4-999d78a87b81@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit cab6d96)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The gcc_qupv3_wrap0_s[0-5]_clk_src RCGs feed the QUP serial engines
(UART/I2C/SPI). Since shared RCGs are parked to XO at registration time,
binding the gcc-qcm2290 driver reprograms these clocks away from the
rate configured by the bootloader. For the UART used as the boot console
this drops early console output until the serial driver later
reconfigures the clock.
Switch the QUP wrap0 clock sources over to
clk_rcg2_shared_no_init_park_ops so their frequency is left unchanged at
registration time, keeping the bootloader-configured console working
across the gcc driver probe.
Fixes: 01a0a6c ("clk: qcom: Park shared RCGs upon registration")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260722-agatti-no-park-v1-1-31ae3a4774e5@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
(cherry picked from commit 9c4cee9)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
When transmit flushing a qcom-geni UART during an ongoing TX DMA, the
UART gets stuck infinitely repeating corrupted TX DMA frames.
The DMA-mode uart_ops does not provide a flush_buffer callback, so an
in-flight transfer can complete after serial core has reset the transmit
kfifo, underflowing its length and resubmitting page-sized transfers
indefinitely. Add one that stops the transfer and clears tx_remaining
and tx_queued.
The stop path was also broken: it unmapped the buffer while the serial
engine could still read it, and never reset the TX DMA state machine.
Cancel the main sequencer command first, then reset the state machine
and wait for it before unmapping. Drop the early return so a pending
mapping is also cleaned up when the main command is inactive.
The bug can be triggered from userspace with a large write immediately
followed by TCOFLUSH. A following tcdrain will hang forever. The bug was
reproduced and this fix was validated on Arduino Uno Q (QRB2210)
using /dev/ttyHS1.
Assisted-by: Claude:claude-5-opus Codex:gpt-5
Signed-off-by: Jan Sebastian Götte <linux@jaseg.de>
Fixes: 2aaa43c ("tty: serial: qcom-geni-serial: add support for serial engine DMA")
Cc: stable <stable@kernel.org>
Reviewed-by: Praveen Talari <praveen.talari@oss.qualcomm.com>
Link: https://patch.msgid.link/20260729174105.21838-2-git@jaseg.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e3c0483)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The qcom GENI serial DMA TX completion path advances the transmit fifo by
the number of bytes recorded in port->tx_remaining.
If uart_flush_buffer() runs after the hardware has completed a DMA
transfer but before the DMA completion interrupt has been handled, the
serial core resets the transmit fifo while port->tx_remaining still
describes the old DMA transfer.
A previous fix avoided advancing an empty fifo by checking that the fifo
length is at least tx_remaining. That still does not distinguish the old
DMA payload from new bytes written after the flush. If userspace writes
new data before the stale DMA completion interrupt is handled, the fifo
can again contain at least tx_remaining bytes and the stale completion
can advance and discard those new bytes.
Mark an in-flight DMA transfer stale when the transmit fifo is flushed.
The later completion still unprepares the original DMA mapping using the
saved length, but it no longer advances the transmit fifo.
Fixes: 2aaa43c ("tty: serial: qcom-geni-serial: add support for serial engine DMA")
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Link: https://patch.msgid.link/20260708131726.768692-1-lgs201920130244@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7ea38c4)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@ricardosalveti

Copy link
Copy Markdown
Author

"Commits 3, 6, 9 missing from qcom-next/topics" — not missing. All three are in released mainline tags, in linux-next, and in qcom/for-next:

CommitUpstream SHAMainline
agatti: add uart2 node925ac1f6ec75v7.0-rc1
agatti: enable FastRPC on the ADSP851d5ae6003bv7.0-rc1
agatti: add higher OPP levelsf8874bc57921v7.2-rc1

These are precisely the three commits applied to qcm2290.dtsi where upstream touches agatti.dtsi (the rename isn't on this branch), so their diffs don't match upstream by content — which is what a patch-id based presence check would key on. Each carries a [rsalveti: ...] note explaining the adaptation.

"Commit 3 has the wrong lore link" — the link is correct. The report reads ...121483-6-... as "patch 6/6, which adds the board DTS". git send-email numbers the message-id suffix from the cover letter, so -6- is patch 5/6. Patchwork resolves that message-id to:

[v3,5/6] arm64: dts: qcom: agatti: add uart2 node

which matches the commit. The Link: is also verbatim from the upstream commit, so changing it would mean rewriting an upstream trailer.

Fixed in the update:

  • Dropped the QCLINUX: defconfig commit (30 → 29 commits). CONFIG_LEDS_GROUP_MULTICOLOR has never been in the upstream arm64 defconfig.
  • One BACKPORT (add gpu_zap_shader label) had its adaptation rationale written into the upstream author's commit body, above their Signed-off-by. Moved it to a [rsalveti: ...] note after the cherry-pick trailer, so it isn't attributed to them. Message-only; the diff is unchanged.

Remaining checker failures, all expected:

  • check-patch-compliance: 7 BACKPORT: commits fail the diff comparison against their Link:. That is inherent — the prefix exists to signal the patch didn't apply as posted, and the checker has no exemption for it. Each documents its deviation in a [rsalveti: ...] note. Worth considering upstream whether BACKPORT: should relax check 3.
  • checkpatch: 6 warnings, every one inherited verbatim from an upstream commit — 3× line length, one Reported-by:/Closes:, one 75-char, and Cc: stable <stable@kernel.org> (from e3c04834ae1a). Rewriting them would change diffs that currently match upstream.
  • dtb-check: the reg_format warnings are in overlay and camera DTSI files this series doesn't touch, as the report itself concludes. Locally, dtbs-compare across all 308 qcom DTBs at base vs head shows no new schema warnings and 28 fixed. The shikra power-domains regression flagged in the earlier 13:03 report was fixed before that run; that pair was against head 962b4f32144b and is stale.

@ricardosalveti
Ricardo Salveti (ricardosalveti) marked this pull request as ready for review August 25, 2026 20:32
Sign up for freeto 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.

11 participants

@ricardosalveti@qlijarvis@SuMere@lumag@laklimov@dikshita-agarwal@imrashai@quic-kdybcio@arndb@kotarake@lgs2513