[Intel-gfx] [PATCH 2/2] drm/i915: Suspend/resume encoders during GPU reset

Imre Deak imre.deak at intel.com
Wed Oct 5 21:01:17 UTC 2022


On Wed, Oct 05, 2022 at 10:14:43PM +0300, Ville Syrjälä wrote:
> On Wed, Oct 05, 2022 at 08:52:51PM +0300, Imre Deak wrote:
> > The GPU reset involves a display suspend/resume sequence, but this is
> > done without suspending/resuming the encoders.
> 
> The display reset path is there for the old platforms which
> can't reset the gt stuff separately from the display engine. 
> And the only reason we started to force that codepath on more
> modern platforms was to make sure it doesn't break all the time.
> That used to happen quite regularly, but not sure if we even had
> any pre-g4x hw in CI at the time.
> 
> I suspect it's probably a mistake to start piling on more
> code in there just to make it work on really modern hw.
> The old hw where it actually matters doesn't need any of
> that code after all.

Ok, but for the !clobbers_display case the current resume sequence is
broken imo. So if this fix is not acceptable how about only restoring
modeset_restore_state in this case without reading out the HW state
first (to keep some test coverage still) or removing the
force_reset_modeset_test?

> Well, unless we manage to make it just call some simple high
> level "suspend display + resume display" pair of functions
> and nothing else. That would probably be nice simplification
> in general, but iirc currently it's much more ad-hoc than that.

I agree, but I'd say that should be done as a follow-up (just calling
the same functions during both system supend/resume and reset I suppose)
and have a simpler fix for the current issue.

> 
> -- 
> Ville Syrjälä
> Intel


More information about the Intel-gfx mailing list