Skip to content

media: iris: Retain firmware confirmed video_format across GOP restarts - #1842

Open
gouravk-qualcomm wants to merge 1 commit into
qualcomm-linux:tech/mm/videofrom
gouravk-qualcomm:rewind-fix
Open

gouravk-qualcomm wants to merge 1 commit into
qualcomm-linux:tech/mm/videofrom
gouravk-qualcomm:rewind-fix

Conversation

@gouravk-qualcomm

@gouravk-qualcomm gouravk-qualcomm commented Sep 16, 2026

Copy link
Copy Markdown

During speed-based rewind, the client restarts the decoder queues once per group of pictures (GOP). This is because playing a GOP-based stream in reverse requires decoding each group forward first and then showing its frames in reverse order. Each restart makes the driver resend the colour info property on the bitstream port, which firmware always treats as a sign that the stream's properties may have changed. The driver never stored the video_format value that firmware had last confirmed, so it resent colour info with a fixed unspecified value instead of the real one, and the value firmware received kept differing from what it already had.

On every restart during rewind, this looked to firmware like a real change on the bitstream port, so firmware sent a settings-change notification, and the driver treated it as a dynamic resolution change and paused the port. The client then removed its buffers and built new ones for a resolution that had not actually changed, stalling playback once per GOP.

Store and send back the same video_format value firmware already confirmed so both sides stay in agreement across every restart, avoiding the false settings-change notification.

CRs-fixed:4568445

@qswat-orbit-external

Copy link
Copy Markdown

Dev Completion validation failed

CR: 4568445
Change Task: kernel.qli.0.0
Error: GenAI Assisted field must be set before moving change tasks to Development Complete. Please provide GenAI information.

The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check.

@qcomlnxci
qcomlnxci requested review from a team, dikshita-agarwal and vgarodia and removed request for a team September 16, 2026 06:30
@gouravk-qualcomm
gouravk-qualcomm marked this pull request as ready for review September 16, 2026 06:32
@qswat-orbit-external

Copy link
Copy Markdown

Dev Completion validation failed

CR: 4568445
Change Task: kernel.qli.0.0
Error: For CR '4568445' Change Task cannot be Development Complete until the Release Notes Status has transitioned beyond Update at least once.

The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check.

2 similar comments
@qswat-orbit-external

Copy link
Copy Markdown

Dev Completion validation failed

CR: 4568445
Change Task: kernel.qli.0.0
Error: For CR '4568445' Change Task cannot be Development Complete until the Release Notes Status has transitioned beyond Update at least once.

The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check.

@qswat-orbit-external

Copy link
Copy Markdown

Dev Completion validation failed

CR: 4568445
Change Task: kernel.qli.0.0
Error: For CR '4568445' Change Task cannot be Development Complete until the Release Notes Status has transitioned beyond Update at least once.

The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check.

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1842

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

# Error File:Line PR-introduced? Root Cause
1 Automerge failure: 137 merge conflicts Multiple files No Pre-existing integration conflicts in the base branch during automerge step. The three files modified by this PR (iris_hfi_common.h, iris_hfi_gen2_command.c, iris_hfi_gen2_response.c) are NOT among the conflicting files.

Verdict

This build failure is NOT caused by PR #1842. The failure occurred during the automerge step with 137 pre-existing merge conflicts across the codebase. None of the three files modified by this PR are involved in any merge conflicts. The compilation phase never started.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1842

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

Build Status: ❌ Merge Conflict (Pre-Compilation)

The build failed during the automerge step before any compilation occurred. The PR could not be merged with the integration branch due to merge conflicts in files unrelated to the PR changes.

# Conflict File PR-introduced? Root Cause
1 Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml No Pre-existing conflict in integration branch
2 drivers/clk/qcom/gcc-qcm2290.c No Pre-existing conflict in integration branch
3 drivers/clk/qcom/gcc-shikra.c No Pre-existing conflict in integration branch
4 include/dt-bindings/clock/qcom,shikra-gcc.h No Pre-existing conflict in integration branch

Verdict

No compilation errors found. All 4 failures are merge conflicts in files not touched by this PR. The PR changes are isolated to the iris media driver and are syntactically correct.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1842 — validate-patch

PR: #1842

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a lore.kernel.org link, but none found in commit message
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — cannot check upstream status without lore link
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1842 - FROMLIST: media: iris: Retain firmware confirmed video_format across GOP restarts
Upstream commit: (none found)
Verdict: ❌ FAIL

Reason

No lore.kernel.org link was found in the PR commit message. This commit uses the FROMLIST: prefix, which indicates the patch was posted to a mailing list and requires a Link: tag pointing to the lore.kernel.org posting.

Commit Message

Check Status Note
Subject matches upstream N/A No lore link to compare against
Body preserves rationale N/A No lore link to compare against
Fixes tag present/correct No Fixes tag (not a bugfix)
Authorship preserved N/A No lore link to compare against
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/media/platform/qcom/iris/iris_hfi_common.h ⚠️ Cannot verify against upstream - no lore link
drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c ⚠️ Cannot verify against upstream - no lore link
drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c ⚠️ Cannot verify against upstream - no lore link

Issues

  1. Missing lore.kernel.org link — The FROMLIST: prefix requires a Link: tag in the commit message pointing to the lore.kernel.org posting where this patch was submitted to the mailing list.

Verdict

Do not merge until a Link: https://lore.kernel.org/r/<message-id> line is added to the commit message. Without the lore link, the patch cannot be validated against its upstream source, and the FROMLIST: prefix cannot be verified.

Recommendation

Add a Link: https://lore.kernel.org/r/<message-id> line to the commit message before the Signed-off-by: trailer, then re-run validation. The link should point to the exact message-ID where this patch was posted to the linux-media or other relevant mailing list.

Example format:

Store and send back the same video_format value firmware already confirmed
so both sides stay in agreement across every restart, avoiding the false
settings-change notification.

Link: https://lore.kernel.org/r/<message-id>
Signed-off-by: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a lore.kernel.org link, but none found in commit message
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — cannot check upstream status without lore link
  4. PR present in qcom-next/topics: Fail — 1/1 commit(s) are missing from both qcom-next and topics (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: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] FROMLIST: media: iris: Retain firmware confirmed video_format missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1842 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Merge conflict blocked execution
dt-binding-check Merge conflict blocked execution
dtb-check Merge conflict blocked execution
sparse-check Merge conflict blocked execution
check-uapi-headers Merge conflict blocked execution
check-patch-compliance Merge conflict blocked execution
tag-check Subject has valid FROMLIST: prefix
qcom-next-check ⚠️ Missing Link: tag for FROMLIST commit

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1842 - FROMLIST: media: iris: Retain firmware confirmed video_format across GOP restarts
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/35063988109
Target branch: tech/mm/video

Checker Result Summary
checkpatch Merge conflict blocked execution
dt-binding-check Merge conflict blocked execution
dtb-check Merge conflict blocked execution
sparse-check Merge conflict blocked execution
check-uapi-headers Merge conflict blocked execution
check-patch-compliance Merge conflict blocked execution
tag-check Subject has valid FROMLIST: prefix
qcom-next-check ⚠️ Missing Link: tag for FROMLIST commit

❌ All Checkers — Merge Conflict

Root cause: Automerge failed due to a merge conflict in Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml when integrating the PR branch with the qcom-next baseline.

Failure details:

Normal merge conflict for 'Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml':
  {local}: modified file
  {remote}: modified file
automerge returned non-zero; check logs for conflicts
##[error]Process completed with exit code 1.

Impact: All six checker jobs (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) failed during the automerge phase before they could analyze the PR commits. The CI workflow merges the PR branch into a qcom-next baseline before running checkers, and this merge step encountered a conflict.

Fix: Resolve the merge conflict locally, then push the resolved version:

# In your local kernel tree on the PR branch
git fetch origin qcom-next
git merge origin/qcom-next

# Resolve the conflict in Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
# Edit the file to resolve conflict markers
git add Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
git commit

# Push the merge commit
git push origin HEAD:tech/mm/video

Note: This PR does not touch any devicetree binding files — the conflict is between the tech/mm/video branch and qcom-next, not caused by this specific commit. The conflict must be resolved at the branch level before CI can proceed.


⚠️ Missing Link Tag

Root cause: The commit has a FROMLIST: prefix but no Link: tag pointing to the upstream lore.kernel.org posting.

Failure details:

Subject: [PATCH] FROMLIST: media: iris: Retain firmware confirmed video_format
         across GOP restarts
Signed-off-by: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>

The commit message contains only Signed-off-by: but no Link: tag.

Fix: Add the lore.kernel.org link to the commit message:

git rebase -i HEAD~1   # mark commit as 'edit'
git commit --amend     # add Link: line before Signed-off-by:
# In the editor, add:
# Link: https://lore.kernel.org/linux-media/<message-id>
git rebase --continue
git push --force-with-lease

Expected format:

FROMLIST: media: iris: Retain firmware confirmed video_format across GOP restarts

[commit body]

Link: https://lore.kernel.org/linux-media/<message-id>
Signed-off-by: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>

Note: The check-patch-compliance checker would have flagged this issue if it had been able to run. The FROMLIST: prefix indicates the patch was posted to a mailing list, so a Link: tag is mandatory to reference the upstream posting.


Verdict

2 blockers must be fixed before merge:

  1. Merge conflict — Resolve the conflict in Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml between tech/mm/video and qcom-next baseline. This is a branch-level issue, not specific to this commit.

  2. Missing Link tag — Add Link: https://lore.kernel.org/... to the commit message to reference the upstream mailing list posting.

Once both issues are resolved, re-trigger CI to verify all checkers pass.

…GOP restarts

During speed-based rewind, the client restarts the decoder queues once per
group of pictures (GOP). This is because playing a GOP-based stream in
reverse requires decoding each group forward first and then showing its
frames in reverse order. Each restart makes the driver resend the colour
info property on the bitstream port, which firmware always treats as a
sign that the stream's properties may have changed. The driver never
stored the video_format value that firmware had last confirmed, so it
resent colour info with a fixed unspecified value instead of the real one,
and the value firmware received kept differing from what it already had.

On every restart during rewind, this looked to firmware like a real change
on the bitstream port, so firmware sent a settings-change notification,
and the driver treated it as a dynamic resolution change and paused the
port. The client then removed its buffers and built new ones for a
resolution that had not actually changed, stalling playback once per GOP.

Store and send back the same video_format value firmware already confirmed
so both sides stay in agreement across every restart, avoiding the false
settings-change notification.

Link: https://lore.kernel.org/all/20260905-read_video_format_from_firmware-v2-1-21a606cdd288@oss.qualcomm.com/
Signed-off-by: Vishnu Reddy <busanna.reddy@oss.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