[Intel-gfx] [PATCH] drm/i915: enable semaphores on gen6 if dmar is not active
Ben Widawsky
ben at bwidawsk.net
Thu May 10 01:03:57 CEST 2012
On Thu, 10 May 2012 00:40:20 +0200
Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Inspired by the recent ppgtt regression report, where switching of
> dmar only for the gpu seems to fix things completely, I've looked
> again at the semaphores+vt-d situation.
>
> Contrary to my earlier testing a few months back my system is now
> stable with dmar disabled for the igd, and not only when disabling
> dmar completely.
>
> So I'm rather hopeful that all our recent fixes for snb have changed
> things for code and it's time to try enabling semaphores again. We've
> also had issues with enabling semaphores which are not vt-d related,
> but I guess these are all fixed by the autoreport-disabling and lazy
> request fix. And there's only one way to find out whether there are
> still other issues ...
>
> When I've tried to apply this patch I've noticed that semaphores on
> gen6 have already silently been added in
>
> commit 2911a35b2e4eb87ec48d03aeb11f019e51ae3c0d
> Author: Ben Widawsky <ben at bwidawsk.net>
> Date: Thu Apr 5 14:47:36 2012 -0700
>
> drm/i915: use semaphores for the display plane
>
> Fix this up by only checking whether dmar is enabled on the gfx (not
> on the entire system).
Heh. It wasn't on purpose! I want to blame this on git, but I honestly
don't know what happened.
>
> Cc: Ben Widawsky <ben at bwidawsk.net>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Reviewed-by: Ben Widawsky <ben at bwidawsk.net>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 77b7a50..1ccfc23 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -407,9 +407,11 @@ bool i915_semaphore_is_enabled(struct drm_device *dev)
> if (i915_semaphores >= 0)
> return i915_semaphores;
>
> +#ifdef CONFIG_INTEL_IOMMU
> /* Enable semaphores on SNB when IO remapping is off */
> - if (INTEL_INFO(dev)->gen == 6)
> - return !intel_iommu_enabled;
> + if (INTEL_INFO(dev)->gen == 6 && intel_iommu_gfx_mapped)
> + return false;
> +#endif
>
> return 1;
> }
--
Ben Widawsky, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list