On Tue, 02 Aug 2022, Adrian Larumbe <[email protected]> wrote:
> Introduces a new module parameter, 'use_pool_alloc', which defaults to
> 'false'. Its goal is to make the driver fall back on TTM for setting up
> the system memory region, so that object allocation will be done through
> the TTM subsystem rather than shmem objects.
>
> This commit only brings in the new kernel module param, which will be
> used by successive commits.
>
> Signed-off-by: Adrian Larumbe <[email protected]>
> ---
> drivers/gpu/drm/i915/i915_params.c | 6 ++++++
> drivers/gpu/drm/i915/i915_params.h | 3 ++-
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_params.c
> b/drivers/gpu/drm/i915/i915_params.c
> index 6fc475a5db61..1af11f030ab1 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -207,6 +207,12 @@ i915_param_named_unsafe(lmem_size, uint, 0400,
> i915_param_named_unsafe(lmem_bar_size, uint, 0400,
> "Set the lmem bar size(in MiB).");
>
> +i915_param_named_unsafe(use_pool_alloc, bool, 0600,
Do you expect to be able to change this runtime? Or the device specific
debugfs parameter knob?
> + "Force the driver to use TTM's pool allocator API for smem objects. "
> + "This will cause TTM to take over BO allocation even in integrated
> platforms. "
> + "(default: false)");
> +
> +
Superfluous newline.
> 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 2733cb6cfe09..992ee2a4947d 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -84,7 +84,8 @@ struct drm_printer;
> param(bool, verbose_state_checks, true, 0) \
> param(bool, nuclear_pageflip, false, 0400) \
> param(bool, enable_dp_mst, true, 0600) \
> - param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 :
> 0)
> + param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 :
> 0) \
> + param(bool, use_pool_alloc, false, 0600)
>
> #define MEMBER(T, member, ...) T member;
> struct i915_params {
--
Jani Nikula, Intel Open Source Graphics Center