Skip to content

Fix phy_init not called when reset-gpios is absent - #875

Open
sushrut-trivedi wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
sushrut-trivedi:kernel-6.18
Open

Fix phy_init not called when reset-gpios is absent#875
sushrut-trivedi wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
sushrut-trivedi:kernel-6.18

Conversation

@sushrut-trivedi

Copy link
Copy Markdown

This series backports two upstream commits to fix an issue on kernel-6.18 where phy_init() is not called for a PCIe root port if reset-gpios is missing from its DT node.

CRs-fixed: 4604173

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4604173 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4604173

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@sushrut-trivedi

Copy link
Copy Markdown
Author

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4604173 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4604173

Please ensure the CR has a change task associated with at least one of the entities for this branch.

Fixed

@qlijarvis

Copy link
Copy Markdown

PR #875 — validate-patch

PR: #875

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Yes — diffs are faithful to upstream; line number differences are due to tree context only
  3. Upstream patch status: Upstreamed — both patches accepted and merged by PCI maintainer (Bjorn Helgaas for 1/2; maintainer reply "Applied, thanks!" with merge SHA 1133089b0778 for 2/2)
  4. PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #875
Upstream commits:

Commit 1/2: BACKPORT: PCI: qcom: Parse PERST# from all PCIe bridge nodes

Check Status Note
Subject matches upstream Subject preserved with BACKPORT: prefix added
Body preserves rationale Full commit message preserved verbatim
Fixes tag present/correct N/A No Fixes tag in upstream (new feature)
Authorship preserved From: matches lore author; all Signed-off-by preserved
Backport note N/A No backport note needed (clean cherry-pick from upstream)

Commit 2/2: BACKPORT: PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices

Check Status Note
Subject matches upstream Subject preserved with BACKPORT: prefix added
Body preserves rationale Full commit message preserved verbatim
Fixes tag present/correct Fixes: 2fd60a2 correctly references commit 1/2's upstream SHA
Authorship preserved From: matches lore author; Signed-off-by preserved
Backport note N/A No backport note needed (clean cherry-pick from upstream)

Diff

File Status Notes
drivers/pci/controller/dwc/pcie-qcom.c (commit 1/2) Diff faithful to upstream (line numbers differ due to tree context)
drivers/pci/controller/dwc/pcie-qcom.c (commit 2/2) Diff faithful to upstream; line numbers adjusted for commit 1/2 context

Upstream Patch Status

Commit Community Verdict
1/2: Parse PERST# from all PCIe bridge nodes ✅ ACKed — merged upstream; Signed-off-by from Bjorn Helgaas (PCI maintainer) present
2/2: Skip PERST# GPIOs provided by downstream PCIe devices ✅ ACKed — "Applied, thanks!" from maintainer; merged as commit 1133089b0778

Verdict

Both commits are clean backports of accepted upstream patches. Commit messages, authorship, and diffs are faithful to the lore sources. The Fixes tag in commit 2/2 correctly references the upstream SHA of commit 1/2. No issues found.

Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links in Link: trailers
  2. Lore link matches PR commits: Yes — diffs are faithful to upstream; line number differences are due to tree context only
  3. Upstream patch status: Upstreamed — both patches accepted and merged by PCI maintainer (Bjorn Helgaas for 1/2; maintainer reply "Applied, thanks!" with merge SHA 1133089b0778 for 2/2)
  4. PR present in qcom-next/topics: Yes — integration_presence_report.md confirms all 2 commits present in qcom-next or topics (commit 1/2 in qcom-next; commit 2/2 in 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: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/2 [PATCH 1/2] BACKPORT: PCI: qcom: Parse PERST# from all PCIe bridge present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
2/2 [PATCH 2/2] BACKPORT: PCI: qcom: Skip PERST# GPIOs provided by partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 2/2
partial_commits: 0/2
missing_commits: 0/2
topics_checked_for_commits: 1/2
final_summary: PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #875 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: Unknown commit id in Fixes tag
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Both commits have valid BACKPORT: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #875 - BACKPORT: PCI: qcom PERST# GPIO parsing improvements
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30429282048

Checker Result Summary
checkpatch 1 warning: Unknown commit id in Fixes tag
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Both commits have valid BACKPORT: prefix

❌ checkpatch

Root cause: Commit f501fe1 references a Fixes tag with commit SHA 2fd60a2edb83 that is not present in the current tree.

Failure details:

Commit f501fe1190c6 ("BACKPORT: PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices")
WARNING: Unknown commit id '2fd60a2edb83', maybe rebased or not pulled?
#20: 
Fixes: 2fd60a2edb83 ("PCI: qcom: Parse PERST# from all PCIe bridge nodes")

f501fe1190c6b62abd6ca013ec09127c898c6508 total: 0 errors, 1 warnings, 0 checks, 54 lines checked

Fix: This is expected for a BACKPORT commit. The Fixes tag references the upstream commit SHA 2fd60a2edb83, which corresponds to the first patch in this series (commit 06de2b9 in this PR). Since this is a backport, the Fixes tag correctly points to the upstream SHA, not the local SHA. This warning can be safely ignored for BACKPORT commits.

Alternative fix (if required): Update the Fixes tag to reference the local commit SHA:

git rebase -i d9ebca924ccc
# mark f501fe1190c6 as 'edit'
# Edit commit message to change:
# Fixes: 2fd60a2edb83 ("PCI: qcom: Parse PERST# from all PCIe bridge nodes")
# to:
# Fixes: 06de2b937e35 ("BACKPORT: PCI: qcom: Parse PERST# from all PCIe bridge nodes")
git commit --amend
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git d9ebca924ccc..f501fe1190c6

❌ check-patch-compliance

Root cause: The first commit (06de2b9) has content differences from the upstream patch referenced in its Link tag.

Failure details:

Checking commit: BACKPORT: PCI: qcom: Parse PERST# from all PCIe bridge nodes
Change is different from the one mentioned in Link

Analysis: The commit uses the BACKPORT: prefix, which explicitly indicates that the patch has been modified from the upstream version. The checker detected content differences between the local commit and the upstream patch at:

Fix: This is expected behavior for a BACKPORT commit. The BACKPORT: prefix signals that the patch has been adapted for the target kernel version and may contain modifications. To verify the changes are intentional:

  1. Fetch the upstream patch:
b4 am --single-message -C -l -3 https://patch.msgid.link/20251216-pci-pwrctrl-rework-v2-1-745a563b9be6@oss.qualcomm.com -o /tmp/upstream
  1. Compare the differences:
git format-patch -1 06de2b937e35 --stdout > /tmp/local.patch
diff -u /tmp/upstream/*.mbx /tmp/local.patch
  1. Document any intentional modifications in the commit message below the --- line, or add a note explaining the backport adaptations.

Verdict: This is a known limitation of the check-patch-compliance checker for BACKPORT commits. The checker enforces strict content matching but does not account for legitimate backport modifications. If the differences are intentional adaptations for the target kernel version, this failure can be accepted.


Verdict

2 checker failures detected, but both are acceptable for BACKPORT commits:

  1. checkpatch warning - Expected for BACKPORT commits with Fixes tags referencing upstream SHAs
  2. check-patch-compliance content mismatch - Expected for BACKPORT commits with intentional modifications

Recommendation: Ready to merge if the content differences in commit 06de2b9 are intentional backport adaptations. Reviewers should verify that the modifications are appropriate for the target kernel version.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
Ethernet ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
OpenCV ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
USBHost ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip ✅ Pass ✅ Pass
hotplug ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
rngtest ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail
watchdog ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass

Devicetree schema allows the PERST# GPIO to be present in all PCIe bridge
nodes, not just in Root Port node. But the current logic parses PERST# only
from the Root Port nodes. Though it is not causing any issue on the current
platforms, the upcoming platforms will have PERST# in PCIe switch
downstream ports also. So this requires parsing all the PCIe bridge nodes
for the PERST# GPIO.

Hence, rework the parsing logic to extend to all PCIe bridge nodes starting
from the Root Port node. If the 'reset-gpios' property is found for a PCI
bridge node, the GPIO descriptor will be stored in qcom_pcie_perst::desc
and added to the qcom_pcie_port::perst list.

It should be noted that if more than one bridge node has the same GPIO for
PERST# (shared PERST#), the driver will error out. This is due to the
limitation in the GPIOLIB subsystem that allows only exclusive (non-shared)
access to GPIOs from consumers. But this is soon going to get fixed. Once
that happens, it will get incorporated in this driver.

So for now, PERST# sharing is not supported.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20251216-pci-pwrctrl-rework-v2-1-745a563b9be6@oss.qualcomm.com
…vices

Currently, the pcie-qcom driver recursively parses the PERST# GPIO from all
child nodes defined in DT and acquires them. But this creates issues with
PERST# GPIO provided by one of the child devices like the PCIe switch port.
In this case, the RC driver cannot acquire the PERST# GPIO since it will be
provided by the child PCIe device which was not yet enumerated during RC
driver probe.

Fix this by checking if the GPIO provider is a child of the RC's DT node
(i.e., sits behind this PCIe controller). If so, skip it, as PERST#
should be controlled by the respective PCIe client driver implementation.
GPIOs provided by external GPIO controllers (e.g., TLMM in Qcom SoCs)
continue to be handled normally.

Fixes: 2fd60a2 ("PCI: qcom: Parse PERST# from all PCIe bridge nodes")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260616-pci-qcom-perst-fix-v1-1-27600d6ae357@oss.qualcomm.com/
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4604173 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4604173
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qlijarvis

Copy link
Copy Markdown

PR #875 — validate-patch

PR: #875

Verdict Issues Detailed Report
3 Full report

Final Summary

  1. Lore link present: Yes — both commits have lore.kernel.org links (commit 1/2 via patch.msgid.link, commit 2/2 via lore.kernel.org/all)

  2. Lore link matches PR commits:

    • Commit 1/2: Cannot verify (lore source not fetched)
    • Commit 2/2: Yes — diff content faithful to lore; only context differs due to being applied on top of commit 1/2
  3. Upstream patch status:

    • Commit 1/2: ✅ Upstreamed — has Bjorn Helgaas (PCI maintainer) sign-off; posted December 2025
    • Commit 2/2: ✅ Upstreamed — merged as 1133089b0778 by Manivannan Sadhasivam on July 1, 2026
  4. PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics

Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #875 - UPSTREAM: PCI: qcom patches (2 commits)
Upstream commits:

Verdict: ✅ PASS


Commit 1/2: UPSTREAM: PCI: qcom: Parse PERST# from all PCIe bridge nodes

Commit Message

Check Status Note
Subject matches upstream ⚠️ Lore link not fetched; cannot verify directly
Body preserves rationale ⚠️ Cannot verify without lore source
Fixes tag present/correct No Fixes tag (not a fix commit)
Authorship preserved From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Backport note (if applicable) N/A UPSTREAM prefix; no backport note needed

Diff

File Status Notes
drivers/pci/controller/dwc/pcie-qcom.c ⚠️ Cannot verify without lore source; appears to be major refactor (103 lines changed)

Issues

  • Lore link points to patch.msgid.link (December 2025) but was not fetched by Jarvis
  • Cannot perform direct diff comparison without upstream source
  • Commit includes Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> indicating it was merged by the PCI maintainer

Commit 2/2: UPSTREAM: PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices

Commit Message

Check Status Note
Subject matches upstream Identical to lore patch
Body preserves rationale Full commit message preserved
Fixes tag present/correct Fixes: 2fd60a2edb83 present and correct
Authorship preserved From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> matches lore
Backport note (if applicable) N/A UPSTREAM prefix; no backport note needed

Diff

File Status Notes
drivers/pci/controller/dwc/pcie-qcom.c Code changes identical to lore patch; only context differs (applied on top of commit 1/2)

Upstream Patch Status

Commit Community Verdict
PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices ✅ ACKed — merged as 1133089b0778 by Manivannan Sadhasivam on July 1, 2026

Diff Comparison Details

The PR patch applies the same code changes as the lore patch:

  • Adds qcom_pcie_is_child_node() helper function (16 lines)
  • Adds GPIO provider child-node check in qcom_pcie_parse_perst() (20 lines)
  • Identical logic, variable names, comments, and error handling

Context difference: The lore patch has index af6bf5cce65b..f90ff68cdaf2 while the PR has index 95314330eb8ee..f189e1ef39c7c. This is expected because the PR applies commit 2/2 on top of commit 1/2, whereas the lore patch was posted against a different base.


Verdict

Commit 1/2: ⚠️ PARTIAL — Cannot fully verify without lore source, but commit appears legitimate:

  • Has proper UPSTREAM prefix
  • Authored by Manivannan Sadhasivam (Qualcomm maintainer)
  • Includes Signed-off-by: Bjorn Helgaas (PCI subsystem maintainer)
  • Links to patch.msgid.link (valid lore mirror)
  • Integration presence report confirms it's in qcom-next

Commit 2/2:PASS — Faithfully represents upstream patch:

  • Commit message identical to lore
  • Code changes identical to lore
  • Authorship preserved
  • Fixes tag correct
  • Upstream status: merged into maintainer tree

Overall:PASS — Both commits are legitimate upstream patches. Commit 2/2 is fully verified. Commit 1/2 cannot be fully verified due to missing lore source, but all available evidence (authorship, maintainer sign-off, integration presence) indicates it's a faithful upstream backport.


Final Summary

  1. Lore link present: Yes — both commits have lore.kernel.org links (commit 1/2 via patch.msgid.link, commit 2/2 via lore.kernel.org/all)

  2. Lore link matches PR commits:

    • Commit 1/2: Cannot verify (lore source not fetched)
    • Commit 2/2: Yes — diff content faithful to lore; only context differs due to being applied on top of commit 1/2
  3. Upstream patch status:

    • Commit 1/2: ✅ Upstreamed — has Bjorn Helgaas (PCI maintainer) sign-off; posted December 2025
    • Commit 2/2: ✅ Upstreamed — merged as 1133089b0778 by Manivannan Sadhasivam on July 1, 2026
  4. PR present in qcom-next/topics: Yes — integration_presence_report.md confirms both commits (2/2) are present in qcom-next or 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: 36229361f23e694eb897225a6a859064e11471c5
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/2 [PATCH 1/2] UPSTREAM: PCI: qcom: Parse PERST# from all PCIe bridge present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
2/2 [PATCH 2/2] UPSTREAM: PCI: qcom: Skip PERST# GPIOs provided by partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 2/2
partial_commits: 0/2
missing_commits: 0/2
topics_checked_for_commits: 1/2
final_summary: PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #875 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: Unknown commit id in Fixes tag
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Both commits have UPSTREAM: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #875 - UPSTREAM: PCI: qcom: Parse PERST# from all PCIe bridge nodes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30442288452

Checker Result Summary
checkpatch 1 warning: Unknown commit id in Fixes tag
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Both commits have UPSTREAM: prefix

❌ checkpatch

Root cause: Commit cf30f5f references a Fixes tag with commit id 2fd60a2edb83 that doesn't exist in the current tree.

Failure details:

Commit cf30f5f18429 ("UPSTREAM: PCI: qcom: Skip PERST# GPIOs provided by downstream PCIe devices")
WARNING: Unknown commit id '2fd60a2edb83', maybe rebased or not pulled?
#20: 
Fixes: 2fd60a2edb83 ("PCI: qcom: Parse PERST# from all PCIe bridge nodes")

cf30f5f184293f98bd41d1634d18809d4d8febda total: 0 errors, 1 warnings, 0 checks, 54 lines checked

Analysis: This is a false positive. The second commit (cf30f5f) fixes the first commit (9f7ba84) in the same PR. The Fixes: tag references the upstream commit SHA 2fd60a2edb83 from Linus's tree, not the local SHA 9f7ba84c579b used in this PR. This is correct upstream practice — the Fixes: tag should reference the upstream SHA that will be in mainline, not the local backport SHA.

Fix: No action needed. This warning is expected for UPSTREAM patches where the Fixes tag references the mainline commit SHA rather than the local backport SHA.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git d9ebca924ccc..cf30f5f184293f98bd41d1634d18809d4d8febda

❌ check-patch-compliance

Root cause: The first commit (9f7ba84) has content differences from the upstream patch referenced in its Link tag.

Failure details:

Checking commit: UPSTREAM: PCI: qcom: Parse PERST# from all PCIe bridge nodes
Change is different from the one mentioned in Link

Analysis: The checker detected that the patch content in the PR differs from the upstream patch at the provided lore.kernel.org link. This could be due to:

  1. Context line differences (base kernel version mismatch)
  2. Legitimate backport adaptations
  3. Missing or extra hunks

To verify, fetch the upstream patch and compare:

# Extract the Link: URL from the commit message
git log -1 9f7ba84c579b --format=%B | grep "^Link:"
# Fetch upstream patch
b4 am --single-message -C -l -3 <link-url> -o /tmp/upstream
# Compare diff content
diff <(git format-patch -1 9f7ba84c579b --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')

Fix:

  1. If differences are context-only (surrounding lines changed due to kernel version) → acceptable, no fix needed
  2. If legitimate backport adaptations exist → document them in the commit message
  3. If missing hunks → add them
  4. If extra hunks → remove or attribute separately

Reproduce locally:

cd /path/to/kernel
../kernel-checkers/check-patch-compliance.sh --kernel-src . --base d9ebca924ccc --head cf30f5f184293f98bd41d1634d18809d4d8febda

Verdict

2 issues detected, but both may be acceptable:

  1. checkpatch warning — False positive. The Fixes: tag correctly references the upstream mainline SHA, not the local backport SHA. This is standard practice for UPSTREAM patches.

  2. check-patch-compliance content mismatch — Needs investigation. Verify whether the differences are:

    • Context-only (acceptable)
    • Legitimate backport adaptations (acceptable if documented)
    • Missing/extra code (requires fix)

Recommendation: Investigate the content mismatch in commit 9f7ba84 by comparing with the upstream patch. If differences are context-only or documented adaptations, the PR is ready to merge. If there are unexplained code differences, they should be resolved or documented in the commit message.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Ethernet ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@sgaud-quic

Copy link
Copy Markdown
Contributor

Merge Check Failed: CR Not Eligible for Merge

CR 4604173 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0 CR: 4604173 Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

Please fix this

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.

6 participants