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

Wangao Wang added 2 commits July 8, 2026 13:53
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 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.

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