drm/i915/skl+: calculate plane pixel rate (v4)
authorKumar, Mahesh <mahesh1.kumar@intel.com>
Mon, 16 May 2016 22:52:00 +0000 (15:52 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Wed, 1 Jun 2016 14:37:04 +0000 (07:37 -0700)
commit9c2f7a9d6081072e762189a7341934d6e235cad6
tree1a7810e7c9b84107a8c8fae72eb3fce491dc0da6
parentcbcfd14b3b3583816bb3ffdd5e880a53a2d3856b
drm/i915/skl+: calculate plane pixel rate (v4)

Don't use pipe pixel rate for plane pixel rate. Calculate plane pixel according
to formula

adjusted plane_pixel_rate = adjusted pipe_pixel_rate * downscale ammount

downscale amount = max[1, src_h/dst_h] * max[1, src_w/dst_w]
if 90/270 rotation use rotated width & height

v2: use intel_plane_state->visible instead of (fb == NULL) as per Matt's
    comment.

v3 (by Matt):
 - Keep downscale amount in 16.16 fixed point rather than converting to
   decimal fixed point.
 - Store adjusted plane pixel rate in plane state instead of the plane
   parameters structure that we no longer use.

v4 (by Matt):
 - Significant rebasing onto latest atomic watermark work
 - Don't bother storing plane pixel rate in state; just calculate it
   right before the calls that make use of it.
 - Fix downscale calculations to actually use width values when
   computing downscale_w rather than copy/pasted height values.

Cc: matthew.d.roper@intel.com
Signed-off-by: Kumar, Mahesh <mahesh1.kumar@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Kumar Mahesh <mahesh1.kumar@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1463439121-28974-4-git-send-email-matthew.d.roper@intel.com
drivers/gpu/drm/i915/intel_pm.c