• Matt Roper's avatar
    drm/xe/mocs: Drop unwanted TGL table · 7bc08d2f
    Matt Roper authored
    
    
    TGL/RKL/ADLS/ADLP are all supposed to use the same MOCS table, with
    values defined in the bspec.  Any entries listed in the bspec as
    reserved/error/undefined should always be initialized to the most cached
    and least coherent setting possible so that any userspace accidentally
    referencing those undefined entries will only experience an increase in
    coherency if spec updates down the road start defining real values.
    
    The TGL and gen12 table entries defined in the driver today are
    identical except that the TGL includes one additional (incorrect)
    setting for table index 1.  Furthermore, the TGL-specific initialization
    does not define a dedicated value for info->unused_entries_index, so
    this incorrect table entry 1 also gets used to populate the MOCS
    registers for all reserved/unused table entries.  This incorrect
    behavior is a holdover from i915 where the platform was enabled with an
    incorrect setting and by the time we noticed, it was too late to fix the
    table without breaking ABI compatibility (and on TGL we did indeed have
    some buggy userspace that was referencing the 'reserved' entry 1).
    Since the Xe driver starts fresh with a clean slate on ABI, there's no
    need to repeat the mistakes of i915 here.
    
    v2:
     - Reword/clarify commit message.  (Lucas)
    
    Bspec: 45101
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    7bc08d2f
xe_mocs.c 14.2 KB