Skip to content

QCLINUX: arm64: dts: qcom: Enable combo mode on CSI1&& Fix GPIO free and acquire logic #1232

Open
mvadlama-lab wants to merge 2 commits into
qualcomm-linux:tech/overlay/dtfrom
mvadlama-lab:qli0.0_combo_fix
Open

QCLINUX: arm64: dts: qcom: Enable combo mode on CSI1&& Fix GPIO free and acquire logic #1232
mvadlama-lab wants to merge 2 commits into
qualcomm-linux:tech/overlay/dtfrom
mvadlama-lab:qli0.0_combo_fix

Conversation

@mvadlama-lab
Copy link
Copy Markdown

In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node.
And prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.

CRs-Fixed: 4515096
CRs-Fixed: 4503635

In order to enable combo mode on CSI1 mode, resources
needs to be in shared mode. This change adds required
resources under res-mgr node.

Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
@qcomlnxci qcomlnxci requested review from a team, Komal-Bajaj, aiquny and quic-kaushalk and removed request for a team May 25, 2026 16:28
@qcomlnxci qcomlnxci requested a review from a team May 26, 2026 07:33
@qlijarvis
Copy link
Copy Markdown

PR #1232 — validate-patch

PR: #1232

Verdict Issues Detailed Report
N/A 0 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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #1232
Upstream commit: N/A (vendor-only commits)
Verdict: ⏭️ SKIP — Validation not applicable

Summary

This PR contains 2 commits, both with the QCLINUX: prefix:

  1. QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port
  2. QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic

Reason

The QCLINUX: prefix indicates vendor-only changes that are not intended for upstream submission. According to the validate-patch skill scope:

Commits with QCLINUX:, PENDING:, or WORKAROUND: prefixes have no upstream lore link by design and cannot be validated with this skill.

No lore.kernel.org links were found in the PR description or commit messages, which is correct and expected for QCLINUX: commits.

Commit Message Review

Both commits follow the expected format for vendor-only changes:

Check Commit 1 Commit 2 Note
Prefix present QCLINUX: QCLINUX: Vendor-only prefix correctly applied
Subject line ✅ Clear ✅ Clear Describes the change concisely
Commit body ⚠️ Minimal ⚠️ Minimal Brief description present; could be more detailed
Signed-off-by ✅ Present ✅ Present Vadlamani Manjusha mvadlama@qti.qualcomm.com
Lore link N/A N/A Not required for QCLINUX: commits

Observations

Commit 1: Enable combo mode for CSI1 port

  • Changes: Adds resource manager configuration for shared MCLK1 pinctrl
  • Scope: Single file (lemans-evk-camera-sensor.dtsi)
  • Nature: Device tree configuration for camera sensor resource sharing

Commit 2: Fix GPIO free and acquire logic

  • Changes: Removes MCLK GPIO entries from individual sensor nodes, moves pinctrl management to resource manager
  • Scope: Single file (lemans-evk-camera-sensor.dtsi)
  • Nature: Refactors GPIO/pinctrl handling to prevent conflicts between GPIO framework and pinctrl subsystem

Verdict

⏭️ SKIP — This skill validates patches against lore.kernel.org sources only. Vendor-only QCLINUX: commits are out of scope for upstream validation.

Recommendation

These commits appear to be internal device tree configuration changes for Qualcomm's Lemans EVK camera subsystem. They should be reviewed for:

  • Device tree binding correctness
  • Hardware configuration accuracy
  • Consistency with Qualcomm's internal camera driver expectations

No upstream validation is required or applicable.

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 changes, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commits

@qlijarvis
Copy link
Copy Markdown

PR #1232 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera subsystem binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits missing required prefix or using invalid QCLINUX: prefix
tag-check Subject prefix validation failed (assuming non-qcom-next branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1232 - Enable combo mode for CSI1 port and fix GPIO logic
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26438847605

Checker Result Summary
checkpatch 2 commits missing commit description
dt-binding-check ⏭️ No binding changes
dtb-check Pre-existing camera subsystem binding issues
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 4 commits missing required prefix or using invalid QCLINUX: prefix
tag-check Subject prefix validation failed (assuming non-qcom-next branch)

❌ checkpatch

Root cause: Two commits have subject lines that are too long and lack proper commit body descriptions.

Failure details:

Commit efca17ffc13a ("QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node.")
WARNING: Missing commit description - Add an appropriate one

Commit 195d151de621 ("QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic Prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions.")
WARNING: Missing commit description - Add an appropriate one

Fix:
The commit subjects contain the entire description. Move the explanation from the subject line to the commit body:

git rebase -i <base_sha>   # mark commits efca17ff and 195d151d as 'edit'

# For commit efca17ff:
git commit --amend
# Change subject to: "QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port"
# Add body:
#   In order to enable combo mode on CSI1 mode, resources needs to be
#   in shared mode. This change adds required resources under res-mgr node.

# For commit 195d151d:
git commit --amend
# Change subject to: "QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic"
# Add body:
#   Prevent GPIOs managed by pinctrl from being requested and freed via
#   the GPIO framework. Restrict GPIO request/free operations to
#   non-pinctrl GPIOs by adding appropriate conditions.

git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git df3ae9703774b70a7b7758b53498a25de9f87174..84d86bc42c8933fa685cb62e17f12ad34776310f

❌ dtb-check

Root cause: Pre-existing camera subsystem binding issues in purwa-camx-el2.dtb and hamoa-camx-el2.dtb — these are NOT introduced by this PR.

Failure details:
The dtb-check log shows extensive validation failures for camera subsystem nodes (qcom,cam-*, qcom,cci*, qcom,msm-cam-smmu), all in overlay DTB files that were added by the merged topic branch topic/tech/overlay/dt, not by PR #1232.

Key errors:

purwa-camx-el2.dtb: /soc@0/qcom,cam-smmu: failed to match any schema with compatible: ['qcom,msm-cam-smmu', 'simple-bus']
purwa-camx-el2.dtb: /soc@0/qcom,cci0@ac15000: failed to match any schema with compatible: ['qcom,cci', 'simple-bus']
purwa-camx-el2.dtb: pinctrl@f100000 (qcom,x1e80100-tlmm): Unevaluated properties are not allowed ('cam-sensor-active-rst0', 'cam-sensor-mclk0-active', 'cci0-active', ...)

Analysis:
PR #1232 modifies only arch/arm64/boot/dts/qcom/lemans-evk-camera-sensor.dtsi (sensor configuration changes). The failing DTBs (purwa-camx-el2.dtb, hamoa-camx-el2.dtb) are from the topic branch merge and have missing camera subsystem bindings. These errors are pre-existing tree issues, not caused by this PR.

Fix:
No action required for this PR. The camera subsystem bindings need to be added separately:

  • Add Documentation/devicetree/bindings/media/qcom,msm-cam-smmu.yaml
  • Add Documentation/devicetree/bindings/media/qcom,cci.yaml
  • Update qcom,x1e80100-tlmm.yaml to allow camera pinctrl properties

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/purwa-camx-el2.dtb

❌ check-patch-compliance

Root cause: All 4 commits use QCLINUX: prefix or have no prefix, which are not accepted by the compliance checker.

Failure details:

Checking commit: arm64: dts: qcom: hamoa: add CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port ...
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay
Commit summary does not start with a required prefix

Checking commit: QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic ...
Commit summary does not start with a required prefix

Analysis:
The check-patch-compliance checker only accepts these prefixes: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:. The QCLINUX: prefix is a vendor-internal tag that is not recognized by this checker. This is a known limitation — vendor-only commits with QCLINUX: will always fail this check.

Additionally, commit a7c58823f27f ("arm64: dts: qcom: hamoa: add CAMX EL2 overlay") has no prefix at all.

Fix:
If these patches have been posted upstream or are derived from upstream:

  • Change QCLINUX: to FROMLIST: and add Link: <lore-url> to the commit body
  • For the unprefixed commit, add an appropriate prefix

If these are genuinely vendor-only changes with no upstream equivalent:

  • Accept that check-patch-compliance will fail (known limitation)
  • Ensure commits still have the QCLINUX: prefix for internal tracking

Reproduce locally:

# The checker script is in kernel-checkers repo
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base> --head <head>

❌ tag-check

Root cause: Assuming the target branch is NOT qcom-next or qcom-next-staging, all commits must have a valid subject prefix. Two commits in this PR use QCLINUX: which is valid, but two commits from the topic branch merge lack proper prefixes or use QCLINUX: which may not be appropriate for the target branch.

Commits in scope:

  1. a7c58823f27f — "arm64: dts: qcom: hamoa: add CAMX EL2 overlay" (NO PREFIX)
  2. efca17ffc13a — "QCLINUX: arm64: dts: qcom: Enable combo mode for CSI1 port ..." (has QCLINUX:)
  3. 8d6e4e962e7e — "QCLINUX: arm64: dts: qcom: add Purwa CAMX EL2 overlay" (has QCLINUX:)
  4. 195d151de621 — "QCLINUX: arm64: dts: qcom: Fix GPIO free and acquire logic ..." (has QCLINUX:)

Analysis:

  • Commit a7c58823f27f is missing a prefix entirely → FAIL
  • Commits with QCLINUX: are valid IF the target branch allows vendor-only commits

Fix:
For commit a7c58823f27f:

git rebase -i <base_sha>   # mark commit a7c58823 as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: hamoa: add CAMX EL2 overlay"
git rebase --continue

Note: If the target branch is qcom-next or qcom-next-staging, this check does not apply. Without GitHub API access, I cannot confirm the exact target branch, but the presence of topic branch merges and QCLINUX: usage suggests a non-mainline integration branch.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch: Move commit descriptions from subject lines to commit bodies (2 commits)
  2. check-patch-compliance: Add missing prefix to commit a7c58823f27f or accept that QCLINUX: commits will fail this checker
  3. tag-check: Add prefix to commit a7c58823f27f

Non-blocking issues:

  • dtb-check failures are pre-existing camera subsystem binding issues from the topic branch, not introduced by this PR

Prevent GPIOs managed by pinctrl from being requested and freed
via the GPIO framework. Restrict GPIO request/free operations to
non-pinctrl GPIOs by adding appropriate conditions.

Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
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