On Wed, 15 May 2019, Chris Wilson <[email protected]> wrote:
> 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 | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 401eb6c71ae1..7b2dc8d66f35 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -26,6 +26,7 @@
> #include <linux/vgaarb.h>
> #include <linux/vga_switcheroo.h>
>
> +#include <drm/drm_atomic_helper.h>
> #include <drm/drm_drv.h>
>
> #include "i915_drv.h"
> @@ -909,6 +910,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);
I think we could use this to replace edp_notify_handler(). But the above
alone is not enough because it won't do the wait, as we do the waits in
enable, and after boot we've lost track of when the last disable was.
BR,
Jani.
> }
>
> static struct pci_driver i915_pci_driver = {
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx