All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] agp/intel: Reinforce the barrier after GTT updates
@ 2020-04-10  8:33 ` Chris Wilson
  0 siblings, 0 replies; 11+ messages in thread
From: Chris Wilson @ 2020-04-10  8:33 UTC (permalink / raw)
  To: intel-gfx; +Cc: Chris Wilson, stable, Chris Wilson

From: Chris Wilson <ickle@x201s.alporthouse.com>

After changing the timing between GTT updates and execution on the GPU,
we started seeing sporadic failures on Ironlake. These were narrowed
down to being an insufficiently strong enough barrier/delay after
updating the GTT and scheduling execution on the GPU. By forcing the
uncached read, and adding the missing barrier for the singular
insert_page (relocation paths), the sporadic failures go away.

Fixes: 983d308cb8f6 ("agp/intel: Serialise after GTT updates")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org # v4.0+
---
 drivers/char/agp/intel-gtt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
index 66a62d17a3f5..3d42fc4290bc 100644
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -846,6 +846,7 @@ void intel_gtt_insert_page(dma_addr_t addr,
 			   unsigned int flags)
 {
 	intel_private.driver->write_entry(addr, pg, flags);
+	readl(intel_private.gtt + pg);
 	if (intel_private.driver->chipset_flush)
 		intel_private.driver->chipset_flush();
 }
@@ -871,7 +872,7 @@ void intel_gtt_insert_sg_entries(struct sg_table *st,
 			j++;
 		}
 	}
-	wmb();
+	readl(intel_private.gtt + j - 1);
 	if (intel_private.driver->chipset_flush)
 		intel_private.driver->chipset_flush();
 }
@@ -1105,6 +1106,7 @@ static void i9xx_cleanup(void)
 
 static void i9xx_chipset_flush(void)
 {
+	wmb();
 	if (intel_private.i9xx_flush_page)
 		writel(1, intel_private.i9xx_flush_page);
 }
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-04-21 19:56 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-10  8:33 [Intel-gfx] [PATCH] agp/intel: Reinforce the barrier after GTT updates Chris Wilson
2020-04-10  8:33 ` Chris Wilson
2020-04-10  8:35 ` [Intel-gfx] " Chris Wilson
2020-04-10  8:35   ` Chris Wilson
2020-04-10 13:47   ` [Intel-gfx] " Andi Shyti
2020-04-10 13:47     ` Andi Shyti
2020-04-21 19:56   ` Sasha Levin
2020-04-21 19:56     ` Sasha Levin
2020-04-10  9:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for agp/intel: Reinforce the barrier after GTT updates (rev2) Patchwork
2020-04-10 10:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-04-10 14:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.