Daniel Vetter <daniel.vet...@ffwll.ch> writes:

> DRM_ERROR an continue without any issues aren't allowed since that
> causes noise in the CI system. But we absolutely want to have the
> DRM_ERROR when we want to run with GuC.
>
> For simplicity just short-circuit all the loader code when it's not
> needed.
>
> v2: Mika&Chris complained that I shouldn't hit send on patches written
> before coffee kicks in.
>
> v3: Make it compile at least ...
>
> Cc: Alex Dai <yu....@intel.com>
> Cc: Dave Gordon <david.s.gor...@intel.com>
> Cc: Mika Kuoppala <mika.kuopp...@intel.com>
> Cc: Chris Wilson <ch...@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>

I did test only the case where we have guc disabled,
and the patch does what it advertizes.

Reviewed-by: Mika Kuoppala <mika.kuopp...@intel.com>

> ---
>  drivers/gpu/drm/i915/i915_gem.c         | 15 +++------------
>  drivers/gpu/drm/i915/intel_guc_loader.c |  6 ++++++
>  2 files changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index c067706ce53c..9552647a925d 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4752,18 +4752,9 @@ i915_gem_init_hw(struct drm_device *dev)
>       if (HAS_GUC_UCODE(dev)) {
>               ret = intel_guc_ucode_load(dev);
>               if (ret) {
> -                     /*
> -                      * If we got an error and GuC submission is enabled, map
> -                      * the error to -EIO so the GPU will be declared wedged.
> -                      * OTOH, if we didn't intend to use the GuC anyway, just
> -                      * discard the error and carry on.
> -                      */
> -                     DRM_ERROR("Failed to initialize GuC, error %d%s\n", ret,
> -                               i915.enable_guc_submission ? "" :
> -                               " (ignored)");
> -                     ret = i915.enable_guc_submission ? -EIO : 0;
> -                     if (ret)
> -                             goto out;
> +                     DRM_ERROR("Failed to initialize GuC, error %d\n", ret);
> +                     ret = -EIO;
> +                     goto out;
>               }
>       }
>  
> diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c 
> b/drivers/gpu/drm/i915/intel_guc_loader.c
> index c0281df52702..bbbf9b3b00eb 100644
> --- a/drivers/gpu/drm/i915/intel_guc_loader.c
> +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
> @@ -364,6 +364,9 @@ int intel_guc_ucode_load(struct drm_device *dev)
>       struct intel_guc_fw *guc_fw = &dev_priv->guc.guc_fw;
>       int err = 0;
>  
> +     if (!i915.enable_guc_submission)
> +             return 0;
> +
>       DRM_DEBUG_DRIVER("GuC fw status: fetch %s, load %s\n",
>               intel_guc_fw_status_repr(guc_fw->guc_fw_fetch_status),
>               intel_guc_fw_status_repr(guc_fw->guc_fw_load_status));
> @@ -589,6 +592,9 @@ void intel_guc_ucode_init(struct drm_device *dev)
>               fw_path = "";   /* unknown device */
>       }
>  
> +     if (!i915.enable_guc_submission)
> +             return;
> +
>       guc_fw->guc_dev = dev;
>       guc_fw->guc_fw_path = fw_path;
>       guc_fw->guc_fw_fetch_status = GUC_FIRMWARE_NONE;
> -- 
> 2.5.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to