]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Restore the kernel context after a GPU reset on an idle engine
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 16 Dec 2017 00:03:34 +0000 (00:03 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 16 Dec 2017 09:37:35 +0000 (09:37 +0000)
commit55b2e304cfd8cc57a16967fad0f53c6e9f64b0dc
treecbdaac1f2d5f9a68c5ab1f43875309e2892726aa
parentfa8d965e3fe13bed8ded6ba011aa23b72ea23fc5
drm/i915: Restore the kernel context after a GPU reset on an idle engine

As part of the system requirement for powersaving is that we always have
a context loaded. Upon boot and resume, we load the kernel_context to
ensure that some valid state is set before powersaving kicks in, we
should do so after a full GPU reset as well. We only need to do so for
an idle engine, as any active engines will restart by executing the
stuck request, loading its context. For the idle engine, we create a
new request to load the kernel_context instead.

For whatever reason, perfoming a dummy execute on the idle engine after
reset papers over a subsequent GPU hang in rare circumstances, even on
machines not using contexts (e.g. Pineview).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104259
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104261
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171216000334.8197-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c