[Intel-gfx] [PATCH v2 1/6] drm/i915: Shut down displays gracefully on reboot

Chris Wilson chris at chris-wilson.co.uk
Tue Oct 6 09:58:54 UTC 2020


Quoting Ville Syrjala (2020-10-01 16:16:35)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Implement the pci .shutdown() hook in order to quiesce the
> hardware prior to reboot. The main purpose here is to turn
> all displays off. Some displays/other drivers tend to get
> confused if the state after reboot isn't exactly as they
> expected.
> 
> One specific example was the Dell UP2414Q in MST mode.
> It would require me to pull the power cord after a reboot
> or else it would just not come back to life. Sadly I don't
> have that at hand anymore so not sure if it's still
> misbehaving without the graceful shutdown, or if we
> managed to fix something else since I last tested it.
> 
> For good measure we do a gem suspend as well, so that
> we match the suspend flow more closely. Also stopping
> all DMA and whatnot is probably a good idea for kexec.
> I would expect that some kind of GT reset happens on
> normal reboot so probably not totally necessary there.

Note that we should do a reset just in case kexec [whatever comes next]
fails or forgets, depending on your level of paranoia. So device shutdown
is called from the reboot/halt pathways, bypassing the usual suspend/remove.

> v2: Use the pci .shutdown() hook instead of a reboot notifier (Lukas)
>     Do the gem suspend for kexec (Chris)

We could do with a little bit more force than i915_gem_suspend, but baby
steps. I was trying to think how we could squeeze a kexec test into CI.
I don't know kexec well enough to devise a robust igt.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list