[Intel-gfx] [PATCH] agp/intel: Flush all chipset writes after updating the GGTT
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Mon Dec 11 10:55:40 UTC 2017
On Fri, 2017-12-08 at 21:46 +0000, Chris Wilson wrote:
> Before accessing the GGTT we must flush the PTE writes and make them
> visible to the chipset, or else the indirect access may end up in the
> wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
> after updating a single PTE"), we noticed corruption of the uploads for
> pwrite and for capturing GPU error states, but it was presumed that the
> explicit calls to intel_gtt_chipset_flush() were sufficient for the
> execbuffer path. However, we have not been flushing the chipset between
> the PTE writes and access via the GTT itself.
>
> For simplicity, do the flush after any PTE update rather than try and
> batch the flushes on a just-in-time basis.
>
> References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a single PTE")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Cc: drm-intel-fixes at lists.freedesktop.org
I don't think this is being used so much anymore? (+ Jani for this)
Why not Cc: stable? My DIM says # v4.9+
> +++ b/drivers/char/agp/intel-gtt.c
> @@ -872,6 +872,8 @@ void intel_gtt_insert_sg_entries(struct sg_table *st,
> }
> }
> wmb();
> + if (intel_private.driver->chipset_flush)
> + intel_private.driver->chipset_flush();
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the Intel-gfx
mailing list