[Intel-gfx] [PATCH 1/2] drm/i915: Stop lying about the WOPCM size

Michal Wajdeczko michal.wajdeczko at intel.com
Tue Jul 17 13:37:11 UTC 2018


On Tue, 17 Jul 2018 14:53:19 +0200, Ville Syrjala  
<ville.syrjala at linux.intel.com> wrote:

> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Most plattforms don't have a fixed 1MiB WOPCM so stop saying that they
> do.
>
> Also toss in a FIXME about actually using the WOPCM size we probed from
> the hardware instead of assuming the fixed 1MiB size.
>
> Cc: Jackie Li <yaodong.li at intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_wopcm.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_wopcm.c  
> b/drivers/gpu/drm/i915/intel_wopcm.c
> index 74bf76f3fddc..75c7a2b0c869 100644
> --- a/drivers/gpu/drm/i915/intel_wopcm.c
> +++ b/drivers/gpu/drm/i915/intel_wopcm.c
> @@ -71,6 +71,12 @@
>   */
>  void intel_wopcm_init_early(struct intel_wopcm *wopcm)
>  {
> +	struct drm_i915_private *i915 = wopcm_to_i915(wopcm);
> +
> +	if (!HAS_GUC(i915))
> +		return;
> +
> +	/* FIXME use the size we actually probed from the hardware */
>  	wopcm->size = GEN9_WOPCM_SIZE;
> 	DRM_DEBUG_DRIVER("WOPCM size: %uKiB\n", wopcm->size / 1024);
> @@ -163,7 +169,8 @@ int intel_wopcm_init(struct intel_wopcm *wopcm)
>  	u32 guc_wopcm_rsvd;
>  	int err;
> -	GEM_BUG_ON(!wopcm->size);
> +	if (!wopcm->size)
> +		return 0;

Maybe better option would be to use:

	if (!HAS_GUC(i915))
		return 0;

which will match conditions used in init_early and init_hw and
then we will also allow to run remaining detailed checks ...

> 	if (guc_fw_size >= wopcm->size) {
>  		DRM_ERROR("GuC FW (%uKiB) is too big to fit in WOPCM.",

Thanks,
Michal


More information about the Intel-gfx mailing list