Skip to content

media: qcom: iris: add dynamic encoder properties#1486

Open
WangaoW wants to merge 2 commits into
qualcomm-linux:tech/mm/videofrom
WangaoW:dynamic_encoder
Open

media: qcom: iris: add dynamic encoder properties#1486
WangaoW wants to merge 2 commits into
qualcomm-linux:tech/mm/videofrom
WangaoW:dynamic_encoder

Conversation

@WangaoW

@WangaoW WangaoW commented Jul 8, 2026

Copy link
Copy Markdown

This patch series introduces several enhancements to the Qualcomm Iris
encoder driver, improving support for V4L2 controls and enabling more
video encoding features.

All patches have been tested with iris_test_app on gen1:QCS6490,
gen2:QCS9100, X1E80100.
Depends-on: #tech/bsp/remoteproc

@qcomlnxci
qcomlnxci requested review from a team, dikshita-agarwal and vgarodia and removed request for a team July 8, 2026 06:04
@qlijarvis

Copy link
Copy Markdown

PR #1486 — validate-patch

PR: #1486

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: ✅ Yes — both commits have Link: tags pointing to lore.kernel.org (v3 series posted 2026-06-24)

  2. Lore link matches PR commits: ⏭️ Cannot verify — network access restricted; unable to fetch lore patches for diff comparison

  3. Upstream patch status: ⏳ Decision Pending — posted 2026-06-24 (v3 revision); cannot fetch thread to verify review/acceptance status (network restricted)

  4. PR present in qcom-next: ⚠️ No — searched origin/qcom-next by subject, file path, and date range; no match found (expected for FROMLIST patches still under upstream review)

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1486
Commits: 2 commits (FROMLIST: media: qcom: iris encoder improvements)
Verdict: ⚠️ PARTIAL — Cannot verify diff faithfulness to upstream (network restricted)


Commit 1/2: FROMLIST: media: qcom: iris: improve gop size support for gen1 encoder

Upstream: https://lore.kernel.org/all/20260624-dynamic_encode-v3-1-f2a2db0ac2af@oss.qualcomm.com/

Commit Message

Check Status Note
Subject matches upstream ⏭️ Cannot verify — network access restricted
Body preserves rationale Clear explanation: GOP_SIZE missing hfi_id, merged with INTRA_PERIOD
Fixes tag present/correct No Fixes tag — not a bug fix, feature improvement
Authorship preserved From: Wangao Wang <wangao.wang@oss.qualcomm.com> — consistent with FROMLIST prefix
Backport note N/A Not a backport — FROMLIST prefix correct
Link tag present Link: https://lore.kernel.org/all/20260624-dynamic_encode-v3-1-f2a2db0ac2af@oss.qualcomm.com/
Signed-off-by present Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com>

Diff

File Status Notes
drivers/media/platform/qcom/iris/iris_ctrls.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen1.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_platform_common.h ⏭️ Cannot verify against lore — network restricted

Changes summary:

  • Modified iris_set_intra_period() to use cap_id parameter instead of hardcoded GOP_SIZE
  • Added hfi_id, flags, and set callback to GOP_SIZE cap definition
  • Removed redundant INTRA_PERIOD cap entry (merged into GOP_SIZE)
  • Removed INTRA_PERIOD enum value from platform cap types

Commit 2/2: FROMLIST: media: qcom: iris: Add request key frame support for encoder

Upstream: https://lore.kernel.org/all/20260624-dynamic_encode-v3-2-f2a2db0ac2af@oss.qualcomm.com/

Commit Message

Check Status Note
Subject matches upstream ⏭️ Cannot verify — network access restricted
Body preserves rationale Clear: enables V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME for gen1/gen2
Fixes tag present/correct No Fixes tag — feature addition, not a bug fix
Authorship preserved From: Wangao Wang <wangao.wang@oss.qualcomm.com> — consistent with FROMLIST prefix
Backport note N/A Not a backport — FROMLIST prefix correct
Link tag present Link: https://lore.kernel.org/all/20260624-dynamic_encode-v3-2-f2a2db0ac2af@oss.qualcomm.com/
Signed-off-by present Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com>

Diff

File Status Notes
drivers/media/platform/qcom/iris/iris_ctrls.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_ctrls.h ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen1.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen2.c ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h ⏭️ Cannot verify against lore — network restricted
drivers/media/platform/qcom/iris/iris_platform_common.h ⏭️ Cannot verify against lore — network restricted

Changes summary:

  • Added V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME control support in iris_ctrls.c
  • Added iris_set_req_sync_frame() function declaration in iris_ctrls.h
  • Added REQUEST_SYNC_FRAME cap for gen1 encoder with HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME
  • Added gen1 command packet handling for HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME
  • Added HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME define for gen1
  • Added REQUEST_SYNC_FRAME cap for gen2 encoder with HFI_PROP_REQUEST_SYNC_FRAME
  • Added hfi_syncframe_request_mode enum and HFI_PROP_REQUEST_SYNC_FRAME define for gen2
  • Added REQUEST_SYNC_FRAME to platform cap types enum

Upstream Patch Status

Commit Community Verdict
improve gop size support for gen1 encoder Decision Pending — posted 2026-06-24 (v3), cannot fetch thread (network restricted)
Add request key frame support for encoder Decision Pending — posted 2026-06-24 (v3), cannot fetch thread (network restricted)

Note: Both patches are part of the same series (20260624-dynamic_encode-v3) and were posted on 2026-06-24. The v3 suffix indicates this is the third revision of the series. Without network access, I cannot verify:

  • Whether maintainers have reviewed/acked the patches
  • Whether newer revisions (v4+) exist
  • Whether the patches have been merged into maintainer trees

qcom-next Presence

Commit Status
improve gop size support for gen1 encoder ⚠️ Not in qcom-next — searched origin/qcom-next, no match found
Add request key frame support for encoder ⚠️ Not in qcom-next — searched origin/qcom-next, no match found

Search method: Searched /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel (qualcomm-linux/kernel.git) origin/qcom-next branch by:

  • Subject line grep (with and without FROMLIST prefix)
  • File path history for drivers/media/platform/qcom/iris/
  • Date range filter (2026-06-20 to 2026-07-08)

Conclusion: These patches are not yet in qcom-next. This is expected for FROMLIST patches that are still under upstream review.


Issues Found

None identified — based on commit message structure and metadata only (diff content verification blocked by network restrictions).

Positive observations:

  1. Correct prefix usage: Both commits use FROMLIST: prefix, which is appropriate for patches posted to the mailing list but not yet merged upstream.

  2. Proper authorship: From: field matches the lore patch author (Wangao Wang <wangao.wang@oss.qualcomm.com>). For FROMLIST commits, the submitter and author are the same person, which is correct.

  3. Link tags present: Both commits include Link: tags pointing to the lore.kernel.org posting.

  4. Signed-off-by chain: Each commit has the author's Signed-off-by: line.

  5. Clear commit messages: Both commit messages explain the purpose and scope of the changes clearly.

  6. Series coherence: Both patches are from the same series (20260624-dynamic_encode-v3), maintaining logical grouping.

Limitations of this validation:

⚠️ Cannot verify diff faithfulness — Network access is restricted, preventing:

  • Fetching the upstream lore patches via b4 or curl
  • Comparing PR diff content against lore source
  • Checking for semantic changes, missing hunks, or extra content
  • Verifying that the PR represents the exact v3 revision (not v1, v2, or a hypothetical v4)

⚠️ Cannot verify upstream status — Cannot fetch the lore thread to check:

  • Whether maintainers have reviewed/acked the patches
  • Whether the patches have been merged into maintainer trees (linux-media, linux-next)
  • Whether newer revisions exist
  • Whether any NAKs or rejection signals are present

Recommendation

Conditional approval — merge if the following conditions are met:

  1. Verify diff faithfulness: A reviewer with network access should fetch the lore patches and confirm that the PR diff content matches the upstream v3 posting exactly (no extra hunks, no semantic changes, no missing content).

  2. Check upstream status: Before merging, verify that:

    • The patches have not been NACKed or rejected by maintainers
    • No newer revision (v4+) has been posted that supersedes v3
    • The patches are either accepted/queued by maintainers, or still under active review with no blocking concerns
  3. Monitor for upstream merge: Once these patches are merged upstream (into linux-media or Linus's tree), update the commit prefix from FROMLIST: to UPSTREAM: or BACKPORT: as appropriate, and add the upstream commit SHA reference.

Why conditional approval:

  • Commit message structure is correct
  • Authorship and trailers are properly formatted
  • Prefix usage (FROMLIST:) is appropriate for patches under upstream review
  • Changes are logically scoped (encoder feature improvements)
  • No obvious red flags in commit metadata

Why not full approval:

  • Cannot verify that the PR diff matches the lore source (network restricted)
  • Cannot verify upstream review status (network restricted)
  • Patches are not yet in qcom-next (expected for FROMLIST, but worth noting)

Final Summary

  1. Lore link present: ✅ Yes — both commits have Link: tags pointing to lore.kernel.org (v3 series posted 2026-06-24)

  2. Lore link matches PR commits: ⏭️ Cannot verify — network access restricted; unable to fetch lore patches for diff comparison

  3. Upstream patch status: ⏳ Decision Pending — posted 2026-06-24 (v3 revision); cannot fetch thread to verify review/acceptance status (network restricted)

  4. PR present in qcom-next: ⚠️ No — searched origin/qcom-next by subject, file path, and date range; no match found (expected for FROMLIST patches still under upstream review)

@qlijarvis

Copy link
Copy Markdown

PR #1486 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - CI automerge failed
dt-binding-check ⏭️ Skipped - CI automerge failed
dtb-check ⏭️ Skipped - CI automerge failed
sparse-check ⏭️ Skipped - CI automerge failed
check-uapi-headers ⏭️ Skipped - CI automerge failed
check-patch-compliance ⏭️ Skipped - CI automerge failed
tag-check Both commits have valid FROMLIST: prefix
qcom-next-check N/A Cannot determine target branch (network unavailable)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1486 - media: qcom: iris: improve gop size support and add request key frame support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28921331210

Checker Result Summary
checkpatch ⏭️ Skipped - CI automerge failed
dt-binding-check ⏭️ Skipped - CI automerge failed
dtb-check ⏭️ Skipped - CI automerge failed
sparse-check ⏭️ Skipped - CI automerge failed
check-uapi-headers ⏭️ Skipped - CI automerge failed
check-patch-compliance ⏭️ Skipped - CI automerge failed
tag-check Both commits have valid FROMLIST: prefix
qcom-next-check N/A Cannot determine target branch (network unavailable)

⚠️ CI Infrastructure Failure

Root cause: The CI automerge step failed with "refusing to merge unrelated histories" when attempting to merge topic branch topic/tech/mm/video into the integration baseline.

Failure details:

2026-07-08T06:17:06.8065945Z  ** Merging topic branch: topic/tech/mm/video
2026-07-08T06:17:25.2044764Z fatal: refusing to merge unrelated histories
2026-07-08T06:17:25.3140122Z Merge failed, manual merge
...
2026-07-08T06:17:26.3207477Z Merging pr-1486 (no-commit)...
2026-07-08T06:17:46.4083899Z fatal: refusing to merge unrelated histories
2026-07-08T06:17:46.5203927Z Merge failed or conflicts detected. Aborting merge.

Analysis: This is a CI infrastructure issue, not a patch defect. The topic branch topic/tech/mm/video has no common ancestor with the baseline tag 19b282f417584cfe14ce6a262122c51553d026ec. This prevented the CI from creating the integration branch needed to run the checkers.

Patch quality assessment (manual review):

Both commits in the PR are properly formatted:

Commit 1: FROMLIST: media: qcom: iris: improve gop size support for gen1 encoder

Commit 2: FROMLIST: media: qcom: iris: Add request key frame support for encoder

Fix: This requires CI infrastructure remediation:

  1. Immediate workaround: Re-trigger the CI workflow after fixing the topic branch history issue
  2. Root cause fix: Investigate why topic/tech/mm/video has unrelated history to the baseline
    • Option A: Rebase topic/tech/mm/video onto the baseline
    • Option B: Use git merge --allow-unrelated-histories in the CI automerge script (not recommended)
    • Option C: Remove topic/tech/mm/video from the integration if it's not needed

Reproduce locally:

# Clone and attempt the same merge the CI tried
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git checkout 19b282f417584cfe14ce6a262122c51553d026ec
git checkout -b integ
git fetch origin tech/mm/video:topic/tech/mm/video
git merge topic/tech/mm/video  # This will fail with "refusing to merge unrelated histories"

Verdict

The PR patches themselves are properly formatted and ready for merge. However, the CI cannot validate them due to an infrastructure issue with the topic/tech/mm/video branch having unrelated history to the baseline.

Recommendation: Fix the topic branch history issue in the CI configuration, then re-trigger the checker workflow. The patches do not require any changes.

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1486

PR: #1486
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28921331200

# Error File:Line PR-introduced? Root Cause
N/A Merge conflicts (not compilation errors) Multiple files No Pre-existing merge conflicts between tech/mm/video branch and qcom-next baseline

Verdict

This PR introduces ZERO build errors. The build failed during the merge phase (before compilation) due to pre-existing conflicts between the PR's base branch and qcom-next. None of the conflicting files are touched by this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1486

PR: #1486
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28921331200

# Error File:Line PR-introduced? Root Cause
N/A Merge conflicts (80 files) Multiple files No Pre-existing conflicts between baseline qcom-next and other topic branches during automerge integration

Verdict

No compilation errors found. The build failed during the pre-compilation merge phase due to 80 merge conflicts in the baseline integration. None of the conflicts involve files modified by this PR. The PR changes only drivers/media/platform/qcom/iris/* files, while conflicts occur in unrelated subsystems (camss, venus, pinctrl, devicetree bindings, etc.).

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1486

PR: #1486
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28929606124

# Error File:Line PR-introduced? Root Cause
1 too few arguments to function 'qcom_mdt_pas_load' drivers/media/platform/qcom/iris/iris_firmware.c:140 No Pre-existing API mismatch: qcom_mdt_pas_load() signature changed but caller not updated
2 too few arguments to function 'qcom_mdt_pas_load' drivers/media/platform/qcom/venus/firmware.c:140 No Pre-existing API mismatch: qcom_mdt_pas_load() signature changed but caller not updated

Verdict

All 2 build errors are pre-existing issues unrelated to this PR. The PR modifies only iris control and HFI files, not firmware loading code.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1486

PR: #1486
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28929606124

# Error File:Line PR-introduced? Root Cause
1 too few arguments to function 'qcom_mdt_pas_load' drivers/media/platform/qcom/iris/iris_firmware.c:140 No Pre-existing API mismatch: qcom_mdt_pas_load() signature changed but iris_firmware.c not updated
2 too few arguments to function 'qcom_mdt_pas_load' drivers/media/platform/qcom/venus/firmware.c:140 No Pre-existing API mismatch: qcom_mdt_pas_load() signature changed but venus/firmware.c not updated

Verdict

All 2 build errors are pre-existing; none are introduced by this PR.

📎 Detailed analysis: Full report

@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.

2 similar comments
@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.

@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.

Wangao Wang added 2 commits July 13, 2026 17:27
The GOP_SIZE cap was missing an hfi_id, so it would not interact with the
firmware but could still save the parameter passed by the client.
INTRA_PERIOD was acting as GOP_SIZE here. The code was redundant, so the
two caps have been merged.

Link: https://lore.kernel.org/all/20260624-dynamic_encode-v3-1-f2a2db0ac2af@oss.qualcomm.com/
Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com>
Add request key frame support for both gen1 and gen2 encoders by enabling

V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME.

Link: https://lore.kernel.org/all/20260624-dynamic_encode-v3-2-f2a2db0ac2af@oss.qualcomm.com/
Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com>
@qcomlnxci
qcomlnxci requested a review from a team July 13, 2026 09:34
@qlijarvis

Copy link
Copy Markdown

PR #1486 — validate-patch

PR: #1486

Verdict Issues Detailed Report
⚠️ 6 Full report

Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links (v3 series)
  2. Lore link matches PR commits: Cannot verify — network access restricted; lore.kernel.org unreachable
  3. Upstream patch status: Cannot verify — network access restricted; unable to check mailing list thread or git trees
  4. PR present in qcom-next: No — neither commit found in origin/qcom-next (expected for FROMLIST patches)
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1486
Commits: 2 commits in series
Verdict: ⚠️ PARTIAL — Cannot fully validate without network access to lore.kernel.org


Commit 1: FROMLIST: media: qcom: iris: improve gop size support for gen1 encoder

Upstream commit: https://lore.kernel.org/all/20260624-dynamic_encode-v3-1-f2a2db0ac2af@oss.qualcomm.com/
Verdict: ⚠️ PARTIAL — Lore link present but cannot fetch for comparison

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Cannot fetch lore patch (network restricted)
Body preserves rationale ✅ Pass Clear explanation of GOP_SIZE/INTRA_PERIOD merge
Fixes tag present/correct N/A No Fixes tag (not a bug fix)
Authorship preserved ⏭️ Skipped FROMLIST: submitter may differ from lore author
Backport note (if applicable) N/A FROMLIST prefix used (not yet merged)

Diff

File Status Notes
drivers/media/platform/qcom/iris/iris_ctrls.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen1.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_platform_common.h ⏭️ Skipped Cannot compare to lore (network restricted)

Changed files: 3 files, 5 insertions(+), 14 deletions(-)

Upstream Patch Status

Decision Pending — Cannot verify (network access restricted; lore.kernel.org unreachable)

qcom-next Presence

⚠️ Not in qcom-next — Searched by subject in origin/qcom-next; no match found


Commit 2: FROMLIST: media: qcom: iris: Add request key frame support for encoder

Upstream commit: https://lore.kernel.org/all/20260624-dynamic_encode-v3-2-f2a2db0ac2af@oss.qualcomm.com/
Verdict: ⚠️ PARTIAL — Lore link present but cannot fetch for comparison

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Cannot fetch lore patch (network restricted)
Body preserves rationale ✅ Pass Clear description of V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME support
Fixes tag present/correct N/A No Fixes tag (feature addition)
Authorship preserved ⏭️ Skipped FROMLIST: submitter may differ from lore author
Backport note (if applicable) N/A FROMLIST prefix used (not yet merged)

Diff

File Status Notes
drivers/media/platform/qcom/iris/iris_ctrls.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_ctrls.h ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen1.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen2.c ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h ⏭️ Skipped Cannot compare to lore (network restricted)
drivers/media/platform/qcom/iris/iris_platform_common.h ⏭️ Skipped Cannot compare to lore (network restricted)

Changed files: 8 files, 56 insertions(+), 1 deletion(-)

Upstream Patch Status

Decision Pending — Cannot verify (network access restricted; lore.kernel.org unreachable)

qcom-next Presence

⚠️ Not in qcom-next — Searched by subject in origin/qcom-next; no match found


Issues

Network Restriction:

  • Cannot fetch upstream lore patches to compare diff content, commit message, or authorship
  • Cannot verify upstream patch acceptance status (ACKed/NACKed/Pending)
  • Validation is limited to structural checks only

Observations from PR patch:

  1. Both commits use FROMLIST: prefix correctly (patches posted to mailing list, not yet merged)
  2. Both commits have proper Link: tags pointing to lore.kernel.org
  3. Both commits have Signed-off-by: from the same author (Wangao Wang)
  4. Commit messages are clear and describe the changes appropriately
  5. The lore links point to a v3 series (20260624-dynamic_encode-v3-*), suggesting this is the third revision
  6. Neither commit is present in qcom-next yet

FROMLIST Authorship Rule:

  • For FROMLIST: commits, the submitter (in From:) may legitimately differ from the lore patch author
  • The original lore author must appear in Signed-off-by: trailers
  • Cannot verify this without fetching the lore patches

Verdict

⚠️ PARTIAL VALIDATION — Structural checks pass, but full validation requires network access

What can be confirmed:

  • ✅ Both commits have lore.kernel.org links present
  • ✅ Commit message structure is correct (subject, body, Link, Signed-off-by)
  • FROMLIST: prefix is appropriate for patches under review
  • ✅ Neither commit is in qcom-next (expected for FROMLIST patches)

What cannot be confirmed without network access:

  • ❓ Whether PR diff content matches lore patches exactly
  • ❓ Whether commit messages preserve lore patch rationale
  • ❓ Whether original lore author's Signed-off-by is present (FROMLIST requirement)
  • ❓ Upstream patch acceptance status (ACKed/NACKed/Pending)

Recommendation:

  • Manual verification required: Reviewer should fetch the lore patches manually and compare:
    b4 am 20260624-dynamic_encode-v3-1-f2a2db0ac2af@oss.qualcomm.com -o /tmp/commit1
    b4 am 20260624-dynamic_encode-v3-2-f2a2db0ac2af@oss.qualcomm.com -o /tmp/commit2
  • Verify that the original lore author's Signed-off-by: is present in both commits
  • Check lore thread for any review comments or requested changes
  • Confirm this is the latest revision (v3) and no v4 exists

Final Summary

  1. Lore link present: Yes — both commits have valid lore.kernel.org links (v3 series)
  2. Lore link matches PR commits: Cannot verify — network access restricted; lore.kernel.org unreachable
  3. Upstream patch status: Cannot verify — network access restricted; unable to check mailing list thread or git trees
  4. PR present in qcom-next: No — neither commit found in origin/qcom-next (expected for FROMLIST patches)

@qlijarvis

Copy link
Copy Markdown

PR #1486 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ CI infrastructure failure - unable to merge
dt-binding-check ⚠️ CI infrastructure failure - unable to merge
dtb-check ⚠️ CI infrastructure failure - unable to merge
sparse-check ⚠️ CI infrastructure failure - unable to merge
check-uapi-headers ⚠️ CI infrastructure failure - unable to merge
check-patch-compliance ⚠️ CI infrastructure failure - unable to merge
tag-check Both commits have valid FROMLIST: prefix
qcom-next-check N/A Target branch is tech/mm/video (topic branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1486 - FROMLIST: media: qcom: iris encoder improvements (2 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29239591755
Target branch: tech/mm/video

Checker Result Summary
checkpatch ⚠️ CI infrastructure failure - unable to merge
dt-binding-check ⚠️ CI infrastructure failure - unable to merge
dtb-check ⚠️ CI infrastructure failure - unable to merge
sparse-check ⚠️ CI infrastructure failure - unable to merge
check-uapi-headers ⚠️ CI infrastructure failure - unable to merge
check-patch-compliance ⚠️ CI infrastructure failure - unable to merge
tag-check Both commits have valid FROMLIST: prefix
qcom-next-check N/A Target branch is tech/mm/video (topic branch)

⚠️ CI Infrastructure Failure - Unrelated Histories

Root cause: The PR cannot be merged into the CI integration branch because Git reports "refusing to merge unrelated histories".

Failure details:

2026-07-13T09:51:05.7120366Z Fetching PR #1486 from https://github.com/qualcomm-linux/kernel-topics.git...
2026-07-13T09:51:06.3207053Z From https://github.com/qualcomm-linux/kernel-topics
2026-07-13T09:51:06.3207639Z  * [new ref]                   refs/pull/1486/head -> pr-1486
2026-07-13T09:51:06.3395697Z Merging pr-1486 (no-commit)...
2026-07-13T09:51:26.1571667Z fatal: refusing to merge unrelated histories
2026-07-13T09:51:26.2675389Z Merge failed or conflicts detected. Aborting merge.
2026-07-13T09:51:26.2786306Z ##[error]Process completed with exit code 3.

Analysis:

This error occurs when the PR branch and the target branch do not share a common Git ancestor. The CI workflow attempted to:

  1. Create an integration branch based on baseline commit 947408df47978cb86ffcd180a6244379e03301bf
  2. Merge topic branch topic/tech/mm/video
  3. Merge PR media: qcom: iris: add dynamic encoder properties #1486 on top

The merge failed at step 3 because PR #1486's commit history is completely unrelated to the integration branch history.

Possible causes:

  1. PR rebased on wrong base: The PR may have been created from a different branch or repository that doesn't share history with tech/mm/video
  2. Force-pushed with --orphan: The PR branch may have been recreated as an orphan branch
  3. Cherry-picked from unrelated tree: Commits may have been cherry-picked from a tree with different history
  4. Wrong target branch: The PR may be targeting the wrong base branch

Fix options:

Option 1 - Rebase PR on correct base (Recommended):

# Fetch the target branch
git fetch origin tech/mm/video

# Rebase PR commits on top of target branch
git rebase origin/tech/mm/video

# Force push (if PR branch is in your fork)
git push --force-with-lease

Option 2 - Allow unrelated histories (if intentional):
If this PR is intentionally introducing a new independent history (e.g., importing code from external source), the CI merge command needs --allow-unrelated-histories:

git merge pr-1486 --no-commit --allow-unrelated-histories

However, this is rarely the correct solution for kernel development.

Option 3 - Recreate PR from correct base:

# Create new branch from correct base
git checkout -b new-pr-branch origin/tech/mm/video

# Cherry-pick the commits
git cherry-pick 108e24dae2ef8f689a9b694a6d4f75092d92310a
git cherry-pick e7712c1aca01fddf2a1a6b23f27603c80a41760f

# Push and create new PR
git push origin new-pr-branch

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git fetch origin tech/mm/video
git fetch origin pull/1486/head:pr-1486
git checkout -b test-merge origin/tech/mm/video
git merge pr-1486 --no-commit
# Should reproduce: "fatal: refusing to merge unrelated histories"

✅ tag-check (Manual Review)

Status: PASS

Both commits in the PR have valid subject prefixes:

  1. FROMLIST: media: qcom: iris: improve gop size support for gen1 encoder
  2. FROMLIST: media: qcom: iris: Add request key frame support for encoder

Both commits include proper Link: tags pointing to lore.kernel.org, which is correct for FROMLIST: patches.


📋 Patch Content Summary

The PR contains 2 commits that improve the Qualcomm Iris video encoder driver:

Commit 1: 108e24dae2ef - Improve GOP size support for gen1 encoder

  • Merges redundant GOP_SIZE and INTRA_PERIOD capabilities
  • Adds missing hfi_id to GOP_SIZE cap
  • Removes duplicate INTRA_PERIOD cap definition
  • Files changed: iris_ctrls.c, iris_hfi_gen1.c, iris_platform_common.h

Commit 2: e7712c1aca01 - Add request key frame support

  • Enables V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME control
  • Adds support for both gen1 and gen2 encoders
  • Implements REQUEST_SYNC_FRAME capability
  • Files changed: 8 files across iris driver

Both commits are properly formatted with:

  • ✅ Valid FROMLIST: prefix
  • ✅ Proper Link: tags to upstream patches
  • Signed-off-by: trailers
  • ✅ Clear commit messages

Verdict

Cannot assess patch quality - All checkers failed due to CI infrastructure issue (unrelated histories).

Blocker: The PR branch history is incompatible with the target branch tech/mm/video. This must be fixed before any code quality checks can run.

Recommended action:

  1. Verify the PR is targeting the correct base branch (tech/mm/video)
  2. Rebase the PR on the current tech/mm/video HEAD
  3. Force-push the rebased branch
  4. Re-trigger CI to run all checkers

Once the history issue is resolved and CI runs successfully, the checkers will be able to validate:

  • Code style (checkpatch)
  • Sparse static analysis
  • UAPI compatibility
  • Patch compliance (Link/Author verification)

The patch content itself appears well-formed based on manual inspection, but automated validation is blocked by the merge failure.

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