[0/7] Enable P0xx (planar), Y2xx and Y4xx (packed) pixel formats
mbox series

Message ID 1549633645-29616-1-git-send-email-swati2.sharma@intel.com
Headers show
  • Enable P0xx (planar), Y2xx and Y4xx (packed) pixel formats
Related show


Sharma, Swati2 Feb. 8, 2019, 1:47 p.m. UTC
From: Swati Sharma <swati2.sharma@intel.com>

In this patch series, Juha Pekka's patch series for Gen10+ P0xx formats
https://patchwork.freedesktop.org/series/56053/ is combined with Swati's
https://patchwork.freedesktop.org/series/55035/ for Gen11+ pixel formats
(Y2xx and Y4xx).

P0xx pixel formats are enabled from GLK whereas Y2xx and Y4xx are enabled
from ICL platform.

These patches enable planar formats YUV420-P010, P012 and  P016
(Intial 4 patches of Juha) for GLK+ platform and packed format YUV422-Y210,
Y212 and Y216 and YUV444-Y410, Y412, Y416 for 10, 12 and 16 bits for ICL+

IGT validating all these pixel formats written by Maarten Lankhorst 

IGT needs libraries for pixman and cairo to support more than 8bpc. Need 
cairo >= 1.17.2 and pixman-1 >= 0.36.0.

Tested with custom cairo and pixman. P0xx and Y2xx successfully validated for
HDR planes, SDR planes having CRC mismatch (known bug for all YUV formats).
IGT for Y410 and Y416 is alpha enabled whereas kernel patches are non-alpha;
depending upon review comments will make changes either in IGT or kernel.
TODO: IGT for Y412 yet to be written

Juha-Pekka Heikkila (4):
  drm: Add P010, P012, P016 format definitions and fourcc
  drm/i915: Add P010, P012, P016 plane control definitions
  drm/i915: preparations for enabling P010, P012, P016 formats
  drm/i915: enable P010, P012, P016 formats for primary and sprite

Swati Sharma (3):
  drm: Add Y2xx and Y4xx (xx:10/12/16) format definitions and fourcc
  drm/i915/icl: Add Y2xx and Y4xx (xx:10/12/16) plane control
  drm/i915/icl: Enabling Y2xx and Y4xx (xx:10/12/16) formats for
    universal planes

 drivers/gpu/drm/drm_fourcc.c              |   9 +++
 drivers/gpu/drm/i915/i915_reg.h           |   9 +++
 drivers/gpu/drm/i915/intel_atomic_plane.c |   2 +-
 drivers/gpu/drm/i915/intel_display.c      |  57 ++++++++++++++--
 drivers/gpu/drm/i915/intel_drv.h          |   1 +
 drivers/gpu/drm/i915/intel_pm.c           |  14 ++--
 drivers/gpu/drm/i915/intel_sprite.c       | 108 ++++++++++++++++++++++++++++--
 include/uapi/drm/drm_fourcc.h             |  28 +++++++-
 8 files changed, 208 insertions(+), 20 deletions(-)