[Intel-gfx] [PATCH] drm/i915: Enable fastboot by default on Skylake and newer

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Jan 24 22:20:11 UTC 2019


On Thu, Jan 24, 2019 at 02:01:14PM +0100, Maarten Lankhorst wrote:
> From: Hans de Goede <hdegoede at redhat.com>
>
> We really want to have fastboot enabled by default to avoid an ugly
> modeset during boot.
>
> Rather then enabling it everywhere, lets start with enabling it on
> Skylake and newer.
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>


I believe at this point you both addressed all of my concerns.
And CI is happy. Let's give a try ;)


Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>



> ---
>  drivers/gpu/drm/i915/i915_params.c   |  6 ++++--
>  drivers/gpu/drm/i915/i915_params.h   |  2 +-
>  drivers/gpu/drm/i915/intel_display.c | 11 ++++++++++-
>  3 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 9f0539bdaa39..b5be0abbba35 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -97,8 +97,10 @@ i915_param_named_unsafe(disable_power_well, int, 0400,
>
>  i915_param_named_unsafe(enable_ips, int, 0600, "Enable IPS (default: true)");
>
> -i915_param_named(fastboot, bool, 0600,
> -	"Try to skip unnecessary mode sets at boot time (default: false)");
> +i915_param_named(fastboot, int, 0600,
> +	"Try to skip unnecessary mode sets at boot time "
> +	"(0=disabled, 1=enabled) "
> +	"Default: -1 (use per-chip default)");
>
>  i915_param_named_unsafe(prefault_disable, bool, 0600,
>  	"Disable page prefaulting for pread/pwrite/reloc (default:false). "
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 6efcf330bdab..3f14e9881a0d 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -63,10 +63,10 @@ struct drm_printer;
>  	param(int, edp_vswing, 0) \
>  	param(int, reset, 2) \
>  	param(unsigned int, inject_load_failure, 0) \
> +	param(int, fastboot, -1) \
>  	/* leave bools at the end to not create holes */ \
>  	param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
>  	param(bool, enable_hangcheck, true) \
> -	param(bool, fastboot, false) \
>  	param(bool, prefault_disable, false) \
>  	param(bool, load_detect_test, false) \
>  	param(bool, force_reset_modeset_test, false) \
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 36c1126cbc85..097e46819d3a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11690,6 +11690,15 @@ pipe_config_err(bool adjust, const char *name, const char *format, ...)
>  	va_end(args);
>  }
>
> +static bool fastboot_enabled(struct drm_i915_private *dev_priv)
> +{
> +	if (i915_modparams.fastboot != -1)
> +		return i915_modparams.fastboot;
> +
> +	/* Enable fastboot by default on Skylake and newer */
> +	return INTEL_GEN(dev_priv) >= 9;
> +}
> +
>  static bool
>  intel_pipe_config_compare(struct drm_i915_private *dev_priv,
>  			  struct intel_crtc_state *current_config,
> @@ -11701,7 +11710,7 @@ intel_pipe_config_compare(struct drm_i915_private *dev_priv,
>  		(current_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED) &&
>  		!(pipe_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED);
>
> -	if (fixup_inherited && !i915_modparams.fastboot) {
> +	if (fixup_inherited && !fastboot_enabled(dev_priv)) {
>  		DRM_DEBUG_KMS("initial modeset and fastboot not set\n");
>  		ret = false;
>  	}
> --
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list