On Tue, 02 Aug 2022, Adrian Larumbe <adrian.larumbe@xxxxxxxxxxxxx> 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 <adrian.larumbe@xxxxxxxxxxxxx> > --- > 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