[Intel-gfx] [PATCH v2 6/8] drm/i915/guc: Set GuC init params only once

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 24 08:19:44 UTC 2019


Quoting Daniele Ceraolo Spurio (2019-07-24 03:21:51)
> All the GuC objects are perma-pinned, so their offset can't change at
> runtime. We can therefore set (and log!) the parameters only once during
> boot.

Much better, but I still have the same information (fw loaded) repeated.

<7>[  345.432995] [drm:intel_uc_fw_upload [i915]] HuC fw load i915/kbl_huc_ver02_00_1810.bin
<7>[  345.433589] [drm:intel_uc_fw_upload [i915]] HuC fw load completed
<6>[  345.433592] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
<7>[  345.433686] [drm:intel_uc_fw_upload [i915]] GuC fw load i915/kbl_guc_33.0.0.bin
<7>[  345.434046] [drm:intel_uc_fw_upload [i915]] GuC fw load completed
<6>[  345.434048] [drm] GuC: Loaded firmware i915/kbl_guc_33.0.0.bin (version 33.0)
<7>[  345.436578] [drm:intel_guc_fw_upload [i915]] GuC status 0x8002f0ec
<6>[  345.436643] [drm] GuC communication enabled
<6>[  345.436718] i915 0000:00:02.0: GuC firmware version 33.0
<6>[  345.436719] i915 0000:00:02.0: GuC submission disabled
<6>[  345.436720] i915 0000:00:02.0: HuC enabled
<7>[  345.437910] [drm:intel_uc_fw_upload [i915]] HuC fw load i915/kbl_huc_ver02_00_1810.bin
<7>[  345.438591] [drm:intel_uc_fw_upload [i915]] HuC fw load completed
<6>[  345.438593] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
<7>[  345.438724] [drm:intel_uc_fw_upload [i915]] GuC fw load i915/kbl_guc_33.0.0.bin
<7>[  345.439085] [drm:intel_uc_fw_upload [i915]] GuC fw load completed
<6>[  345.439086] [drm] GuC: Loaded firmware i915/kbl_guc_33.0.0.bin (version 33.0)
<7>[  345.441594] [drm:intel_guc_fw_upload [i915]] GuC status 0x8002f0ec
<6>[  345.441652] [drm] GuC communication enabled
<6>[  345.441727] i915 0000:00:02.0: GuC firmware version 33.0
<6>[  345.441728] i915 0000:00:02.0: GuC submission disabled
<6>[  345.441729] i915 0000:00:02.0: HuC enabled

Also note that we are repeating at KERN_INFO the same information (fw
loaded).

Having the path before loading is reasonable (or rather I expect
reasonable object to any request to drop it until error), but the
repeated completion information could be whittled down :)

> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> ---

> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> index f51c4c3c1d0b..714e9892aaff 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> @@ -76,6 +76,9 @@ struct intel_guc {
>         /* Cyclic counter mod pagesize  */
>         u32 db_cacheline;
>  
> +       /* Control params for fw initialization */
> +       u32 params[GUC_CTL_MAX_DWORDS];
> +

Upon init, save parameters to intel_guc. Then write from guc->params
instead of the local stack.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list