[PATCH 00/15] drm/i915: Adding NV12 for skylake display

Chandra Konduru
2015-09-05T02:34:52Z

This patch series is adding initial NV12 support for Skylake display
after rebasing on latest drm-intel-nightly. Earlier I had two patch
series one for 0/180 and another for 90/270. Some of the patches
were already merged. This is combined series to support 0/90/180/270
and removing the ones that are already merged.

Feature is tested with igt/kms_nv12 testcases.
Feature is unit tested for linear/X/Y formats in 0, 90, 180, 270
orientations with combinations of 1 or 2 planes enabled along with
scaling. Also negatively tested for enabling NV12 on unsupported
plane.

The last patch in this series depends on Tvrtko's GEM remapping
for NV12 format patch series.

First two patches fixing couple things in dbuf logic to allocate
correct min number of dbuf blocks and use correct source width
and height in 90/270 rotation cases.

Update from last rev:
-Resolved Ville's full review comments.
-Changes were described in individual patch headers.

So far R-B tag was issued for 1, 4, 6, 9 (in old series)
That changes to 1, 3, 5, 8 because older 3rd patch was squashed.

As number of patches are changed from previous rev due to some
code refactoring, squashing and various minor updates, sending
full series to keep patch numbering consistent.

Chandra Konduru (15):
drm/i915: Allocate min dbuf blocks per bspec
drm/i915: In DBUF/WM calcs for 90/270, swap w & h
drm/i915: Set scaler mode for NV12
drm/i915: Stage scaler request for NV12 as src format
drm/i915: Update format_is_yuv() to include NV12
drm/i915: Upscale scaler max scale for NV12.
drm/i915: Add NV12 as supported format for primary plane
drm/i915: Add NV12 as supported format for sprite plane
drm/i915: Add NV12 support to intel_framebuffer_init
drm/i915: Add NV12 to primary plane programming.
drm/i915: Add NV12 to sprite plane programming.
drm/i915: Set initial phase & trip for NV12 scaler
drm/i915: skl nv12 wa - disable streamer fix
drm/i915: skl nv12 wa - NV12 to RGB switch
drm/i915: Add 90/270 rotation for NV12 format.

drivers/gpu/drm/i915/i915_drv.c | 43 +++++++
drivers/gpu/drm/i915/i915_reg.h | 46 +++++++
drivers/gpu/drm/i915/intel_atomic.c | 5 +-
drivers/gpu/drm/i915/intel_csr.c | 29 -----
drivers/gpu/drm/i915/intel_display.c | 226 +++++++++++++++++++++++++++++++---
drivers/gpu/drm/i915/intel_drv.h | 6 +-
drivers/gpu/drm/i915/intel_pm.c | 57 ++++++++-
drivers/gpu/drm/i915/intel_sprite.c | 127 +++++++++++++++----
8 files changed, 464 insertions(+), 75 deletions(-)

--
1.7.9.5