Skip to content

drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks#855

Open
quic-vishsain wants to merge 3 commits into
qualcomm-linux:qcom-6.18.yfrom
quic-vishsain:qcom-6.18.y_edid34
Open

drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks#855
quic-vishsain wants to merge 3 commits into
qualcomm-linux:qcom-6.18.yfrom
quic-vishsain:qcom-6.18.y_edid34

Conversation

@quic-vishsain

Copy link
Copy Markdown

revert the previous commits which were not followed in upstream.
And add:
drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks

The LT9611UXC bridge can fetch only 2 EDID blocks at a time, which
previously limited EDID reading to 2 blocks and prevented support
for displays exposing more than 2 EDID blocks.

Add driver support to fetch up to 4 EDID blocks by re-triggering
EDID access after the first 2 blocks are read. For block 0 and 2,
set the EDID ready flag in 0xb028 so the bridge can expose the
corresponding EDID blocks, then retry the read until the expected
EDID is fetched.

Reset the edid_read flag on HPD disconnect so that the next
connect event triggers a fresh EDID fetch.

Increase EDID wait time from 500ms to 1000ms, On Qualcomm rb3gen2
platform sometimes edid read interrupt is coming 600-650 ms after
HPD interrupt resulting in edid read failure.

Signed-off-by: Ravi Agola <raviagol@qti.qualcomm.com>
Link: https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>

CRs-Fixed: 4202439

…locks

The LT9611UXC bridge can fetch only 2 EDID blocks at a time, which
previously limited EDID reading to 2 blocks and prevented support
for displays exposing more than 2 EDID blocks.

Add driver support to fetch up to 4 EDID blocks by re-triggering
EDID access after the first 2 blocks are read. For block 0 and 2,
set the EDID ready flag in 0xb028 so the bridge can expose the
corresponding EDID blocks, then retry the read until the expected
EDID is fetched.

Reset the edid_read flag on HPD disconnect so that the next
connect event triggers a fresh EDID fetch.

Increase EDID wait time from 500ms to 1000ms, On Qualcomm rb3gen2
platform sometimes edid read interrupt is coming 600-650 ms after
HPD interrupt resulting in edid read failure.

Signed-off-by: Ravi Agola <raviagol@qti.qualcomm.com>
Link: https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #855 — validate-patch

PR: #855

Verdict Issues Detailed Report
4 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com
  2. Lore link matches PR commits: No — PR commit 3/3 includes 1000ms wait time change, race condition fix, and timeout handling not present in lore v2; commit message also describes changes not in lore v2
  3. Upstream patch status: ⏳ Decision Pending — lore v2 posted 2026-06-24; Sashiko AI review identified issues; author responded planning v3 with fixes; no maintainer acceptance yet
  4. PR present in qcom-next/topics: Fail - 1/3 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #855 — lt9611uxc EDID 4-block support with reverts
Upstream commit: https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com
Verdict:FAIL

Commit Message

Check Status Note
Subject matches upstream FROMLIST: prefix correctly added
Body preserves rationale ⚠️ Includes extra paragraph about 1000ms wait time not in lore v2
Fixes tag present/correct N/A No Fixes tag in upstream
Authorship preserved ⚠️ From: is Ravi Agola (lore author) but commit date differs; Vishnu Saini as submitter is correct for FROMLIST
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/gpu/drm/bridge/lontium-lt9611uxc.c Semantic divergence: PR includes 1000ms wait time change (line 391) NOT present in lore v2; PR adds edid_valid variable and timeout check NOT in lore v2; PR moves edid_read = false inside mutex (good fix but not in lore v2)

Issues

Critical: Commit 3/3 does not match lore v2 patch

The PR commit 3/3 claims to be FROMLIST: from the lore v2 patch, but includes significant changes not present in the upstream posting:

  1. Wait time change (500ms → 1000ms): Line 391 in PR changes msecs_to_jiffies(500) to msecs_to_jiffies(1000). The lore v2 patch does not include this change — it keeps 500ms. This change was in the original commits being reverted (commits 1/3 and 2/3).

  2. Race condition fix: PR moves lt9611uxc->edid_read = false inside the mutex lock (line 174). The lore v2 patch places it after mutex_unlock. The PR's placement is actually better (fixes the race condition noted in the lore review), but it's not what the lore v2 patch contains.

  3. Timeout handling: PR adds edid_valid variable and explicit timeout check if (!ret && !edid_valid) ret = -ETIMEDOUT; (lines 433-435). The lore v2 patch does not include this logic — it has the bug noted in the Sashiko AI review.

  4. Confusing commit message: Commit 3/3's message includes a paragraph about "Increase EDID wait time from 500ms to 1000ms..." which describes changes that were supposedly reverted in commits 1/3 and 2/3, yet are present in the diff.

Structural issue: Revert + re-apply pattern is incorrect

The PR structure suggests:

  • Commits 1/3 and 2/3 revert two earlier FROMLIST commits
  • Commit 3/3 re-applies the lore v2 patch

But commit 3/3 actually contains a superset of changes: it includes both the lore v2 patch content AND the changes from the reverted commits (wait time, edid_read reset) AND additional fixes not in lore v2.

This is not a faithful FROMLIST: representation. The correct approach would be:

  • Either: Single commit with FROMLIST: that matches lore v2 exactly
  • Or: Separate commits for lore v2 + local adaptations marked as QCLINUX: or similar

Authorship note (FROMLIST: commits)

For FROMLIST: commits, the submitter (Vishnu Saini) appearing in From: is acceptable, provided the original lore author (Ravi Agola) appears in Signed-off-by:. ✅ This is correctly done.

However, the commit date shows "Wed, 22 Jul 2026" while the lore posting is "Wed, 24 Jun 2026" — this is fine for FROMLIST commits as they're cherry-picked.

Verdict

Do not merge. Commit 3/3 is mislabeled as FROMLIST: but contains changes not present in the linked lore v2 patch. The PR needs restructuring:

Option 1 (Recommended): Wait for lore v3 that incorporates the review feedback, then apply that as a single faithful FROMLIST: commit.

Option 2: Split into:

  • Faithful FROMLIST: commit matching lore v2 exactly
  • Separate QCLINUX: commits for local adaptations (race fix, timeout handling, wait time increase)

The revert-then-reapply pattern in commits 1/3 and 2/3 is also questionable — if those earlier commits were incorrect, they should be fixed in place or the PR should explain why the revert+reapply is necessary.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com
  2. Lore link matches PR commits: No — PR commit 3/3 includes 1000ms wait time change, race condition fix, and timeout handling not present in lore v2; commit message also describes changes not in lore v2
  3. Upstream patch status: ⏳ Decision Pending — lore v2 posted 2026-06-24; Sashiko AI review identified issues; author responded planning v3 with fixes; no maintainer acceptance yet
  4. PR present in qcom-next/topics: Fail — per integration_presence_report.md: commit 1/3 missing from both qcom-next and topics; commit 2/3 present in qcom-next; commit 3/3 partial (subject found but full change not verified); overall status FAIL with 1/3 commits missing

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/3 [PATCH 1/3] Revert "FROMLIST: drm/bridge: lt9611uxc: reset edid_read missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
2/3 [PATCH 2/3] Revert "FROMLIST: drm/bridge: lt9611uxc: Increase EDID present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
3/3 [PATCH 3/3] FROMLIST: drm/bridge: lt9611uxc: support displays with up partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #855 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits missing Signed-off-by
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits missing prefix, 1 content mismatch
tag-check 2 Revert commits missing prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #855 - drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29995831736

Checker Result Summary
checkpatch 2 commits missing Signed-off-by
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits missing prefix, 1 content mismatch
tag-check 2 Revert commits missing prefix

❌ checkpatch

Root cause: Two Revert commits are missing Signed-off-by: trailers.

Failure details:

Commit 3c637f143338 ("Revert "FROMLIST: drm/bridge: lt9611uxc: reset edid_read on disconnect"")
ERROR: Missing Signed-off-by: line(s)
3c637f1433380e24abb0f61986d59c75090c50d2 total: 1 errors, 0 warnings, 0 checks, 9 lines checked

Commit be04a44b3c09 ("Revert "FROMLIST: drm/bridge: lt9611uxc: Increase EDID wait time from 500ms to 1000ms"")
ERROR: Missing Signed-off-by: line(s)
be04a44b3c09267c2f5d9084a6c991ed70374b10 total: 1 errors, 0 warnings, 0 checks, 8 lines checked

Fix:

git rebase -i 4def074fd0b5   # mark commits 3c637f143338 and be04a44b3c09 as 'edit'
# For each commit:
git commit --amend -s --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 4def074fd0b5..d68a30c0f276

❌ check-patch-compliance

Root cause: Two Revert commits lack the required subject prefix, and the third commit has content differences from the upstream lore link.

Failure details:

Checking commit: Revert "FROMLIST: drm/bridge: lt9611uxc: reset edid_read on disconnect"
Commit summary does not start with a required prefix

Checking commit: Revert "FROMLIST: drm/bridge: lt9611uxc: Increase EDID wait time from 500ms to 1000ms"
Commit summary does not start with a required prefix

Checking commit: FROMLIST: drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks
Change is different from the one mentioned in Link

Fix for prefix failures (commits 1 & 2):

Revert commits must carry a prefix before the word Revert. Since these are reverting FROMLIST: patches, add FROMLIST: or UPSTREAM: prefix:

git rebase -i 4def074fd0b5   # mark commits 3c637f143338 and be04a44b3c09 as 'reword'
# Change subjects to:
FROMLIST: Revert "FROMLIST: drm/bridge: lt9611uxc: reset edid_read on disconnect"
FROMLIST: Revert "FROMLIST: drm/bridge: lt9611uxc: Increase EDID wait time from 500ms to 1000ms"

Fix for content mismatch (commit 3):

The third commit (d68a30c) has content differences from the upstream patch at:
https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com

This is expected because commits 1 and 2 revert parts of commit 3, creating a net-new state. The PR is applying the full upstream patch (commit 3) after reverting the partial earlier integrations (commits 1 & 2).

Analysis: Fetch the upstream patch and compare:

b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260624-lt9611usc_edid34_misc_next-v2-1-24ce3f5770b8@oss.qualcomm.com -o /tmp/upstream
git format-patch -1 d68a30c0f276 --stdout > /tmp/pr-commit.patch
# Compare the diff sections
diff <(awk '/^diff/,/^--$/' /tmp/pr-commit.patch | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')

The content mismatch is likely due to the PR applying the full upstream patch on top of a tree where parts of it were previously integrated and are now being reverted. This is a legitimate workflow pattern (revert partial integration → apply full upstream patch).

Recommendation: Document in the commit message that this is a re-integration after reverting partial earlier commits, or adjust the Link: to point to the PR discussion explaining the revert-then-reapply workflow.


❌ tag-check

Root cause: Two Revert commits do not start with a required subject prefix.

Failure details:

Commits 3c637f143338 and be04a44b3c09 have subjects starting with Revert "..." without a leading prefix tag.

All branches except qcom-next and qcom-next-staging require every commit subject to start with one of:

  • FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

Fix:

Same as the check-patch-compliance prefix fix above — add a prefix before Revert:

git rebase -i 4def074fd0b5   # mark commits as 'reword'
# Change subjects to:
FROMLIST: Revert "FROMLIST: drm/bridge: lt9611uxc: reset edid_read on disconnect"
FROMLIST: Revert "FROMLIST: drm/bridge: lt9611uxc: Increase EDID wait time from 500ms to 1000ms"

Verdict

3 blockers must be fixed before merge:

  1. checkpatch: Add Signed-off-by: to commits 3c637f143338 and be04a44b3c09
  2. check-patch-compliance / tag-check: Add FROMLIST: prefix to both Revert commit subjects
  3. check-patch-compliance: Investigate and document the content mismatch in commit d68a30c0f276 — if this is a revert-then-reapply workflow, clarify in the commit message or PR description

Recommended workflow:

git rebase -i 4def074fd0b5

# For commits 3c637f143338 and be04a44b3c09:
# - Mark as 'reword' to change subject to add FROMLIST: prefix
# - Mark as 'edit' to add Signed-off-by

# Example for commit 3c637f143338:
git commit --amend -s -m "FROMLIST: Revert \"FROMLIST: drm/bridge: lt9611uxc: reset edid_read on disconnect\"

This reverts commit 91980500edaedc90a2537b30239e7b6f90f09292.

Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>"

git rebase --continue

# Repeat for commit be04a44b3c09
# Then verify commit d68a30c0f276 content mismatch is documented

After fixes, re-run checkpatch locally to verify:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 4def074fd0b5..HEAD

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