Re: [PATCH 03/10] drm/i915: Update i915.reset to handle engine resets

Chris Wilson
2017-01-12T13:11:17Z

On Thu, Jan 12, 2017 at 02:22:21PM +0200, Joonas Lahtinen wrote:
> On ke, 2017-01-11 at 20:18 -0800, Michel Thierry wrote:
> > From: Arun Siluvery <arun.siluvery@linux.intel.com>
> >
> > In preparation for engine reset work update this parameter to handle more
> > than one type of reset. Default at the moment is still full gpu reset.
> >
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> > Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com>
> > Signed-off-by: Michel Thierry <michel.thierry@intel.com>
>
> <SNIP>
>
> > @@ -113,8 +113,8 @@ MODULE_PARM_DESC(vbt_sdvo_panel_type,
> > >   "Override/Ignore selection of SDVO panel mode in the VBT "
> > >   "(-2=ignore, -1=auto [default], index in VBT BIOS table)");
> >
> > -module_param_named_unsafe(reset, i915.reset, bool, 0600);
> > -MODULE_PARM_DESC(reset, "Attempt GPU resets (default: true)");
> > +module_param_named_unsafe(reset, i915.reset, int, 0600);
> > +MODULE_PARM_DESC(reset, "Attempt GPU resets (0=disabled, 1=full gpu reset [default], 2=engine reset)");
>
> Would it make sense to have this as bitflags? So you could disable full
> GPU reset but still enable engine reset?

As it stands from the code currently, not really. The per-engine reset
(conceptually) does the same operations as the full reset, just under an
engine mask. If we have issues with a global reset, those should plague
per-engine reset as well.

I would like to keep the user options to a minimum. If our only usecase
for this parameter is testing, let's develop those as kselftests.
Though disabling reset will still be desired to w/a the occasional hw
death.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre