[Intel-gfx] [PATCH 7/7] drm/i915: Allow configuring default request expiry via modparam
Daniel Vetter
daniel at ffwll.ch
Fri Mar 26 00:25:31 UTC 2021
On Wed, Mar 24, 2021 at 12:13:35PM +0000, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Module parameter is added (request_timeout_ms) to allow configuring the
> default request/fence expiry.
>
> Default value is inherited from CONFIG_DRM_I915_REQUEST_TIMEOUT.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Entire series merged, thanks for the patches.
-Daniel
> ---
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 5 +++--
> drivers/gpu/drm/i915/i915_params.c | 5 +++++
> drivers/gpu/drm/i915/i915_params.h | 1 +
> 3 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index 33ff1a6a7724..0e8f0476e01f 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -845,11 +845,12 @@ static void __set_default_fence_expiry(struct i915_gem_context *ctx)
> struct drm_i915_private *i915 = ctx->i915;
> int ret;
>
> - if (!IS_ACTIVE(CONFIG_DRM_I915_REQUEST_TIMEOUT))
> + if (!IS_ACTIVE(CONFIG_DRM_I915_REQUEST_TIMEOUT) ||
> + !i915->params.request_timeout_ms)
> return;
>
> /* Default expiry for user fences. */
> - ret = __set_watchdog(ctx, CONFIG_DRM_I915_REQUEST_TIMEOUT * 1000);
> + ret = __set_watchdog(ctx, i915->params.request_timeout_ms * 1000);
> if (ret)
> drm_notice(&i915->drm,
> "Failed to configure default fence expiry! (%d)",
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 6939634e56ed..0320878d96b0 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -197,6 +197,11 @@ i915_param_named_unsafe(fake_lmem_start, ulong, 0400,
> "Fake LMEM start offset (default: 0)");
> #endif
>
> +#if CONFIG_DRM_I915_REQUEST_TIMEOUT
> +i915_param_named_unsafe(request_timeout_ms, uint, 0600,
> + "Default request/fence/batch buffer expiration timeout.");
> +#endif
> +
> static __always_inline void _print_param(struct drm_printer *p,
> const char *name,
> const char *type,
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 48f47e44e848..34ebb0662547 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -72,6 +72,7 @@ struct drm_printer;
> param(int, enable_dpcd_backlight, -1, 0600) \
> param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \
> param(unsigned long, fake_lmem_start, 0, 0400) \
> + param(unsigned int, request_timeout_ms, CONFIG_DRM_I915_REQUEST_TIMEOUT, 0600) \
> /* leave bools at the end to not create holes */ \
> param(bool, enable_hangcheck, true, 0600) \
> param(bool, load_detect_test, false, 0600) \
> --
> 2.27.0
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list