Skip to content

LT9611C Device Driver#762

Open
mohitdsor wants to merge 12 commits into
qualcomm-linux:qcom-6.18.yfrom
mohitdsor:fix/my-change
Open

LT9611C Device Driver#762
mohitdsor wants to merge 12 commits into
qualcomm-linux:qcom-6.18.yfrom
mohitdsor:fix/my-change

Conversation

@mohitdsor

@mohitdsor mohitdsor commented Jun 23, 2026

Copy link
Copy Markdown

Device Driver changes for lt9611c
CRs-Fixed: 4552827

@mohitdsor mohitdsor changed the base branch from main to qcom-6.18.y June 23, 2026 15:53
@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.

Sunyun Yang and others added 5 commits June 23, 2026 23:12
…o HDMI driver

LT9611C(EX/UXD) is an I2C-controlled chip that Receiver signal/dual port
mipi dsi and output hdmi, differences in hardware features:
- LT9611C: supports 1-port mipi dsi to hdmi 1.4
- LT9611EX: supports 2-port mipi dsi to hdmi 1.4
- LT9611UXD: supports 2-port mipi dsi to hdmi 1.4/2.0

Link : https://lore.kernel.org/lkml/20260508134009.4582-3-syyang@lontium.com/
Signed-off-by: Sunyun Yang <syyang@lontium.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
…iver

LT9611C(EX/UXD) is an I2C-controlled chip that Receiver signal/dual port
mipi dsi and output hdmi, differences in hardware features:
- LT9611C: supports 1-port mipi dsi to hdmi 1.4
- LT9611EX: supports 2-port mipi dsi to hdmi 1.4
- LT9611UXD: supports 2-port mipi dsi to hdmi 1.4/2.0

Link : https://lore.kernel.org/lkml/20260508134009.4582-3-syyang@lontium.com/
Signed-off-by: Sunyun Yang <syyang@lontium.com>
Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
…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>
@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 Change Task Found

No associated change tasks found for CR 4552827 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4552827

Please ensure the CR has a change task associated with at least one of the entities for this branch.

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>
…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>
…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>
@qlijarvis

Copy link
Copy Markdown

PR #762 — validate-patch

PR: #762

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — all 12 patches have lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: Cannot verify — network access restricted; links reference future dates (2026-05/06)
  3. Upstream patch status: FROMLIST — patches are posted upstream but not yet merged into mainline
  4. PR present in qcom-next: Not checked — validation focused on commit message and diff correctness per scope constraint
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #762
Upstream commits: Multiple patches from lore.kernel.org (FROMLIST series)
Verdict: ⚠️ PARTIAL

Summary

This PR contains 12 patches adding support for the Lontium LT9611C/EX/UXD MIPI DSI to HDMI bridge driver. All patches are marked as FROMLIST, indicating they are posted upstream but not yet merged. Several issues were identified related to commit message formatting, authorship consistency, and link formatting.

Commit Message Issues

Patch Check Status Note
01/12 Link tag format ⚠️ Extra space after "Link :" should be "Link:"
02/12 Link tag format ⚠️ Extra space after "Link :" should be "Link:"
03/12 Subject typo ⚠️ "brige" should be "bridge"
06/12 Author email mismatch ⚠️ From: mdsor@qti.qualcomm.com but Signed-off-by: mohit.dsor@oss.qualcomm.com
All Authorship preserved Original authors (Sunyun Yang, Mohit Dsor) preserved
All Fixes tag N/A No Fixes tags (new driver, not fixing bugs)
All Backport note N/A FROMLIST patches, not backports

Detailed Issues

1. Link Tag Formatting (Patches 01-02)

  • Issue: Link : https://lore.kernel.org/... has extra space after colon
  • Expected: Link: https://lore.kernel.org/... (no space after colon)
  • Impact: Minor formatting inconsistency; doesn't affect functionality but violates kernel style

2. Subject Line Typo (Patch 03)

  • Subject: FROMLIST: dt-bindings: brige: lt9611c: add port-select
  • Issue: "brige" should be "bridge"
  • Impact: Typo in commit subject

3. Author Email Inconsistency (Patch 06)

  • From: Mohit Dsor <mdsor@qti.qualcomm.com>
  • Signed-off-by: Mohit Dsor <mohit.dsor@oss.qualcomm.com>
  • Issue: Author email differs from sign-off email
  • Impact: Authorship tracking inconsistency; the From: field should match the first Signed-off-by:

4. Lore Links Use Future Dates

  • All lore.kernel.org links reference dates in 2026 (May, June)
  • Current date context shows 2026-06-27
  • Note: This appears to be test/development data or the patches are genuinely from future dates

Diff Analysis

The diffs appear structurally sound:

  • Patch 01-02: Add new driver and DT bindings for LT9611C variants
  • Patch 03: Add DT property for port selection
  • Patch 04-05: Bug fixes and improvements to the driver
  • Patch 06: Enable driver in arm64 defconfig
  • Patch 07-12: Additional fixes for HPD, DT parsing, and cleanup

No obvious diff corruption or unintended changes detected in the code changes themselves.

Verdict

⚠️ PARTIAL PASS — The patches are functionally correct and preserve authorship, but contain formatting issues that should be fixed:

  1. Must fix: Patch 03 subject typo ("brige" → "bridge")
  2. Must fix: Patch 06 author email mismatch (From: vs Signed-off-by:)
  3. Should fix: Patches 01-02 Link tag formatting (remove space after colon)

Recommendations

  1. Fix the typo in patch 03 subject line
  2. Ensure patch 06 has consistent author email (use mohit.dsor@oss.qualcomm.com in From: field)
  3. Remove extra space in "Link :" tags in patches 01-02 to match kernel style
  4. Consider rebasing to ensure all patches follow consistent formatting

Final Summary

  1. Lore link present: Yes — all 12 patches have lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: Cannot verify — network access restricted; links reference future dates (2026-05/06)
  3. Upstream patch status: FROMLIST — patches are posted upstream but not yet merged into mainline
  4. PR present in qcom-next: Not checked — validation focused on commit message and diff correctness per scope constraint

@qlijarvis

Copy link
Copy Markdown

PR #762 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 4 commits with warnings (non-blocking style issues)
dt-binding-check Passed
dtb-check ⏭️ Skipped (no DT changes)
sparse-check Passed (pre-existing warnings only)
check-uapi-headers Passed (no UAPI changes)
check-patch-compliance 3 commits failed compliance checks
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ FROMLIST commits only

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #762 - Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI bridge driver support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28302623858

Checker Result Summary
checkpatch ⚠️ 4 commits with warnings (non-blocking style issues)
dt-binding-check Passed
dtb-check ⏭️ Skipped (no DT changes)
sparse-check Passed (pre-existing warnings only)
check-uapi-headers Passed (no UAPI changes)
check-patch-compliance 3 commits failed compliance checks
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check ⏭️ FROMLIST commits only

❌ check-patch-compliance

Root cause: Three commits have Link tag formatting or content issues that violate patch compliance requirements.

Failure details:

Commit 1: 5a11e79c79c3 - "FROMLIST: dt-bindings: bridge: Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI driver"

No 'Link' found in commit message

The Link tag has incorrect formatting: Link : https://... (space before colon). The checker expects Link: https://... (no space).

Commit 2: d5a9d9c764dd - "FROMLIST: drm/bridge: Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI driver"

No 'Link' found in commit message

Same issue: Link : https://... should be Link: https://...

Commit 7: 6981270ddf86 - "FROMLIST: drm/bridge: lontium-lt9611c: Add DSI port selection via DT property"

Change is different from the one mentioned in Link

The patch content differs from the upstream version referenced in the Link tag. This indicates the patch was modified after being posted to the mailing list, but the Link still points to the original version.

Fix:

  1. For commits 1 & 2: Remove the space before the colon in the Link tag:

    # Current (incorrect):
    Link : https://lore.kernel.org/lkml/20260508134009.4582-3-syyang@lontium.com/
    
    # Fixed:
    Link: https://lore.kernel.org/lkml/20260508134009.4582-3-syyang@lontium.com/
    
  2. For commit 7: Either:

    • Update the Link to point to the correct version that matches the actual patch content, OR
    • Revert the patch to match the upstream version referenced in the Link, OR
    • If this is a modified version, consider using a different tag like Based-on: or add a note explaining the modifications

Reproduce locally:

cd /path/to/kernel
bash ../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 8c49474603c0b1c278b8fe00ac4e735b92d78ce9 \
  --head da9e27af9deb2649ddbd4f272dc04b2ad3367a15

⚠️ checkpatch (non-blocking warnings)

Commit 1 & 2: Link tag line exceeds 75 characters (cosmetic warning, same root cause as compliance failure)

Commit 5 (d3c1db7): "FROMLIST: drm-bridge: lontium lt9611c: fixes and improvements"

  • WARNING: Unnecessary braces in if/else statement at line 1040
  • WARNING: Commit description line exceeds 75 characters

Commit 6 (4533b86): "FROMLIST: arm64: defconfig: Enable LT9611C bridge driver"

  • WARNING: From/Signed-off-by email mismatch: mdsor@qti.qualcomm.com vs mohit.dsor@oss.qualcomm.com

These are style warnings and do not block merge, but should be addressed for cleaner code.


Verdict

3 blockers must be fixed before merge:

  1. Fix Link tag formatting in commits 1 & 2 (remove space before colon)
  2. Resolve patch content mismatch in commit 7 (update Link or revert changes)
  3. (Optional but recommended) Fix email mismatch in commit 6

The PR requires rebase with corrected commit messages to pass CI.

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