drm/i915: Add intel_pipe_wm and prepare for watermark pre-compute
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 9 Oct 2013 16:17:55 +0000 (19:17 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 15 Oct 2013 07:37:46 +0000 (09:37 +0200)
commit0b2ae6d72e445b58ae39cfa6ec0b8d3f53ff7a6f
treed34613b44f39a174cd900157630162205567297c
parent0301b3ac38708003a46f5b8ece1103ba6dc23f7c
drm/i915: Add intel_pipe_wm and prepare for watermark pre-compute

Introduce a new struct intel_pipe_wm which contains all the
watermarks for a single pipe. Use it to unify the LP0 and LP1+
watermark computations so that we can just iterate through the
watermark levels neatly and call ilk_compute_wm_level() for each.

Also add another tool ilk_wm_merge() that merges the LP1+ watermarks
from all pipes. For that, embed one intel_pipe_wm inside intel_crtc that
contains the currently valid watermarks for each pipe.

This is mainly preparatory work for pre-computing the watermarks for
each pipe and merging them at a later time. For now the merging still
happens immediately.

v2: Add some comments about level 0 DDB split and intel_wm_config
    Add WARN_ON for level 0 being disabled
    s/lp_wm/merged

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_pm.c