• Matt Roper's avatar
    Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709" · d9927abb
    Matt Roper authored
    This reverts commit ca692081.
    
    The intent of Wa_14015141709 was to inform us that userspace can no
    longer control object-level preemption as it has on past platforms
    (i.e., by twiddling register bit CS_CHICKEN1[0]).  The description of
    the workaround in the spec wasn't terribly well-written, and when we
    requested clarification from the hardware teams we were told that on the
    kernel side we should also probably stop setting
    FF_SLICE_CS_CHICKEN1[14], which is the register bit that directs the
    hardware to honor the settings in per-context register CS_CHICKEN1.  It
    turns out that this guidance about FF_SLICE_CS_CHICKEN1[14] was a
    mistake; even though CS_CHICKEN1[0] is non-operational and useless to
    userspace, there are other bits in the register that do still work and
    might need to be adjusted by userspace in the future (e.g., to implement
    other workarounds that show up).  If we don't set
    FF_SLICE_CS_CHICKEN1[14] in i915, then those future workarounds would
    not take effect.
    
    This miscommunication came to light because another workaround
    (Wa_16013994831) has now shown up that requires userspace to adjust the
    value of CS_CHICKEN[10] in certain circumstances.  To ensure userspace's
    updates to this chicken bit are handled properly by the hardware, we
    need to make sure that FF_SLICE_CS_CHICKEN1[14] is once again set by the
    kernel.
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220826210233.406482-1-matthew.d.roper@intel.com
    d9927abb
intel_workarounds.c 84.6 KB