[Intel-gfx] [PATCH v2 RESEND] drm/i915: add support for specifying DMC firmware override by module param

Srivatsa, Anusha anusha.srivatsa at intel.com
Mon Apr 30 18:14:35 UTC 2018



>-----Original Message-----
>From: Nikula, Jani
>Sent: Monday, April 30, 2018 3:47 AM
>To: intel-gfx at lists.freedesktop.org
>Cc: Srivatsa, Anusha <anusha.srivatsa at intel.com>; David Weinehall
><david.weinehall at linux.intel.com>
>Subject: Re: [PATCH v2 RESEND] drm/i915: add support for specifying DMC
>firmware override by module param
>
>On Tue, 24 Apr 2018, Jani Nikula <jani.nikula at intel.com> wrote:
>> Use i915.dmc_firmware_path to override default firmware for the
>> platform and bypassing version checks.
>>
>> v2: add missing param struct member declaration (David)
>>
>> Tested-by: David Weinehall <david.weinehall at linux.intel.com>
>> Reviewed-by: David Weinehall <david.weinehall at linux.intel.com>
>> Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
>> Cc: David Weinehall <david.weinehall at linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Ack-by: Anusha Srivatsa <anusha.srivatsa at intel.com>

>So *I* don't need this patch. Please someone tell me this is useful to you, and I'll
>merge.
>
>Thanks,
>Jani.
>
>
>> ---
>>  drivers/gpu/drm/i915/i915_params.c | 3 +++
>> drivers/gpu/drm/i915/i915_params.h | 1 +
>>  drivers/gpu/drm/i915/intel_csr.c   | 9 +++++++--
>>  3 files changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_params.c
>> b/drivers/gpu/drm/i915/i915_params.c
>> index 08108ce5be21..66ea3552c63e 100644
>> --- a/drivers/gpu/drm/i915/i915_params.c
>> +++ b/drivers/gpu/drm/i915/i915_params.c
>> @@ -164,6 +164,9 @@ i915_param_named_unsafe(guc_firmware_path,
>charp,
>> 0400,  i915_param_named_unsafe(huc_firmware_path, charp, 0400,
>>  	"HuC firmware path to use instead of the default one");
>>
>> +i915_param_named_unsafe(dmc_firmware_path, charp, 0400,
>> +	"DMC firmware path to use instead of the default one");
>> +
>>  i915_param_named_unsafe(enable_dp_mst, bool, 0600,
>>  	"Enable multi-stream transport (MST) for new DisplayPort sinks.
>> (default: true)");
>>
>> diff --git a/drivers/gpu/drm/i915/i915_params.h
>> b/drivers/gpu/drm/i915/i915_params.h
>> index c96360398072..6684025b7af8 100644
>> --- a/drivers/gpu/drm/i915/i915_params.h
>> +++ b/drivers/gpu/drm/i915/i915_params.h
>> @@ -51,6 +51,7 @@ struct drm_printer;
>>  	param(int, guc_log_level, -1) \
>>  	param(char *, guc_firmware_path, NULL) \
>>  	param(char *, huc_firmware_path, NULL) \
>> +	param(char *, dmc_firmware_path, NULL) \
>>  	param(int, mmio_debug, 0) \
>>  	param(int, edp_vswing, 0) \
>>  	param(int, reset, 2) \
>> diff --git a/drivers/gpu/drm/i915/intel_csr.c
>> b/drivers/gpu/drm/i915/intel_csr.c
>> index 41e6c75a7f3c..d81673250d3b 100644
>> --- a/drivers/gpu/drm/i915/intel_csr.c
>> +++ b/drivers/gpu/drm/i915/intel_csr.c
>> @@ -297,7 +297,10 @@ static uint32_t *parse_csr_fw(struct
>> drm_i915_private *dev_priv,
>>
>>  	csr->version = css_header->version;
>>
>> -	if (IS_CANNONLAKE(dev_priv)) {
>> +	if (csr->fw_path == i915_modparams.dmc_firmware_path) {
>> +		/* Bypass version check for firmware override. */
>> +		required_version = csr->version;
>> +	} else if (IS_CANNONLAKE(dev_priv)) {
>>  		required_version = CNL_CSR_VERSION_REQUIRED;
>>  	} else if (IS_GEMINILAKE(dev_priv)) {
>>  		required_version = GLK_CSR_VERSION_REQUIRED; @@ -452,7
>+455,9 @@
>> void intel_csr_ucode_init(struct drm_i915_private *dev_priv)
>>  	if (!HAS_CSR(dev_priv))
>>  		return;
>>
>> -	if (IS_CANNONLAKE(dev_priv))
>> +	if (i915_modparams.dmc_firmware_path)
>> +		csr->fw_path = i915_modparams.dmc_firmware_path;
>> +	else if (IS_CANNONLAKE(dev_priv))
>>  		csr->fw_path = I915_CSR_CNL;
>>  	else if (IS_GEMINILAKE(dev_priv))
>>  		csr->fw_path = I915_CSR_GLK;
>
>--
>Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list