• Radhakrishna Sripada's avatar
    drm/i915/tgl: Add Clear Color support for TGL Render Decompression · d1e2775e
    Radhakrishna Sripada authored
    Render Decompression is supported with Y-Tiled main surface. The CCS is
    linear and has 4 bits of data for each main surface cache line pair, a
    ratio of 1:256. Additional Clear Color information is passed from the
    user-space through an offset in the GEM BO. Add a new modifier to identify
    and parse new Clear Color information and extend Gen12 render decompression
    functionality to the newly added modifier.
    
    v2: Fix has_alpha flag for modifiers, omit CC modifier during initial
        plane config(Matt). Fix Lookup error.
    v3: Fix the panic while running kms_cube
    v4: Add alignment check and reuse the comments for ge12_ccs_formats(Matt)
    v5: Fix typos and wrap comments(Matt)
    v6:
    - Use format block descriptors to get the subsampling calculations for
      the CCS surface right.
    - Use helpers to convert between main and CCS surfaces.
    - Prevent coordinate checks for the CC surface.
    - Simplify reading CC value from surface map, add description of CC val
      layout.
    - Remove redundant ccval variable from skl_program_plane().
    v7:
    - Move the CC value readout after syncing against any GPU write on the
      FB obj (Nanley, Chris)
    - Make sure the CC value readout works on platforms w/o struct pages
      (dGFX) and other non-coherent platforms wrt. CPU reads (none atm).
      (Chris)
    v8:
    - Rebase on the function param order change of
      i915_gem_object_read_from_page().
    - Clarify code comment on the clear color value format and the required
      FB obj pinning/syncing by the caller.
    - Remove redundant variables in
      intel_atomic_prepare_plane_clear_colors().
    v9:
    - Fix s/sizeof(&ccval)/sizeof(ccval)/ typo.
    
    Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Cc: Ville Syrjala <ville.syrjala@intel.com>
    Cc: Shashank Sharma <shashank.sharma@intel.com>
    Cc: Rafael Antognolli <rafael.antognolli@intel.com>
    Cc: Nanley G Chery <nanley.g.chery@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Signed-off-by: default avatarRadhakrishna Sripada <radhakrishna.sripada@intel.com>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210115213952.1040398-1-imre.deak@intel.com
    d1e2775e
i915_reg.h 497 KB