On 03.08.2022 17:22, Jani Nikula wrote: >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? No, it's a driver load-time setting and doesn't change unless you unload the driver module and load it back without setting the parameter. Does that mean I would have to use a different param declaration macro? >> + "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 Adrian Larumbe