Commit b1d90a86 authored by Imre Deak's avatar Imre Deak

drm/xe: Use the encoder suspend helper also used by the i915 driver

Use the suspend encoders helper which is also used by the i915 driver.
This fixes an issue in the xe driver where the encoder
suspend_complete() hook is not called and was an overlook when this hook
was added in commit b61fad5f ("drm/i915/tc: Call TypeC port
flush_work/cleanup without modeset locks held") for i915, but not added
to the xe driver (which was still in a separate source tree at the above
point).

v2: Fix checkpatch warn in commit log. (Rodrigo)
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240618125255.4080303-3-imre.deak@intel.com
parent b2c42f9d
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "intel_display_types.h" #include "intel_display_types.h"
#include "intel_dmc.h" #include "intel_dmc.h"
#include "intel_dp.h" #include "intel_dp.h"
#include "intel_encoder.h"
#include "intel_fbdev.h" #include "intel_fbdev.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hotplug.h" #include "intel_hotplug.h"
...@@ -270,21 +271,6 @@ void xe_display_irq_postinstall(struct xe_device *xe, struct xe_gt *gt) ...@@ -270,21 +271,6 @@ void xe_display_irq_postinstall(struct xe_device *xe, struct xe_gt *gt)
gen11_de_irq_postinstall(xe); gen11_de_irq_postinstall(xe);
} }
static void intel_suspend_encoders(struct xe_device *xe)
{
struct drm_device *dev = &xe->drm;
struct intel_encoder *encoder;
if (has_display(xe))
return;
drm_modeset_lock_all(dev);
for_each_intel_encoder(dev, encoder)
if (encoder->suspend)
encoder->suspend(encoder);
drm_modeset_unlock_all(dev);
}
static bool suspend_to_idle(void) static bool suspend_to_idle(void)
{ {
#if IS_ENABLED(CONFIG_ACPI_SLEEP) #if IS_ENABLED(CONFIG_ACPI_SLEEP)
...@@ -315,7 +301,7 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime) ...@@ -315,7 +301,7 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
intel_hpd_cancel_work(xe); intel_hpd_cancel_work(xe);
intel_suspend_encoders(xe); intel_encoder_suspend_all(&xe->display);
intel_opregion_suspend(xe, s2idle ? PCI_D1 : PCI_D3cold); intel_opregion_suspend(xe, s2idle ? PCI_D1 : PCI_D3cold);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment