Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: [PATCH 1/5] drm/i915/hpd: Let an HPD pin be in the disabled state when handling missed IRQs
Date: Mon, 24 Feb 2025 21:31:11 +0200	[thread overview]
Message-ID: <20250224193115.2058512-2-imre.deak@intel.com> (raw)
In-Reply-To: <20250224193115.2058512-1-imre.deak@intel.com>

After suspending and resuming the detection on connectors, HPD IRQs that
arrived while the detection was suspended, are handled by scheduling the
intel_hotplug::hotplug work for them. All HPD pins must be at this point
in either the HPD_ENABLED (set for all pins during driver loading/system
resuming) or HPD_MARK_DISABLED (set by IRQ storm detection) state: the
HPD_DISABLED state for a pin can be set only from the HPD_MARK_DISABLED
state by the hotplug work after a storm detection (enabling polling on
the given pin/connector), however the hotplug work won't be scheduled
while the detection is suspended.

A follow-up change will add support for suspending the HPD IRQ handling
on a given HPD pin (without disabling the IRQ generation on it), after
which it becomes possible to see a pin in the HPD_DISABLED state when
resuming the IRQ handling (since the suspending could've happened for an
already disabled pin). Adjust queue_work_for_missed_irqs() accordingly,
so that this function can be reused for resuming the IRQ handling.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hotplug.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 00d7b1ccf1900..ab8e71c4b0f86 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -980,6 +980,7 @@ static void queue_work_for_missed_irqs(struct drm_i915_private *i915)
 		case HPD_MARK_DISABLED:
 			queue_work = true;
 			break;
+		case HPD_DISABLED:
 		case HPD_ENABLED:
 			break;
 		default:
-- 
2.44.2


  reply	other threads:[~2025-02-24 19:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-24 19:31 [PATCH 0/5] drm/dp: Fix link training interrupted by HPD pulse Imre Deak
2025-02-24 19:31 ` Imre Deak [this message]
2025-02-24 19:31 ` [PATCH 2/5] drm/i915/hpd: Add support for suspending the IRQ handling on an HPD pin Imre Deak
2025-02-25 12:15   ` [PATCH v2 " Imre Deak
2025-02-25 16:25     ` Jani Nikula
2025-02-25 17:15       ` Imre Deak
2025-02-24 19:31 ` [PATCH 3/5] drm/i915/dp: Fix link training interrupted by a short HPD pulse Imre Deak
2025-02-24 19:31 ` [PATCH 4/5] drm/i915/dp: Queue a link check after link training is complete Imre Deak
2025-02-24 19:31 ` [PATCH 5/5] drm/i915/crt: Use intel_hpd_suspend/resume() instead of intel_hpd_disable/enable() Imre Deak
2025-02-25 12:15   ` [PATCH v2 " Imre Deak
2025-02-25  1:54 ` ✓ CI.Patch_applied: success for drm/dp: Fix link training interrupted by HPD pulse Patchwork
2025-02-25  1:54 ` ✓ CI.checkpatch: " Patchwork
2025-02-25  1:56 ` ✓ CI.KUnit: " Patchwork
2025-02-25  2:12 ` ✓ CI.Build: " Patchwork
2025-02-25  2:14 ` ✓ CI.Hooks: " Patchwork
2025-02-25  2:16 ` ✗ CI.checksparse: warning " Patchwork
2025-02-25  2:35 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-25  6:13 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-25 12:20 ` ✓ CI.Patch_applied: success for drm/dp: Fix link training interrupted by HPD pulse (rev3) Patchwork
2025-02-25 12:20 ` ✓ CI.checkpatch: " Patchwork
2025-02-25 12:21 ` ✓ CI.KUnit: " Patchwork
2025-02-25 12:38 ` ✓ CI.Build: " Patchwork
2025-02-25 12:40 ` ✓ CI.Hooks: " Patchwork
2025-02-25 12:42 ` ✗ CI.checksparse: warning " Patchwork
2025-02-25 12:59 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-25 19:15 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-26 12:55 ` [PATCH 0/5] drm/dp: Fix link training interrupted by HPD pulse Jani Nikula
2025-02-26 13:17   ` Imre Deak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250224193115.2058512-2-imre.deak@intel.com \
    --to=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox