diff mbox

drm/i915: Add debug module option for VTd validation

Message ID 1396337627-21554-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter April 1, 2014, 7:33 a.m. UTC
VTd has a few too many "outright disable the damn thing" workarounds
accumulated and for validation we want a simple knob to make sure we
disable them all.

Since this is for bdw+ validation and atm we don't have any
workarounds for bdw this option currently does nothing. So currently
this is just a placeholder to make sure reality will match with the
documented process for our validation people.

v2: Fix up param description (Jani).

v3: Actually git add ...

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_drv.h    | 1 +
 drivers/gpu/drm/i915/i915_params.c | 4 ++++
 2 files changed, 5 insertions(+)

Comments

Jani Nikula April 1, 2014, 8:14 a.m. UTC | #1
On Tue, 01 Apr 2014, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> VTd has a few too many "outright disable the damn thing" workarounds
> accumulated and for validation we want a simple knob to make sure we
> disable them all.
>
> Since this is for bdw+ validation and atm we don't have any
> workarounds for bdw this option currently does nothing. So currently
> this is just a placeholder to make sure reality will match with the
> documented process for our validation people.
>
> v2: Fix up param description (Jani).
>
> v3: Actually git add ...

*rolls eyes* ;)

I'm really sorry I just spotted that one param desc and failed to do any
proper review. So here's some bikeshedding.

>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_drv.h    | 1 +
>  drivers/gpu/drm/i915/i915_params.c | 4 ++++
>  2 files changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index ff02225d5edd..610ff70f8609 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1925,6 +1925,7 @@ struct i915_params {
>  	bool prefault_disable;
>  	bool reset;
>  	bool disable_display;
> +	bool disable_vtd_wa;
>  };
>  extern struct i915_params i915 __read_mostly;
>  
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index e1027cc5f0ee..d05a2afa17dc 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -47,6 +47,7 @@ struct i915_params i915 __read_mostly = {
>  	.invert_brightness = 0,
>  	.disable_display = 0,
>  	.enable_cmd_parser = 1,
> +	.disable_vtd_wa = 0,

Gringe at initializing bools with ints.

>  };
>  
>  module_param_named(modeset, i915.modeset, int, 0400);
> @@ -149,6 +150,9 @@ MODULE_PARM_DESC(invert_brightness,
>  module_param_named(disable_display, i915.disable_display, bool, 0600);
>  MODULE_PARM_DESC(disable_display, "Disable display (default: false)");
>  
> +module_param_named(disable_vtd_wa, i915.disable_vtd_wa, bool, 0600);
> +MODULE_PARM_DESC(disable_vtd_wa, "Disable all VT-d workarounds (default: false)");
> +

Why negative? Why not enable_vtd_wa defaulting to true? The disable will
lead to code like:

	if (!i915.disable_vtd_wa)

instead of

	if (i915.enable_vtd_wa)


Regardless of the bikeshedding, it's

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>  module_param_named(enable_cmd_parser, i915.enable_cmd_parser, int, 0600);
>  MODULE_PARM_DESC(enable_cmd_parser,
>  		 "Enable command parsing (1=enabled [default], 0=disabled)");
> -- 
> 1.8.5.2
>
Daniel Vetter April 3, 2014, 9:25 a.m. UTC | #2
On Tue, Apr 01, 2014 at 11:14:08AM +0300, Jani Nikula wrote:
> On Tue, 01 Apr 2014, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > VTd has a few too many "outright disable the damn thing" workarounds
> > accumulated and for validation we want a simple knob to make sure we
> > disable them all.
> >
> > Since this is for bdw+ validation and atm we don't have any
> > workarounds for bdw this option currently does nothing. So currently
> > this is just a placeholder to make sure reality will match with the
> > documented process for our validation people.
> >
> > v2: Fix up param description (Jani).
> >
> > v3: Actually git add ...
> 
> *rolls eyes* ;)
> 
> I'm really sorry I just spotted that one param desc and failed to do any
> proper review. So here's some bikeshedding.
> 
> >
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: David Woodhouse <dwmw2@infradead.org>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h    | 1 +
> >  drivers/gpu/drm/i915/i915_params.c | 4 ++++
> >  2 files changed, 5 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index ff02225d5edd..610ff70f8609 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1925,6 +1925,7 @@ struct i915_params {
> >  	bool prefault_disable;
> >  	bool reset;
> >  	bool disable_display;
> > +	bool disable_vtd_wa;
> >  };
> >  extern struct i915_params i915 __read_mostly;
> >  
> > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> > index e1027cc5f0ee..d05a2afa17dc 100644
> > --- a/drivers/gpu/drm/i915/i915_params.c
> > +++ b/drivers/gpu/drm/i915/i915_params.c
> > @@ -47,6 +47,7 @@ struct i915_params i915 __read_mostly = {
> >  	.invert_brightness = 0,
> >  	.disable_display = 0,
> >  	.enable_cmd_parser = 1,
> > +	.disable_vtd_wa = 0,
> 
> Gringe at initializing bools with ints.

Yeah, I think I'll do a quick follow-up patch.

> 
> >  };
> >  
> >  module_param_named(modeset, i915.modeset, int, 0400);
> > @@ -149,6 +150,9 @@ MODULE_PARM_DESC(invert_brightness,
> >  module_param_named(disable_display, i915.disable_display, bool, 0600);
> >  MODULE_PARM_DESC(disable_display, "Disable display (default: false)");
> >  
> > +module_param_named(disable_vtd_wa, i915.disable_vtd_wa, bool, 0600);
> > +MODULE_PARM_DESC(disable_vtd_wa, "Disable all VT-d workarounds (default: false)");
> > +
> 
> Why negative? Why not enable_vtd_wa defaulting to true? The disable will
> lead to code like:
> 
> 	if (!i915.disable_vtd_wa)
> 
> instead of
> 
> 	if (i915.enable_vtd_wa)

I've kinda optimized the naming for the validation users, not us ;-) And
"disable" tends to turn away experimenting users, I hope.

> Regardless of the bikeshedding, it's
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>

Ok, I've picked these vtd patches up.
-Daniel

> 
> 
> >  module_param_named(enable_cmd_parser, i915.enable_cmd_parser, int, 0600);
> >  MODULE_PARM_DESC(enable_cmd_parser,
> >  		 "Enable command parsing (1=enabled [default], 0=disabled)");
> > -- 
> > 1.8.5.2
> >
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ff02225d5edd..610ff70f8609 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1925,6 +1925,7 @@  struct i915_params {
 	bool prefault_disable;
 	bool reset;
 	bool disable_display;
+	bool disable_vtd_wa;
 };
 extern struct i915_params i915 __read_mostly;
 
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index e1027cc5f0ee..d05a2afa17dc 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -47,6 +47,7 @@  struct i915_params i915 __read_mostly = {
 	.invert_brightness = 0,
 	.disable_display = 0,
 	.enable_cmd_parser = 1,
+	.disable_vtd_wa = 0,
 };
 
 module_param_named(modeset, i915.modeset, int, 0400);
@@ -149,6 +150,9 @@  MODULE_PARM_DESC(invert_brightness,
 module_param_named(disable_display, i915.disable_display, bool, 0600);
 MODULE_PARM_DESC(disable_display, "Disable display (default: false)");
 
+module_param_named(disable_vtd_wa, i915.disable_vtd_wa, bool, 0600);
+MODULE_PARM_DESC(disable_vtd_wa, "Disable all VT-d workarounds (default: false)");
+
 module_param_named(enable_cmd_parser, i915.enable_cmd_parser, int, 0600);
 MODULE_PARM_DESC(enable_cmd_parser,
 		 "Enable command parsing (1=enabled [default], 0=disabled)");