]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dp: Remove the device service IRQ handling from connector detect
authorImre Deak <imre.deak@intel.com>
Wed, 25 Feb 2026 16:46:06 +0000 (18:46 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 3 Mar 2026 15:49:05 +0000 (17:49 +0200)
The device service IRQ handling was added to the connector detect
function by

commit 09b1eb130e43 ("drm/i915: Move Displayport test request and sink
IRQ logic to intel_dp_detect()")

since some Automated Test Request IRQs couldn't be handled in the short
HPD IRQ handler context. This has been fixed meanwhile by deferring the
handling of all test request events from the IRQ handler to the hotplug
handler (intel_dp_short_pulse() -> intel_dp_test_short_pulse() ->
reprobe) and by handling all hotplug events (both for short and long HPD
pulses) in the test application.

Handling device IRQs during connector detection is not standard
compliant (the IRQs should be handled when an HPD IRQ is raised) and it
happens in a racy way with the same device IRQ handling happening from
the HPD IRQ handler (since the detect and HPD IRQ handler can run in
parallel).

Based on the above, remove the redundant call from the detect function.

Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20260225164618.1261368-9-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index 7a89f26f2db74effa1af46d4001e19a858afebe2..4ecf5f6699f6621e5cb5fd1a5095c8661b2ce8fe 100644 (file)
@@ -6337,8 +6337,6 @@ intel_dp_detect(struct drm_connector *_connector,
        if (intel_dp_is_edp(intel_dp) || connector->detect_edid)
                status = connector_status_connected;
 
-       intel_dp_check_device_service_irq(intel_dp);
-
 out_unset_edid:
        if (status != connector_status_connected && !intel_dp->is_mst)
                intel_dp_unset_edid(intel_dp);