linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/6] drm/v3d: Document cache flushing ABI.
@ 2018-12-03 22:24 Eric Anholt
  2018-12-03 22:24 ` [PATCH v2 2/6] drm/v3d: Drop unused v3d_flush_caches() Eric Anholt
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Eric Anholt @ 2018-12-03 22:24 UTC (permalink / raw)
  To: dri-devel; +Cc: linux-kernel, Dave Emett, Thomas Spurden, Eric Anholt

Right now, userspace doesn't do any L2T writes, but we should lay out
our expectations for how it works.

v2: Explicitly mention the VCD cache flushing requirements and that
    we'll flush the other caches before each of the CLs.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 include/uapi/drm/v3d_drm.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/uapi/drm/v3d_drm.h b/include/uapi/drm/v3d_drm.h
index 35c7d813c66e..ea70669d2138 100644
--- a/include/uapi/drm/v3d_drm.h
+++ b/include/uapi/drm/v3d_drm.h
@@ -52,6 +52,14 @@ extern "C" {
  *
  * This asks the kernel to have the GPU execute an optional binner
  * command list, and a render command list.
+ *
+ * The L1T, slice, L2C, L2T, and GCA caches will be flushed before
+ * each CL executes.  The VCD cache should be flushed (if necessary)
+ * by the submitted CLs.  The TLB writes are guaranteed to have been
+ * flushed by the time the render done IRQ happens, which is the
+ * trigger for out_sync.  Any dirtying of cachelines by the job (only
+ * possible using TMU writes) must be flushed by the caller using the
+ * CL's cache flush commands.
  */
 struct drm_v3d_submit_cl {
 	/* Pointer to the binner command list.
-- 
2.20.0.rc1


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

end of thread, other threads:[~2018-12-04 12:01 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-03 22:24 [PATCH v2 1/6] drm/v3d: Document cache flushing ABI Eric Anholt
2018-12-03 22:24 ` [PATCH v2 2/6] drm/v3d: Drop unused v3d_flush_caches() Eric Anholt
2018-12-03 22:24 ` [PATCH v2 3/6] drm/v3d: Don't bother flushing L1TD at job start Eric Anholt
2018-12-03 22:24 ` [PATCH v2 4/6] drm/v3d: Drop the wait for L2T flush to complete Eric Anholt
2018-12-04 11:53   ` Dave Emett
2018-12-03 22:24 ` [PATCH v2 5/6] drm/v3d: Stop trying to flush L2C on V3D 3.3+ Eric Anholt
2018-12-04 11:54   ` Dave Emett
2018-12-03 22:24 ` [PATCH v2 6/6] drm/v3d: Invalidate the caches from the outside in Eric Anholt
2018-12-04 12:01   ` Dave Emett
2018-12-04 11:51 ` [PATCH v2 1/6] drm/v3d: Document cache flushing ABI Dave Emett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).