• Matt Roper's avatar
    drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v4) · 024c9045
    Matt Roper authored
    Just pull the info out of the state structures rather than staging
    it in an additional set of structures.  To make this more
    straightforward, we change the signature of several internal WM
    functions to take the crtc state as a parameter.
    
    v2:
     - Don't forget to skip cursor planes on a loop in the DDB allocation
       function to match original behavior.  (Ander)
     - Change a use of intel_crtc->active to cstate->active.  They should
       be identical, but it's better to be consistent.  (Ander)
     - Rework more function signatures to pass states rather than crtc for
       consistency. (Ander)
    
    v3:
      - Add missing "+ 1" to skl_wm_plane_id()'s 'overlay' case. (Maarten)
      - Packed formats should pass '0' to drm_format_plane_cpp(), not 1.
        (Maarten)
      - Drop unwanted WARN_ON() for disabled planes when calculating data
        rate for SKL.  (Maarten)
    
    v4:
     - Don't include cursor plane in total relative data rate calculation;
       we've already handled the cursor allocation earlier.
     - Fix 'bytes_per_pixel' calculation braindamage.  Somehow I hardcoded
       the NV12 format as a parameter rather than the actual
       fb->pixel_format, and even then still managed to get the format plane
       wrong.  (Ville)
     - Use plane->state->fb rather than plane->fb in
       skl_allocate_pipe_ddb(); the plane->fb pointer isn't updated until
       after we've done our watermark recalculation, so it has stale
       values.  (Bob Paauwe)
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by(v3): Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Paauwe, Bob J <bob.j.paauwe@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
    References: http://lists.freedesktop.org/archives/intel-gfx/2015-September/077060.html
    References: http://lists.freedesktop.org/archives/intel-gfx/2015-October/077721.html
    Smoke-tested-by(v4): Paulo Zanoni <paulo.r.zanoni@intel.com> (SKL)
    Link: http://patchwork.freedesktop.org/patch/61968/
    024c9045
intel_pm.c 205 KB