[Intel-gfx] [PATCH] drm/i915: Shut up GuC errors when it's disabled

Daniel Vetter daniel at ffwll.ch
Fri Oct 23 04:32:23 PDT 2015


On Fri, Oct 23, 2015 at 01:56:40PM +0300, Mika Kuoppala wrote:
> Daniel Vetter <daniel.vetter at 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.dai at intel.com>
> > Cc: Dave Gordon <david.s.gordon at intel.com>
> > Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > Signed-off-by: Daniel Vetter <daniel.vetter at 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.kuoppala at intel.com>

Applied, thanks.
-Daniel

> 
> > ---
> >  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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list