• Tejas Upadhyay's avatar
    drm/xe/xe2: Add workaround 18032095049 and 16021639441 · b279b530
    Tejas Upadhyay authored
    This workaround applies to graphics 20.04 on all engines.
    
    Workaround has three parts :
    1. Pipe flush before MI_ATOMIC - This part isn't relevant to Xe
       (at least not right now) since we don't use MI_ATOMIC anywhere
       in the kernel mode driver.
    2. Memory-based interrupt masking - Memory-based interrupt processing
       isn't supported on physical functions, only virtual functions,
       according to bspec 60352. So this is probably only relevant once
       SRIOV support lands in the driver.
    3. Disabling CSB/timestamp updates to the ghwsp and pphwsp - Workaround
       is added by this change.
    
    The CSB reports to gHWSP and ppHWSP have been discussed as part
    of a different topic on some internal threads and we've confirmed
    that neither the KMD nor the GuC firmware use those for anything,
    so disabling them is always "safe" and should have no functional
    or performance impact on system operation.  The same is true for
    the timestamp updates in the ppHWSP as well.  Given that, it might
    make sense to just combine these two workarounds into a single
    record (and single patch) and apply it on all steppings. Disabling
    the reports for RCS on higher steppings doesn't have any kind of
    negative impact and will simplify the overall situation.
    
    V3(MattR):
      - Combine WA apply same WA for all engines, no performance impact
    V2(MattR):
      - Mention detail in commit message
      - Reorder bit define
      - Improve bit naming
      - Remove workaround part which isnt relevant
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Signed-off-by: default avatarTejas Upadhyay <tejas.upadhyay@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    b279b530
xe_engine_regs.h 5.3 KB