• Ville Syrjälä's avatar
    drm/i915: Implement pipe CSC based limited range RGB output · 86d3efce
    Ville Syrjälä authored
    HSW no longer has the PIPECONF bit for limited range RGB output.
    Instead the pipe CSC unit must be used to perform that task.
    
    The CSC pre offset are set to 0, since the incoming data is full
    [0:255] range RGB, the coefficients are programmed to compress the
    data into [0:219] range, and then we use either the CSC_MODE black
    screen offset bit, or the CSC post offsets to shift the data to
    the correct [16:235] range.
    
    Also have to change the confiuration of all planes so that the
    data is sent through the pipe CSC unit. For simplicity send the
    plane data through the pipe CSC unit always, and in case full
    range output is requested, the pipe CSC unit is set up with an
    identity transform to pass the plane data through unchanged.
    
    I've been told by some hardware people that the use of the pipe
    CSC unit shouldn't result in any measurable increase in power
    consumption numbers.
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    86d3efce
intel_display.c 251 KB