[Intel-gfx] [PATCH 2/2] drm/i915: Disable active links before rebooting

Jani Nikula jani.nikula at linux.intel.com
Thu May 16 10:13:53 UTC 2019


On Wed, 15 May 2019, Chris Wilson <chris at chris-wilson.co.uk> 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 <chris at chris-wilson.co.uk>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  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


More information about the Intel-gfx mailing list