| From 2a102a6ca28b062eddb36b035afd83cf0e3e54e2 Mon Sep 17 00:00:00 2001 |
| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Date: Sat, 10 Aug 2013 14:51:11 +0200 |
| Subject: drm/i915: reserve I915_CACHING_DISPLAY and document cache modes |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| Resolve the catch-22 of igt needing a stable number and patches first |
| needing testcases by reserving the interface number up-front. |
| |
| v2: Improve the spelling a bit. |
| |
| v3: More spelling fail spotted by Chris. |
| |
| Requested-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Cc: Chris Wilson <chris@chris-wilson.co.uk> |
| Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| (cherry picked from commit 35c7ab421a13f8327e3fd627c6ebafb1c13b2e55) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| include/uapi/drm/i915_drm.h | 24 ++++++++++++++++++++++++ |
| 1 file changed, 24 insertions(+) |
| |
| diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h |
| index a1a7b6bd60d8..0bb3e5524382 100644 |
| --- a/include/uapi/drm/i915_drm.h |
| +++ b/include/uapi/drm/i915_drm.h |
| @@ -768,8 +768,32 @@ struct drm_i915_gem_busy { |
| __u32 busy; |
| }; |
| |
| +/** |
| + * I915_CACHING_NONE |
| + * |
| + * GPU access is not coherent with cpu caches. Default for machines without an |
| + * LLC. |
| + */ |
| #define I915_CACHING_NONE 0 |
| +/** |
| + * I915_CACHING_CACHED |
| + * |
| + * GPU access is coherent with cpu caches and furthermore the data is cached in |
| + * last-level caches shared between cpu cores and the gpu GT. Default on |
| + * machines with HAS_LLC. |
| + */ |
| #define I915_CACHING_CACHED 1 |
| +/** |
| + * I915_CACHING_DISPLAY |
| + * |
| + * Special GPU caching mode which is coherent with the scanout engines. |
| + * Transparently falls back to I915_CACHING_NONE on platforms where no special |
| + * cache mode (like write-through or gfdt flushing) is available. The kernel |
| + * automatically sets this mode when using a buffer as a scanout target. |
| + * Userspace can manually set this mode to avoid a costly stall and clflush in |
| + * the hotpath of drawing the first frame. |
| + */ |
| +#define I915_CACHING_DISPLAY 2 |
| |
| struct drm_i915_gem_caching { |
| /** |
| -- |
| 1.8.5.rc3 |
| |