All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.1.y-cip 0/5] drm/i915: fixes for i915 Hot Plug Detection and build/runtime issues
@ 2025-07-23 12:54 Nicusor Huhulea
  2025-07-23 12:54 ` [PATCH 6.1.y-cip 1/5] [PARTIAL BACKPORT]drm/i915: Fix HPD polling, reenabling the output poll work as needed Nicusor Huhulea
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Nicusor Huhulea @ 2025-07-23 12:54 UTC (permalink / raw)
  To: cip-dev; +Cc: Nicusor Huhulea

Hello maintainers,

This series addresses a defect observed on certain hardware platforms using Linux kernel 6.1.127 with the i915 driver. The issue concerns hot plug detection (HPD) logic, 
leading to unreliable or missed detection events on affected hardware. This is happening on some specific devices.

### Background

Issue:
    On Simatic IPC227E, we observed unreliable or missing hot plug detection events, while on Simatic IPC227G (otherwise similar platform), expected hot plug behavior was maintained.
Affected kernel:
    Most of the tests were conducted on 6.1.127 (manual/standalone kernel build, CIP/Isar context). But it also happens on 6.1.145-cip44
Root cause analysis:
    Through testing and diagnostics, it appears that the HPD finite state machine or polling logic in kernel 6.1.127 is marginal for this edge case. Device IPC227E's behavior triggers
    this kernel edge case, likely due to slight variations in signal integrity, electrical margins, or internal component timing.
    Simatic IPC227G, functions as expected, possibly due to cleaner electrical signaling or more optimal timing characteristics, thus avoiding the triggering condition.
Summary:
    This points to a hardware-software interaction where kernel code assumes nicer signaling or margins than IPC227E is able to provide, exposing logic gaps not visible on more robust hardware.

### Patches

Patches 1-4:
    - Partial backports of upstream commits; only the relevant logic or fixes are applied, with other code omitted due to downstream divergence.
Patch 5:
    - Additional modifications to ensure the driver builds and resolves run-time issues
    - Contains cherry-picked logic plus context/compatibility amendments as needed.
    - Together these fixes greatly improve reliability of hotplug detection on both devices, with no regression detected in our setups.

Thank you for your review,
Nicusor Liviu Huhulea

This patch series contains the following changes:

Dmitry Baryshkov (2):
  [PARTIAL BACKPORT]drm/probe_helper: extract two helper functions
  [PARTIAL BACKPORT]drm/probe-helper: enable and disable HPD on
    connectors

Imre Deak (2):
  [PARTIAL BACKPORT]drm/i915: Fix HPD polling, reenabling the output
    poll work as needed
  [PARTIAL BACKPORT]drm: Add an HPD poll helper to reschedule the poll
    work

Nicusor Huhulea (1):
  [PARTIAL BACKPORT]fixes for i915 Hot Plug Detection and build/runtime
    issues

 drivers/gpu/drm/drm_probe_helper.c           | 125 ++++++++++++++-----
 drivers/gpu/drm/i915/display/intel_hotplug.c |   4 +-
 include/drm/drm_modeset_helper_vtables.h     |  22 ++++
 include/drm/drm_probe_helper.h               |   1 +
 4 files changed, 118 insertions(+), 34 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-08-08  3:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-23 12:54 [PATCH 6.1.y-cip 0/5] drm/i915: fixes for i915 Hot Plug Detection and build/runtime issues Nicusor Huhulea
2025-07-23 12:54 ` [PATCH 6.1.y-cip 1/5] [PARTIAL BACKPORT]drm/i915: Fix HPD polling, reenabling the output poll work as needed Nicusor Huhulea
2025-07-23 12:54 ` [PATCH 6.1.y-cip 2/5] [PARTIAL BACKPORT]drm: Add an HPD poll helper to reschedule the poll work Nicusor Huhulea
2025-07-23 13:38   ` Greg KH
2025-07-23 17:18     ` nicusor.huhulea
2025-07-23 12:54 ` [PATCH 6.1.y-cip 3/5] [PARTIAL BACKPORT]drm/probe_helper: extract two helper functions Nicusor Huhulea
2025-07-23 12:54 ` [PATCH 6.1.y-cip 4/5] [PARTIAL BACKPORT]drm/probe-helper: enable and disable HPD on connectors Nicusor Huhulea
2025-07-23 12:54 ` [PATCH 6.1.y-cip 5/5] [PARTIAL BACKPORT]fixes for i915 Hot Plug Detection and build/runtime issues Nicusor Huhulea
2025-07-24 20:38 ` [PATCH 6.1.y-cip 0/5] drm/i915: fixes " Jan Kiszka
2025-07-28 16:49   ` nicusor.huhulea
2025-07-25  0:39 ` [cip-dev] " nobuhiro1.iwamatsu
2025-07-28 16:51   ` nicusor.huhulea

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.