drm/i915/skl: Add new displayable tiling formats
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Fri, 27 Feb 2015 11:15:17 +0000 (11:15 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 27 Feb 2015 17:10:53 +0000 (18:10 +0100)
Starting with SKL display engine can scan out Y, and newly introduced Yf
tiling formats so add the latter to the frame buffer modifier space.

v2: Definitions moved to drm_fourcc.h.
v3: Try to document the format better.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
include/uapi/drm/drm_fourcc.h

index 4837c3d2319ab6607b57d2587bf451a67a864225..b35418b20dcf2b5267d4b9e767039f07452ba036 100644 (file)
  */
 #define I915_FORMAT_MOD_Y_TILED        fourcc_mod_code(INTEL, 2)
 
+/*
+ * Intel Yf-tiling layout
+ *
+ * This is a tiled layout using 4Kb tiles in row-major layout.
+ * Within the tile pixels are laid out in 16 256 byte units / sub-tiles which
+ * are arranged in four groups (two wide, two high) with column-major layout.
+ * Each group therefore consits out of four 256 byte units, which are also laid
+ * out as 2x2 column-major.
+ * 256 byte units are made out of four 64 byte blocks of pixels, producing
+ * either a square block or a 2:1 unit.
+ * 64 byte blocks of pixels contain four pixel rows of 16 bytes, where the width
+ * in pixel depends on the pixel depth.
+ */
+#define I915_FORMAT_MOD_Yf_TILED fourcc_mod_code(INTEL, 3)
+
 #endif /* DRM_FOURCC_H */