• Ville Syrjälä's avatar
    drm/i915: Compute display FIFO split dynamically for CHV · 54f1b6e1
    Ville Syrjälä authored
    Consider which planes are active and compute the FIFO split based on the
    relative data rates. Since we only consider the pipe src width rather
    than the plane width when computing watermarks it seems best to do the
    same when computing the FIFO split as well. This means the only thing we
    actually have to consider for the FIFO splut is the bpp, and we can
    ignore the rest.
    
    I've just stuffed the logic into the watermark code for now. Eventually
    it'll need to move into the atomic update for the crtc.
    
    There's also one extra complication I've not yet considered; Some of the
    DSPARB registers contain bits related to multiple pipes. The registers
    are double buffered but apparently they update on the vblank of any
    active pipe. So doing the FIFO reconfiguration properly when multiple
    pipes are active is not going to be fun. But let's ignore that mess for
    now.
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarClint Taylor <Clinton.A.Taylor@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    54f1b6e1
i915_reg.h 296 KB