[Intel-gfx] [PATCH 1/5] agp/intel: Serialise after GTT updates
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Feb 5 16:11:00 PST 2015
On Wed, 14 Jan 2015 11:20:55 +0000
Chris Wilson <chris at chris-wilson.co.uk> wrote:
> diff --git a/drivers/char/agp/intel-gtt.c
> b/drivers/char/agp/intel-gtt.c index 92aa43fa8d70..15685ca39193 100644
> --- a/drivers/char/agp/intel-gtt.c
> +++ b/drivers/char/agp/intel-gtt.c
> @@ -225,7 +225,7 @@ static int i810_insert_dcache_entries(struct
> agp_memory *mem, off_t pg_start,
> intel_private.driver->write_entry(addr, i, type);
> }
> - readl(intel_private.gtt+i-1);
> + readl(intel_private.gtt+pg_start);
Any idea why? This one scares me... is it that the read is being
serviced from the WC buffer w/o being flushed? Or is the compiler
optimizing the last read based on the previous write?
Writing a non-sequential address should also cause a flush, but I don't
remember the rules for reads. We should get this figured out while we
have an easy way to reproduce and a willing tester.
Thanks,
Jesse
More information about the Intel-gfx
mailing list