Skip to content

QCLINUX: arm64: dts: qcom: lemans and monaco: Rework RTSS Mailbox DT to use syscon and staging overlays - #1768

Open
sargarram7 wants to merge 7 commits into
qualcomm-linux:tech/overlay/dtfrom
sargarram7:feature/rtss-topic-dt
Open

QCLINUX: arm64: dts: qcom: lemans and monaco: Rework RTSS Mailbox DT to use syscon and staging overlays#1768
sargarram7 wants to merge 7 commits into
qualcomm-linux:tech/overlay/dtfrom
sargarram7:feature/rtss-topic-dt

Conversation

@sargarram7

@sargarram7 sargarram7 commented Sep 5, 2026

Copy link
Copy Markdown

Target milestone: QLI-2.1

Summary

Reworks the RTSS Mailbox device-tree support on Lemans and Monaco to address maintainers review feedback on the original design merged via #1327: syscon-based TCSR access, staging-overlay consolidation, and removal of the standalone RTSS-only DTBOs.

Impact

  • Adds ipcc1-4 + syscon nodes to lemans.dtsi/monaco.dtsi (base DTB - always compiled in, no overlay needed).
  • Adds 3 reserved-memory regions to monaco.dtsi (also base DTB).
  • Adds rtss_mailbox node to lemans-staging.dtso/monaco-staging.dtso (*-staging.dtbo overlay - applied at FIT-assembly
    time for configs that include the staging overlay, per the existing FIT config).
  • Removes lemans-rtss-mb.dtso/monaco-rtss-mb.dtso + Makefile entries.

Unchanged

  • No changes to any other subsystem/driver/DT node outside Impact files.

Tracking issue

qualcomm-linux/meta-qcom#3085

This PR dependency

  • None

Related PRs

RTSS interface enablement is handled using a staging DTBO overlay to carry the rtss mailbox node, both bootup and DTBO patching with it applied have been verified on target.

Testing

  • Default bootup verified on lemans and Monaco targets with no regression.
  • After RTSS mailbox/staging DT overlay is applied, mailbox communication with RTSS and the CLI utilities were verified on both targets.

Change Request

CRs-Fixed: 4668068

RTSS Feature Enablement Exception

https://jira-dc.qualcomm.com/jira/browse/QLIJIRA-123

@sargarram7

Copy link
Copy Markdown
Author

Dmitry Baryshkov (@lumag), Ricardo Salveti (@ricardosalveti), Nicolas Dechesne (@ndechesne), Viswanath Kraleti (@vkraleti), Komal Bajaj (@Komal-Bajaj) would you please review the changes.
Really appreciate your review and feedback on this - the PR description and the context comment above cover the background on why the original design (#1327) is being reworked after 2.0 GA PRs feedback.
This change is required for the upcoming QLI-2.1 milestone as well.
Thank you.

Comment thread arch/arm64/boot/dts/qcom/lemans.dtsi Outdated
Comment thread arch/arm64/boot/dts/qcom/lemans-staging.dtso Outdated
Comment thread arch/arm64/boot/dts/qcom/lemans-staging.dtso Outdated
Comment thread arch/arm64/boot/dts/qcom/lemans-staging.dtso Outdated
Comment thread arch/arm64/boot/dts/qcom/lemans-staging.dtso Outdated
Comment thread arch/arm64/boot/dts/qcom/lemans-staging.dtso Outdated
@qcomlnxci
qcomlnxci requested a review from a team September 8, 2026 22:40
@sargarram7

Copy link
Copy Markdown
Author

Thank you Dmitry Baryshkov (@lumag) , I have addressed comments.

@qlijarvis

Copy link
Copy Markdown

PR #1768 — validate-patch

PR: #1768

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix and Revert commits; no lore link expected or required for vendor-only changes
  2. Lore link matches PR commits: N/A — no lore link to compare against (vendor-only work)
  3. Upstream patch status: N/A — vendor-only changes, not posted upstream
  4. PR present in qcom-next/topics: Fail - 5/12 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1768 - RTSS Mailbox device tree rework for Lemans and Monaco
Upstream commit: N/A (vendor-only changes)
Verdict: ❌ FAIL

Commit Message

This PR contains 12 commits, all with QCLINUX: prefix or Revert "QCLINUX:..." subjects, indicating vendor-only changes not intended for upstream submission.

Check Status Note
Subject matches upstream N/A No upstream source - vendor-only commits
Body preserves rationale Commit messages explain the design changes clearly
Fixes tag present/correct N/A No Fixes tags required for new feature work
Authorship preserved All commits authored by Ram Sargar with matching Signed-off-by
Backport note (if applicable) N/A Not backports - original vendor work

Commit message quality observations:

  • Commits 1-2: Revert commits with clear rationale explaining why (syscon-based design required by upstream review feedback)
  • Commits 3-7: QCLINUX-prefixed commits adding IPCC, syscon, and RTSS mailbox nodes
  • Commit 8: dt-bindings schema addition (no QCLINUX prefix, but minimal commit message: "Add missing rtss mailbox dt schema file")
  • Commits 9-12: Consolidation and rework commits with minimal descriptions

Commit message issues:

  • Commit 8 has no QCLINUX: prefix despite being vendor-only work (dt-bindings for a vendor driver)
  • Commits 8, 9, 10, 11, 12 have very terse commit messages that don't explain the "why" - only the "what"
  • Commit 11 & 12 say "Move platform data to the driver" but don't explain what data or why

Diff

All 12 commits modify device tree files and bindings. No diff comparison with upstream is applicable since these are vendor-only changes.

File Status Notes
arch/arm64/boot/dts/qcom/* N/A Vendor DTS changes - no upstream comparison
Documentation/devicetree/bindings/mailbox/qcom,rtss-mailbox.yaml N/A Vendor binding - no upstream comparison

Issues

  1. No lore links present - All commits are QCLINUX: vendor-only or revert vendor commits, so no lore.kernel.org links are expected or required per the validate-patch skill rules.

  2. Integration presence FAIL - Per integration_presence_report.md:

    • 5/12 commits are completely missing from both qcom-next and kernel-topics
    • 7/12 commits show only partial presence (subject or partial tree evidence, but full change not verified)
    • 0/12 commits fully present in the integration branches

    Missing commits:

    • Commit 1/12: Revert "QCLINUX: arm64: dts: qcom: lemans: Add RTSS..."
    • Commit 2/12: Revert "QCLINUX: arm64: dts: qcom: Monaco: Add RTSS..."
    • Commit 4/12: QCLINUX: arm64: dts: qcom: lemans: Add RTSS Mailbox
    • Commit 7/12: QCLINUX: arm64: dts: qcom: Monaco: Add RTSS Mailbox
    • Commit 8/12: dt-bindings: mailbox: Add qcom,rtss-mailbox schema

    Partial commits (not fully verified):

    • Commits 3, 5, 6, 9, 10, 11, 12
  3. Commit 8 missing QCLINUX: prefix - The dt-bindings commit adds a vendor-specific schema (qcom,rtss-mailbox.yaml) but lacks the QCLINUX: prefix that marks it as vendor-only work.

  4. Weak commit messages - Commits 8-12 have minimal descriptions that don't explain rationale or context.

Verdict

Do not merge - This PR fails integration presence validation. The changes are not present in qcom-next or kernel-topics, which is required before merging into this tree.

Required actions:

  1. Verify integration branch status - Confirm whether these commits should already be in qcom-next. If they should be there but aren't, investigate why.
  2. Add QCLINUX: prefix to commit 8 - The dt-bindings commit needs the vendor prefix for consistency.
  3. Improve commit messages for commits 8-12 - Add rationale and context, not just terse descriptions.
  4. Re-run integration presence check after the commits land in qcom-next or topics.

Final Summary

  1. Lore link present: No — QCLINUX: prefix and Revert commits; no lore link expected or required for vendor-only changes
  2. Lore link matches PR commits: N/A — no lore link to compare against (vendor-only work)
  3. Upstream patch status: N/A — vendor-only changes, not posted upstream
  4. PR present in qcom-next/topics: Fail - 5/12 commits completely missing from both qcom-next and topics; 7/12 commits show only partial presence. Per integration_presence_report.md: "overall_status: FAIL, present_commits: 0/12, partial_commits: 7/12, missing_commits: 5/12"

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: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/12 [PATCH 01/12] Revert "QCLINUX: arm64: dts: qcom: lemans: Add RTSS missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
2/12 [PATCH 02/12] Revert "QCLINUX: arm64: dts: qcom: Monaco: Add RTSS missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
3/12 [PATCH 03/12] QCLINUX: arm64: dts: qcom: lemans: Add IPCC and syscon partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
4/12 [PATCH 04/12] QCLINUX: arm64: dts: qcom: lemans: Add RTSS Mailbox missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
5/12 [PATCH 05/12] QCLINUX: arm64: dts: qcom: Monaco: Add SAIL/RTSS partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
6/12 [PATCH 06/12] QCLINUX: arm64: dts: qcom: Monaco: Add IPCC and syscon partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
7/12 [PATCH 07/12] QCLINUX: arm64: dts: qcom: Monaco: Add RTSS Mailbox missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
8/12 [PATCH 08/12] dt-bindings: mailbox: Add qcom,rtss-mailbox schema missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
9/12 [PATCH 09/12] arm64: dts: qcom: lemans: Consolidate TCSR syscon nodes partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
10/12 [PATCH 10/12] arm64: dts: qcom: monaco: Consolidate TCSR syscon nodes partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
11/12 [PATCH 11/12] arm64: dts: qcom: monaco-staging: Rework rtss-mailbox partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
12/12 [PATCH 12/12] arm64: dts: qcom: lemans-staging: Rework rtss-mailbox partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: FAIL
present_commits: 0/12
partial_commits: 7/12
missing_commits: 5/12
topics_checked_for_commits: 12/12
final_summary: PR present in qcom-next/topics: Fail - 5/12 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1768 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 5 commits missing Signed-off-by:
dt-binding-check Passed
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance 12 commits missing required prefix or using QCLINUX:
tag-check ⚠️ See qcom-next-check below
qcom-next-check ⚠️ 2 Revert commits + 5 non-QCLINUX commits lack upstream prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1768 - RTSS Mailbox device tree support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/34287067153

Checker Result Summary
checkpatch 5 commits missing Signed-off-by:
dt-binding-check Passed
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance 12 commits missing required prefix or using QCLINUX:
tag-check ⚠️ See qcom-next-check below
qcom-next-check ⚠️ 2 Revert commits + 5 non-QCLINUX commits lack upstream prefix

❌ checkpatch — Missing Signed-off-by

Root cause: Five commits are missing the mandatory Signed-off-by: trailer.

Failure details:

Commit cd7081202a05 ("dt-bindings: mailbox: Add qcom,rtss-mailbox schema")
ERROR: Missing Signed-off-by: line(s)

Commit e876596c0e40 ("arm64: dts: qcom: lemans: Consolidate TCSR syscon nodes")
ERROR: Missing Signed-off-by: line(s)

Commit 6d9210796de0 ("arm64: dts: qcom: monaco: Consolidate TCSR syscon nodes")
ERROR: Missing Signed-off-by: line(s)

Commit 200e3cf9e057 ("arm64: dts: qcom: monaco-staging: Rework rtss-mailbox node")
ERROR: Missing Signed-off-by: line(s)

Commit e63bcc747a4f ("arm64: dts: qcom: lemans-staging: Rework rtss-mailbox node")
ERROR: Missing Signed-off-by: line(s)

Fix: Add Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com> to each commit:

git rebase -i <base_sha>   # mark each commit as 'edit'
# For each commit:
git commit --amend --signoff --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..<head>

❌ check-patch-compliance — Prefix Violations

Root cause: All 12 commits fail prefix validation. The checker rejects QCLINUX: prefix (7 commits) and requires a prefix for Revert commits (2 commits) and non-prefixed commits (3 commits).

Failure details:

Checking commit: Revert "QCLINUX: arm64: dts: qcom: lemans: Add RTSS Mailbox device tree overlay"
Commit summary does not start with a required prefix

Checking commit: Revert "QCLINUX: arm64: dts: qcom: Monaco: Add RTSS Mailbox device tree overlay"
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: lemans: Add IPCC and syscon nodes for RTSS Mailbox
Commit summary does not start with a required prefix
[... 9 more commits with same error ...]

Analysis:

The check-patch-compliance checker only accepts these prefixes:

  • FROMLIST: (posted to mailing list)
  • FROMGIT: (from maintainer tree)
  • UPSTREAM: (merged into mainline)
  • BACKPORT: (backported with modifications)

It rejects QCLINUX:, PENDING:, and WORKAROUND: as these are vendor-internal prefixes.

Breakdown by commit type:

  1. Commits 1-2 (Revert commits): Missing prefix before Revert

    • Current: Revert "QCLINUX: ..."
    • Required: QCLINUX: Revert "QCLINUX: ..." or UPSTREAM: Revert "..."
  2. Commits 3-7 (QCLINUX-prefixed): Vendor-only changes

    • These use QCLINUX: prefix, which the checker rejects
    • This is a known limitation — vendor-only commits will always fail this checker
  3. Commits 8-12 (No prefix): Missing any prefix

    • Current: dt-bindings: mailbox: Add qcom,rtss-mailbox schema
    • Required: Add appropriate prefix based on upstream status

Fix:

For Revert commits (1-2):

git rebase -i <base_sha>
# Mark commits as 'edit', then:
git commit --amend -m "QCLINUX: Revert \"QCLINUX: arm64: dts: qcom: lemans: Add RTSS Mailbox device tree overlay\""

For QCLINUX commits (3-7):

  • If these are truly vendor-only with no upstream equivalent → no fix possible (checker limitation)
  • If posted upstream → change to FROMLIST: and add Link: trailer

For non-prefixed commits (8-12):

git rebase -i <base_sha>
# Mark commits as 'edit', then:
git commit --amend -m "QCLINUX: dt-bindings: mailbox: Add qcom,rtss-mailbox schema"
# Or use FROMLIST:/UPSTREAM: if applicable

Note: This checker enforces upstream-linkable prefixes only. If the PR targets qcom-next or qcom-next-staging and contains vendor-only work, these failures are expected and may be acceptable depending on project policy.


⚠️ qcom-next-check — Vendor-Only vs Upstream Prefix Policy

Context: This PR targets the kernel-topics repository, which typically merges into qcom-next or qcom-next-staging. Based on the integration presence report, these commits are being validated against qcom-next.

Analysis:

If the target branch is qcom-next or qcom-next-staging:

  • Subject-line prefix tags are not mandatory (tag-check skipped)
  • However, commits should still follow project conventions

If the target branch is any other branch:

  • Every commit must start with a valid prefix tag

Commit prefix status:

Commits Current Prefix Status Recommendation
1-2 Revert "QCLINUX: ..." ❌ Missing prefix before Revert Add QCLINUX: before Revert
3-7 QCLINUX: ✅ Valid vendor prefix OK for qcom-next
8 None ❌ Missing prefix Add QCLINUX: or upstream prefix
9-12 None ❌ Missing prefix Add QCLINUX: or upstream prefix

Recommendation:

  • If targeting qcom-next/qcom-next-staging: Fix the 2 Revert commits and 5 non-prefixed commits (8-12) by adding QCLINUX: prefix
  • If targeting any other branch: All commits need valid prefixes as shown above

Verdict

Blockers: 2 categories of issues must be fixed before merge:

  1. Critical (checkpatch): 5 commits missing Signed-off-by:must fix
  2. Policy (prefixes): 7 commits missing or incorrectly formatted prefix tags:
    • 2 Revert commits need prefix before Revert
    • 5 commits (8-12) need QCLINUX: or appropriate upstream prefix

Non-blockers:

  • 7 QCLINUX:-prefixed commits (3-7) will always fail check-patch-compliance due to checker limitation — acceptable for vendor-only work targeting qcom-next

Action required: Fix Signed-off-by: on 5 commits and add prefixes to 7 commits, then re-run CI.

…ee overlay"

This reverts commit 1923b1c.

The original overlay accessed the APSS TCSR mutex/status registers via
direct memory-mapped reg ranges and shipped RTSS as a standalone
lemans-rtss-mb.dtso overlay. Upstream review feedback on this design
requires:

 - Accessing the TCSR registers via a syscon phandle instead of a
   direct reg-mapped node.
 - Folding the RTSS mailbox node into the shared lemans-staging.dtso
   overlay instead of a separate, RTSS-only DTBO.

The following commits reintroduce this support using that syscon-based,
staging-overlay design.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
…ee overlay"

This reverts commit 1179022.

Same as the lemans overlay, the original Monaco overlay accessed the
APSS TCSR mutex/status registers via direct memory-mapped reg ranges
and shipped RTSS as a standalone monaco-rtss-mb.dtso overlay. Upstream
review feedback on this design requires:

 - Accessing the TCSR registers via a syscon phandle instead of a
   direct reg-mapped node.
 - Folding the RTSS mailbox node into the shared monaco-staging.dtso
   overlay instead of a separate, RTSS-only DTBO.

The following commits reintroduce this support using that syscon-based,
staging-overlay design.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
Add ipcc1-ipcc4 mailbox controllers and apss_tcsr_req, apss_tcsr_resp,
apss_shared_ipc syscon nodes for Lemans platform, required by the
RTSS Mailbox device node.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
Add rtss_mailbox device node for Lemans platform, syscon-based, using
ipcc1-ipcc4 and the apss_tcsr_req/apss_tcsr_resp/apss_shared_ipc
syscon nodes.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
… for RTSS Mailbox

Add ipcc1-4 mailbox nodes and the apss_tcsr_req/apss_tcsr_resp/
apss_shared_ipc syscon nodes on Monaco. These nodes back the
syscon/mbox phandle references used by the Monaco RTSS mailbox node
(qcom,rtss-mailbox).

Reserve the memory regions used by the SAIL/RTSS subsystem for its
TZ mailbox, shared-memory mailbox, and OTA buffer on Monaco. These
regions back the memory-region references used by the Monaco RTSS
mailbox node.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
Add the rtss_mailbox overlay node on Monaco, mirroring the Lemans
RTSS mailbox node.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
Add missing rtss mailbox dt schema file.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
@sargarram7
sargarram7 force-pushed the feature/rtss-topic-dt branch from 64ff024 to 8bffa16 Compare September 9, 2026 21:44
@sargarram7

Copy link
Copy Markdown
Author

hi Dmitry Baryshkov (@lumag), Ricardo Salveti (@ricardosalveti),
all the comments fixed, could you please take look and approve this PR.
All other PRs blocked on this.

#include <dt-bindings/clock/qcom,sa8775p-gcc.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>

&{/} {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add rtss_mailbox device node for Lemans platform, syscon-based, using
ipcc1-ipcc4 and the apss_tcsr_req/apss_tcsr_resp/apss_shared_ipc
syscon nodes.

You are not.

};

apss_shared_ipc: syscon@17c0000c {
compatible = "qcom,sa8775p-tcsr", "syscon";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What exactly is behind this address? TCSR is at the other address, so it can't be TCSR.

};

apss_shared_ipc: syscon@17c0000c {
compatible = "qcom,qcs8300-tcsr", "syscon";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question. Is it really TCSR?

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.

3 participants