[Intel-gfx] [PATCH 6/7] drm/i915: Add module param for enabling TTM in sysmem region

Adrian Larumbe adrian.larumbe at collabora.com
Tue Aug 9 15:50:27 UTC 2022


On 03.08.2022 17:22, Jani Nikula wrote:
>On Tue, 02 Aug 2022, Adrian Larumbe <adrian.larumbe at collabora.com> 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 at collabora.com>
>> ---
>>  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


More information about the Intel-gfx mailing list