Skip to content

Tech mm drm lt9611c#1431

Open
mohitdsor wants to merge 10 commits into
qualcomm-linux:tech/mm/drmfrom
mohitdsor:tech-mm-drm-lt9611c
Open

Tech mm drm lt9611c#1431
mohitdsor wants to merge 10 commits into
qualcomm-linux:tech/mm/drmfrom
mohitdsor:tech-mm-drm-lt9611c

Conversation

@mohitdsor

Copy link
Copy Markdown

LT9611C Driver Changes
CRs-Fixed: 4552827

mohitdsor and others added 10 commits June 29, 2026 17:28
…T9611C

Add a new optional `lontium,port-select` property to describe the DSI
input port configuration for the LT9611C variant, which supports
single-port (A or B) and dual-port (A+B) operation.

This property allows explicitly selecting the active DSI input port(s):
  0 = port A (default)
  1 = port B
  2 = ports A and B (dual-port)

Link: https://patch.msgid.link/20260611-lt9611-b4-send-v1-1-42abbcd3bb1e@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
…00ms

The on-chip MCU may take longer than 100ms to respond on some hardware
variants or slower I2C buses, causing spurious -ETIMEDOUT errors during
normal operation. Double the poll timeout from 100ms to 200ms to improve
reliability without changing the poll interval.

Link: https://patch.msgid.link/20260611-lt9611-b4-send-v1-2-42abbcd3bb1e@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Remove two redundant lt9611c_reset() calls:

1. In lt9611c_bridge_atomic_pre_enable(): a reset is already performed
   during probe and resume; calling it again on every display enable
   adds ~440ms of unnecessary latency.

2. At the end of lt9611c_probe(): a reset was already performed earlier
   in probe before lt9611c_lock(). The second reset is redundant.

Also, the DRM HDMI bridge framework requires hdmi_write_hdmi_infoframe and
hdmi_clear_hdmi_infoframe callbacks for HDMI vendor-specific infoframe
(VSI) support, used for features such as HDR metadata signalling.

This patch add stub implementations that return success. Wire them into the bridge
function table.

Also, Store the chip variant enum value in the of_match_table .data field and
retrieve it via of_device_get_match_data() when probing from a DT node.
Fall back to i2c_device_id.driver_data for non-DT (e.g. ACPI) probe
paths.

This is the standard kernel pattern for passing per-compatible data
through the OF match table, and avoids relying solely on the I2C device
ID table for chip type detection when DT is available.

Populate bridge.vendor and bridge.product so the DRM HDMI framework can
report the correct manufacturer and product name in the HDMI connector
properties (visible via xrandr --prop and related sysfs entries).

Link: https://patch.msgid.link/20260611-lt9611-b4-send-v1-3-42abbcd3bb1e@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
…property

Some board designs connect only DSI port B, or both DSI ports A and B,
to the LT9611C. Add support for a 'lontium,port-select' DT property that
allows the board DTS to specify which DSI port(s) the chip should use:

  0 = PORT_SELECT_A  (default, single DSI port A)
  1 = PORT_SELECT_B  (single DSI port B)
  2 = PORT_SELECT_AB (dual DSI ports A+B)

When the property is absent the driver defaults to PORT_SELECT_A (0),
preserving backward compatibility with existing DTS files.

The selected port is programmed into the chip via lt9611c_select_port()
during probe, after the chip ID has been verified.

Link: https://patch.msgid.link/20260611-lt9611-b4-send-v1-4-42abbcd3bb1e@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
This driver provides access to LT9611C bridge driver
to access Lontium LT9611UXD DSI to HDMI chip.

Link: https://patch.msgid.link/20260618-shikra-work-v1-1-dc30381263f9@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
…failure

HPD status is retrieved via an MCU command. In some cases the
command may fail, for example when the MCU is not yet ready,
leading to incorrect disconnect reporting.

Instead of returning an error state, fall back to the last known
HPD status to provide a more stable detection result.

This avoids spurious disconnect events during initialization.

Link: https://patch.msgid.link/20260628-hpd_stable-v1-1-13d8b732c4c6@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Implement the .hpd_enable callback to trigger HPD status update
and schedule event propagation.

Link: https://patch.msgid.link/20260628-hpd_stable-v1-2-13d8b732c4c6@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Ensure DT nodes are properly released on error and acquire a
reference to next_bridge

Link: https://patch.msgid.link/20260628-hpd_stable-v1-3-13d8b732c4c6@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Remove redundant assignment of chip_type from I2C match as it
is derived from DT data when available.

Link: https://patch.msgid.link/20260628-hpd_stable-v1-4-13d8b732c4c6@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Remove redundant cleanup of IRQ and bridge resources.

Link: https://patch.msgid.link/20260628-hpd_stable-v1-5-13d8b732c4c6@oss.qualcomm.com
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
@qcomlnxci qcomlnxci requested review from a team, Rajesh Kemisetti (quic-rajeshk) and riteshk-quic and removed request for a team June 29, 2026 12:14
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1431

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict arch/arm64/configs/defconfig Yes PR adds CONFIG_DRM_LONTIUM_LT9611C=m which conflicts with integration branch changes
2 Merge conflict drivers/gpu/drm/bridge/lontium-lt9611c.c Yes PR modifies lontium-lt9611c.c extensively (10 patches) which conflicts with integration branch changes

Verdict

Build failed during merge stage with 2 merge conflicts introduced by this PR; no compilation was attempted.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1431

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict in defconfig arch/arm64/configs/defconfig No Integration conflict with topic/tech/mm/drm branch
2 Merge conflict in lt9611c driver drivers/gpu/drm/bridge/lontium-lt9611c.c No Integration conflict with topic/tech/mm/drm branch

Verdict

This is not a compilation failure. The build failed during the merge phase when attempting to integrate PR #1431 with the topic/tech/mm/drm branch. Both conflicts are integration issues, not errors introduced by the PR code itself.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1431 — validate-patch

PR: #1431

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — all 10 patches have Link tags with patch.msgid.link URLs
  2. Lore link matches PR commits: Cannot verify — all lore links are dated June 2026 (future dates), patches not yet posted to lore.kernel.org, returns empty when fetched
  3. Upstream patch status: Not upstream — FROMLIST patches with future dates indicate intent to post but not yet submitted
  4. PR present in qcom-next: Not checked — FROMLIST patches, upstream submission pending

Additional Context:

  • This PR aggregates patches from 3 different intended upstream series
  • All patches are marked FROMLIST indicating they are prepared for upstream submission
  • Cannot verify diff faithfulness without actual upstream patches to compare against
  • Recommend posting to upstream first, then backporting accepted versions to ensure alignment
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1431 - LT9611C bridge driver improvements (10 patches)
Upstream commit: Multiple series - not yet posted to lore.kernel.org
Verdict: ⚠️ PARTIAL - Multiple issues require fixing before merge

Commit Message Analysis

Patch 01/10: dt-bindings: brige: lt9611c: add port-select property

Check Status Note
Subject matches upstream Typo: "brige" should be "bridge"
Body preserves rationale Clear description of property purpose
Fixes tag present/correct N/A New feature, no Fixes tag needed
Authorship preserved Consistent author/SOB
Backport note (if applicable) N/A FROMLIST patch

Patch 02/10: drm/bridge: lontium-lt9611c: Increase MCU poll timeout

Check Status Note
Subject matches upstream Format correct
Body preserves rationale Explains timeout increase rationale
Fixes tag present/correct ⚠️ Could benefit from Fixes tag if addressing known issue
Authorship preserved Consistent author/SOB
Backport note (if applicable) N/A FROMLIST patch

Patch 03/10: drm-bridge: lontium lt9611c: fixes and improvements

Check Status Note
Subject matches upstream Inconsistent: "drm-bridge" vs "drm/bridge" (should use slash)
Body preserves rationale ⚠️ Multiple unrelated changes in one commit
Fixes tag present/correct N/A Multiple fixes, should be split
Authorship preserved Consistent author/SOB
Backport note (if applicable) N/A FROMLIST patch

Issues with Patch 03:

  • Combines 4 unrelated changes: reset removal, infoframe stubs, chip type init, vendor/product
  • Violates "one logical change per commit" principle
  • Should be split into 4 separate commits

Patch 04/10: drm/bridge: lontium-lt9611c: Add DSI port selection

Check Status Note
Subject matches upstream Format correct
Body preserves rationale Clear explanation of feature
Fixes tag present/correct N/A New feature
Authorship preserved Consistent author/SOB
Backport note (if applicable) N/A FROMLIST patch

Patch 05/10: arm64: defconfig: Enable LT9611C bridge driver

Check Status Note
Subject matches upstream Format correct
Body preserves rationale ⚠️ Mentions LT9611UXD but enables LT9611C
Fixes tag present/correct N/A Config change
Authorship preserved From: mdsor@qti.qualcomm.com, SOB: mohit.dsor@oss.qualcomm.com
Backport note (if applicable) N/A FROMLIST patch

Issues with Patch 05:

Patches 06-10: HPD stability series

Check Status Note
Subject matches upstream All use correct drm/bridge format
Body preserves rationale Clear explanations
Fixes tag present/correct ⚠️ Could benefit from Fixes tags
Authorship preserved Consistent author/SOB
Backport note (if applicable) N/A FROMLIST patches

Diff Analysis

File Status Notes
Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml ⚠️ Cannot verify - upstream not available
drivers/gpu/drm/bridge/lontium-lt9611c.c ⚠️ Cannot verify - upstream not available
arch/arm64/configs/defconfig ⚠️ Cannot verify - upstream not available

Issues

Critical Issues:

  1. Patch 01 - Subject typo: "brige" must be corrected to "bridge"
  2. Patch 03 - Multiple unrelated changes: Should be split into 4 separate commits:
    • Remove redundant reset calls
    • Add HDMI infoframe stub callbacks
    • Store chip variant in OF match table
    • Populate bridge vendor/product fields
  3. Patch 05 - Author email mismatch: From field uses mdsor@qti.qualcomm.com but SOB uses mohit.dsor@oss.qualcomm.com
  4. Patch 05 - Commit message confusion: Mentions "LT9611UXD" but enables "LT9611C"

Structural Issues:
5. PR combines 3 different upstream series:

  • Patches 01-04: lt9611-b4-send-v1 series
  • Patch 05: shikra-work-v1 series
  • Patches 06-10: hpd_stable-v1 series
  1. All lore links are from future dates (June 2026): Patches not yet posted upstream, cannot verify diff faithfulness

Minor Issues:
7. Patch 03 - Subject format inconsistency: Uses "drm-bridge" instead of "drm/bridge"
8. Missing Fixes tags: Patches 02, 06-10 appear to fix bugs but lack Fixes tags

Verdict

Cannot merge as-is. The following must be fixed:

  1. Fix typo in patch 01 subject: "brige" → "bridge"
  2. Split patch 03 into 4 separate logical commits
  3. Fix author email mismatch in patch 05 (use consistent email)
  4. Fix commit message in patch 05 (clarify LT9611C vs LT9611UXD)
  5. Consider adding Fixes tags where appropriate
  6. Fix subject format in patch 03: "drm-bridge" → "drm/bridge"

Final Summary

  1. Lore link present: Yes — all 10 patches have Link tags with patch.msgid.link URLs
  2. Lore link matches PR commits: Cannot verify — all lore links are dated June 2026 (future dates), patches not yet posted to lore.kernel.org, returns empty when fetched
  3. Upstream patch status: Not upstream — FROMLIST patches with future dates indicate intent to post but not yet submitted
  4. PR present in qcom-next: Not checked — FROMLIST patches, upstream submission pending

Additional Context:

  • This PR aggregates patches from 3 different intended upstream series
  • All patches are marked FROMLIST indicating they are prepared for upstream submission
  • Cannot verify diff faithfulness without actual upstream patches to compare against
  • Recommend posting to upstream first, then backporting accepted versions to ensure alignment

@qlijarvis

Copy link
Copy Markdown

PR #1431 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check ⏭️ Not applicable (FROMLIST patches)
qcom-next-check ⏭️ Not applicable (FROMLIST patches)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1431 - FROMLIST: lt9611c bridge driver improvements (10 patches)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28371239823

Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check ⏭️ Not applicable (FROMLIST patches)
qcom-next-check ⏭️ Not applicable (FROMLIST patches)

❌ All Checkers (Pre-merge Failure)

Root cause: Merge conflicts prevent all checkers from running - PR #1431 conflicts with the integration branch (baseline + topic/tech/mm/drm).

Failure details:

2026-06-29T12:32:57.4843551Z CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
2026-06-29T12:32:57.4844479Z Auto-merging drivers/gpu/drm/bridge/lontium-lt9611c.c
2026-06-29T12:32:57.4845117Z CONFLICT (content): Merge conflict in drivers/gpu/drm/bridge/lontium-lt9611c.c
2026-06-29T12:32:57.5455471Z Automatic merge failed; fix conflicts and then commit the result.
2026-06-29T12:32:57.5585163Z Merge failed or conflicts detected. Aborting merge.

The CI workflow attempts to merge PR #1431 into an integration branch that includes:

  • Baseline: 19b282f417584cfe14ce6a262122c51553d026ec
  • Topic branch: topic/tech/mm/drm

Two files have merge conflicts:

  1. arch/arm64/configs/defconfig - Likely CONFIG_DRM_LONTIUM_LT9611C or related DRM config options
  2. drivers/gpu/drm/bridge/lontium-lt9611c.c - The main driver file being modified by this PR

Fix:

The PR author needs to rebase their branch on top of the current integration baseline + topic/tech/mm/drm to resolve conflicts:

  1. Fetch the latest integration state:

    git fetch origin topic/tech/mm/drm
  2. Rebase the PR branch:

    git checkout <pr-branch>
    git rebase origin/topic/tech/mm/drm
  3. Resolve conflicts in both files:

    • arch/arm64/configs/defconfig: Merge config changes carefully, keeping both sets of CONFIG options
    • drivers/gpu/drm/bridge/lontium-lt9611c.c: Resolve code conflicts, likely in initialization or port configuration logic
  4. Continue the rebase:

    git add arch/arm64/configs/defconfig drivers/gpu/drm/bridge/lontium-lt9611c.c
    git rebase --continue
  5. Force-push the rebased branch:

    git push --force-with-lease

Reproduce locally:

# Clone and setup
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git fetch origin pull/1431/head:pr-1431
git fetch origin topic/tech/mm/drm

# Attempt merge to see conflicts
git checkout -b test-merge 19b282f417584cfe14ce6a262122c51553d026ec
git merge --no-commit origin/topic/tech/mm/drm
git merge --no-commit pr-1431

Verdict

Cannot merge - 1 blocker: PR #1431 has merge conflicts with the integration branch (specifically with topic/tech/mm/drm). The conflicts must be resolved in arch/arm64/configs/defconfig and drivers/gpu/drm/bridge/lontium-lt9611c.c before any checkers can run. Once rebased and conflicts resolved, the PR will need to be re-submitted for CI validation.

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