• Ville Syrjälä's avatar
    drm/i915: Add hardware csc readout for ilk+ · 01c2be8e
    Ville Syrjälä authored
    Read out the pipe/output csc matrices on ilk+ and stash the results
    (in the hardware specific format) into the appropriate place
    in the crtc state.
    
    Note that on skl/glk/icl the pipe csc unit suffers from an issue
    where *reads* of the coefficient/offset registers also disarm
    the double buffer update (if currently armed via CSC_MODE write).
    So it's rather important that the readout only happens after the
    csc registers have been latched. Fortunately the state checker
    only runs after the start of vblank where the latching happens.
    
    And on skl/glk the DMC + CSC register read has the potential to
    corrupt the latched CSC register values, so let's add a comment
    reminding us that the DC states should remain off until the
    readout has been completed.
    
    TODO: maybe we could somehow check to make sure PSR has in fact
    latched the new register values already, and that DC states
    have been off all along?
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230329135002.3096-9-ville.syrjala@linux.intel.comReviewed-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
    01c2be8e
intel_display.c 254 KB