Skip to content

QCLINUX: firmware: qcom: memory_dump_v2: assign dump table region to non-secure world - #1712

Open
Jie Gan (jiegan0107) wants to merge 1 commit into
qualcomm-linux:tech/noup/debug/allfrom
jiegan0107:tech/noup/debug/all
Open

QCLINUX: firmware: qcom: memory_dump_v2: assign dump table region to non-secure world#1712
Jie Gan (jiegan0107) wants to merge 1 commit into
qualcomm-linux:tech/noup/debug/allfrom
jiegan0107:tech/noup/debug/all

Conversation

@jiegan0107

Copy link
Copy Markdown

Add assign_dump_table_region() to notify TZ that the memory dump table region should be made accessible to AOP, via a self-contained SCM SMC call (QCOM_SCM_SVC_UTIL / QCOM_SCM_UTIL_DUMP_TABLE_ASSIGN). The SMC convention probe (__get_convention()) and dispatch helper are kept local to this driver rather than exported from qcom_scm, since only the register-argument SMC path is needed here.

Wire it into mem_dump_alloc(), falling back to the IMEM-based dump table registration path if the SCM call fails.

…non-secure world

Add assign_dump_table_region() to notify TZ that the memory dump table
region should be made accessible to AOP, via a self-contained SCM SMC
call (QCOM_SCM_SVC_UTIL / QCOM_SCM_UTIL_DUMP_TABLE_ASSIGN). The SMC
convention probe (__get_convention()) and dispatch helper are kept
local to this driver rather than exported from qcom_scm, since only
the register-argument SMC path is needed here.

Wire it into mem_dump_alloc(), falling back to the IMEM-based dump
table registration path if the SCM call fails.

signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #1712 — validate-patch

PR: #1712

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1712 - QCLINUX: firmware: qcom: memory_dump_v2: assign dump table region to non-secure world
Upstream commit: N/A (vendor-only commit)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear description of functionality
Fixes tag present/correct N/A Not a fix commit
Authorship preserved Author: Jie Gan
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/firmware/qcom/memory_dump_v2.c Adds 132 lines, removes 3 lines - self-contained SCM SMC implementation

Issues

  • Signed-off-by trailer formatting: The trailer is lowercase signed-off-by: but must be capitalized Signed-off-by: per kernel coding standards. This will fail checkpatch.pl.

Verdict

Fix the Signed-off-by capitalization before merging. The code change itself is self-contained and appropriate for a vendor-only commit.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Partial — subject or partial tree evidence found in qcom-next, but full change was not verified (per integration_presence_report.md)

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

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: firmware: qcom: memory_dump_v2: assign dump table 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: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #1712 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning, 3 checks
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance QCLINUX prefix not accepted
tag-check QCLINUX: prefix present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1712 - QCLINUX: firmware: qcom: memory_dump_v2: assign dump table region to non-secure world
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32229972779

Checker Result Summary
checkpatch 1 warning, 3 checks
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance QCLINUX prefix not accepted
tag-check QCLINUX: prefix present

❌ checkpatch

Root cause: Lowercase signed-off-by: instead of Signed-off-by: and alignment style issues.

Failure details:

WARNING: 'Signed-off-by:' is the preferred signature form
#17: 
signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>

CHECK: Alignment should match open parenthesis
#58: FILE: drivers/firmware/qcom/memory_dump_v2.c:1001:
+static int memdump_scm_smc_call(const struct qcom_scm_desc *desc,
+				 enum qcom_scm_convention convention,

CHECK: Alignment should match open parenthesis
#70: FILE: drivers/firmware/qcom/memory_dump_v2.c:1013:
+	args[0] = ARM_SMCCC_CALL_VAL(smccc_call_type, qcom_smccc_convention,
+				      desc->owner,

CHECK: Alignment should match open parenthesis
#94: FILE: drivers/firmware/qcom/memory_dump_v2.c:1037:
+		pr_err("SCM call (svc=%#x cmd=%#x) requested WAITQ_SLEEP resume, which is unsupported here\n",
+			desc->svc, desc->cmd);

6f39045949d0 total: 0 errors, 1 warnings, 3 checks, 160 lines checked

Fix:

  1. Fix the Signed-off-by capitalization (mandatory):

    git rebase -i HEAD~1   # mark commit as 'edit'
    git commit --amend -s  # This will add proper Signed-off-by
    # Or manually edit the commit message to change 'signed-off-by:' to 'Signed-off-by:'
    git rebase --continue
  2. Fix alignment issues (optional but recommended):

    In drivers/firmware/qcom/memory_dump_v2.c:1001:

    static int memdump_scm_smc_call(const struct qcom_scm_desc *desc,
                                     enum qcom_scm_convention convention,

    In drivers/firmware/qcom/memory_dump_v2.c:1013:

    args[0] = ARM_SMCCC_CALL_VAL(smccc_call_type, qcom_smccc_convention,
                                  desc->owner,

    In drivers/firmware/qcom/memory_dump_v2.c:1037:

    pr_err("SCM call (svc=%#x cmd=%#x) requested WAITQ_SLEEP resume, which is unsupported here\n",
           desc->svc, desc->cmd);

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git ab58a966eda4..7ccbaf2812bb

❌ check-patch-compliance

Root cause: QCLINUX: prefix is not in the allowed list for check-patch-compliance.

Failure details:

Checking commit: QCLINUX: firmware: qcom: memory_dump_v2: assign dump table region to non-secure world
Commit summary does not start with a required prefix

Analysis:

This is a known limitation of the check-patch-compliance checker. The checker only accepts these prefixes:

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

The QCLINUX: prefix is used for vendor-only changes that have no upstream equivalent. This checker will always fail for vendor-only commits with QCLINUX: prefix.

Fix:

No action required. This is expected behavior for vendor-only changes. The commit correctly uses QCLINUX: to indicate it's a Qualcomm-specific change not intended for upstream submission. The checker limitation is documented in the skill references.

If this were intended for upstream, you would:

  1. Post the patch to the appropriate mailing list
  2. Change prefix to FROMLIST:
  3. Add Link: <lore-url> to the commit message

But since this is vendor-specific firmware code, QCLINUX: is the correct prefix.


Verdict

1 blocker to fix before merge:

  • Fix the Signed-off-by: capitalization (mandatory — checkpatch WARNING)

Optional improvements:

  • Fix the 3 alignment style issues (checkpatch CHECKs — cosmetic)

Expected failures (no action needed):

  • check-patch-compliance failure is expected for QCLINUX: prefixed commits

The check-patch-compliance failure is a known checker limitation for vendor-only code and does not block merge.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants