1. 09 Feb, 2023 6 commits
  2. 08 Feb, 2023 4 commits
  3. 07 Feb, 2023 2 commits
  4. 06 Feb, 2023 3 commits
  5. 03 Feb, 2023 1 commit
  6. 02 Feb, 2023 2 commits
  7. 01 Feb, 2023 1 commit
  8. 31 Jan, 2023 9 commits
  9. 30 Jan, 2023 1 commit
  10. 27 Jan, 2023 9 commits
  11. 26 Jan, 2023 2 commits
    • Matt Roper's avatar
      drm/i915/xehp: Annotate a couple more workaround registers as MCR · 7649a5d1
      Matt Roper authored
      GAMSTLB_CTRL and GAMCNTRL_CTRL became multicast/replicated registers on
      Xe_HP.  They should be defined accordingly and use MCR-aware operations.
      
      These registers have only been used for some dg2/xehpsdv workarounds, so
      this fix is mostly just for consistency/future-proofing; even lacking
      the MCR annotation, workarounds will always be properly applied in a
      multicast manner on these platforms.
      
      Cc: Gustavo Sousa <gustavo.sousa@intel.com>
      Fixes: 58bc2453 ("drm/i915: Define multicast registers as a new type")
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230125234159.3015385-3-matthew.d.roper@intel.com
      7649a5d1
    • Matt Roper's avatar
      drm/i915/mtl: Correct implementation of Wa_18018781329 · eda94a6e
      Matt Roper authored
      Workaround Wa_18018781329 has applied to several recent Xe_HP-based
      platforms.  However there are some extra gotchas to implementing this
      properly for MTL that we need to take into account:
      
       * Due to the separation of media and render/compute into separate GTs,
         this workaround needs to be implemented on each GT, not just the
         primary GT.  Since each class of register only exists on one of the
         two GTs, we should program the appropriate registers on each GT.
      
       * As with past Xe_HP platforms, the registers on the primary GT (Xe_LPG
         IP) are multicast/replicated registers and should be handled with the
         MCR-aware functions.  However the registers on the media GT (Xe_LPM+
         IP) are regular singleton registers and should _not_ use MCR
         handling.  We need to create separate register definitions for the
         Xe_HP multicast form and the Xe_LPM+ singleton form and use each in
         the appropriate place.
      
       * Starting with MTL, workarounds documented by the hardware teams are
         technically associated with IP versions/steppings rather than
         top-level platforms.  That means we should take care to check the
         media IP version rather than the graphics IP version when deciding
         whether the workaround is needed on the Xe_LPM+ media GT (in this
         case the workaround applies to both IPs and the stepping bounds are
         identical, but we should still write the code appropriately to set a
         proper precedent for future workaround implementations).
      
       * It's worth noting that the GSC register and the CCS register are
         defined with the same MMIO offset (0xCF30).  Since the CCS is only
         relevant to the primary GT and the GSC is only relevant to the media
         GT there isn't actually a clash here (the media GT automatically adds
         the additional 0x380000 GSI offset).  However there's currently a
         glitch in the bspec where the CCS register doesn't show up at all and
         the GSC register is listed as existing on both GTs.  That's a known
         documentation problem for several registers with shared GSC/CCS
         offsets; rest assured that the CCS register really does still exist.
      
      Cc: Gustavo Sousa <gustavo.sousa@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Fixes: 41bb543f ("drm/i915/mtl: Add initial gt workarounds")
      Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230125234159.3015385-2-matthew.d.roper@intel.com
      eda94a6e