Certain monitors, e.g. Dell, do not like it when we reboot with an
active link, leaving them in a confused state where they refuse to
renegotiate the link after the reboot. If we hook into the reboot
notifier, we can switch off any active link before rebooting, leaving
everything in a consistent, hopefully happy, state.

Signed-off-by: Chris Wilson <[email protected]>
Cc: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/i915_pci.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index cf2396856d38..e4248adb2032 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -26,6 +26,8 @@
 #include <linux/vgaarb.h>
 #include <linux/vga_switcheroo.h>
 
+#include <drm/drm_atomic_helper.h>
+
 #include "i915_drv.h"
 #include "i915_selftest.h"
 
@@ -774,6 +776,9 @@ static void i915_pci_shutdown(struct pci_dev *pdev)
        /* Cancel any outstanding rendering */
        if (READ_ONCE(i915->gt.awake))
                i915_gem_set_wedged(i915);
+
+       /* Disable active links to avoid confusing certain (Dell) monitors */
+       drm_atomic_helper_shutdown(&i915->drm);
 }
 
 static struct pci_driver i915_pci_driver = {
-- 
2.19.2

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to