1. 29 11月, 2022 1 次提交
  2. 21 11月, 2022 1 次提交
  3. 16 11月, 2022 2 次提交
  4. 14 11月, 2022 1 次提交
  5. 10 11月, 2022 1 次提交
  6. 02 11月, 2022 1 次提交
  7. 27 10月, 2022 1 次提交
  8. 18 10月, 2022 8 次提交
  9. 05 10月, 2022 1 次提交
  10. 24 9月, 2022 1 次提交
  11. 22 9月, 2022 1 次提交
  12. 31 8月, 2022 2 次提交
  13. 26 8月, 2022 1 次提交
  14. 17 8月, 2022 2 次提交
  15. 02 8月, 2022 1 次提交
  16. 12 7月, 2022 1 次提交
  17. 01 7月, 2022 1 次提交
  18. 17 6月, 2022 2 次提交
  19. 16 6月, 2022 1 次提交
  20. 09 6月, 2022 1 次提交
    • M
      drm/i915/pvc: Add register steering · e0d7371b
      Matt Roper 提交于
      Ponte Vecchio no longer has MSLICE or LNCF steering, but the bspec does
      document several new types of multicast register ranges.  Fortunately,
      most of the different MCR types all provide valid values at instance
      (0,0) so there's no need to read fuse registers and calculate a
      non-terminated instance.  We'll lump all of those range types (BSLICE,
      HALFBSLICE, TILEPSMI, CC, and L3BANK) into a single category called
      "INSTANCE0" to keep things simple.  We'll also perform explicit steering
      for each of these multicast register types, even if the implicit
      steering setup for COMPUTE/DSS ranges would have worked too; this is
      based on guidance from our hardware architects who suggested that we
      move away from implicit steering and start explicitly steer all MCR
      register accesses on modern platforms (we'll work on transitioning
      COMPUTE/DSS to explicit steering in the future).
      
      Note that there's one additional MCR range type defined in the bspec
      (SQIDI) that we don't handle here.  Those ranges use a different
      steering control register that we never touch; since instance 0 is also
      always a valid setting there, we can just ignore those ranges.
      
      Finally, we'll rename the HAS_MSLICES() macro to HAS_MSLICE_STEERING().
      PVC hardware still has units referred to as mslices, but there's no
      register steering based on mslice for this platform.
      
      v2:
       - Rebase on other recent changes
       - Swap two table rows to keep table sorted & easy to read.  (Harish)
      
      Bspec: 67609
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NHarish Chegondi <harish.chegondi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220608170700.4026648-1-matthew.d.roper@intel.com
      e0d7371b
  21. 08 6月, 2022 4 次提交
  22. 02 6月, 2022 1 次提交
    • M
      drm/i915/sseu: Disassociate internal subslice mask representation from uapi · b87d3901
      Matt Roper 提交于
      As with EU masks, it's easier to store subslice/DSS masks internally in
      a format that's more natural for the driver to work with, and then only
      covert into the u8[] uapi form when the query ioctl is invoked.  Since
      the hardware design changed significantly with Xe_HP, we'll use a union
      to choose between the old "hsw-style" subslice masks or the newer xehp
      mask.  HSW-style masks will be stored in an array of u8's, indexed by
      slice (there's never more than 6 subslices per slice on older
      platforms).  For Xe_HP and beyond where slices no longer exist, we only
      need a single bitmask.  However we already know that this mask is
      eventually going to grow too large for a simple u64 to hold, so we'll
      represent it in a manner that can be operated on by the utilities in
      linux/bitmap.h.
      
      v2:
       - Fix typo: BIT(s) -> BIT(ss) in gen9_sseu_device_status()
      
      v3:
       - Eliminate sseu->ss_stride and just calculate the stride while
         specifically handling uapi.  (Tvrtko)
       - Use BITMAP_BITS() macro to refer to size of masks rather than
         passing I915_MAX_SS_FUSE_BITS directly.  (Tvrtko)
       - Report compute/geometry DSS masks separately when dumping Xe_HP SSEU
         info.  (Tvrtko)
       - Restore dropped range checks to intel_sseu_has_subslice().  (Tvrtko)
      
      v4:
       - Make the bitmap size macro check the size of the .xehp field rather
         than the containing union.  (Tvrtko)
       - Don't add GEM_BUG_ON() intel_sseu_has_subslice()'s check for whether
         slice or subslice ID exceed sseu->max_[sub]slices; various loops
         in the driver are expected to exceed these, so we should just
         silently return 'false.'
      
      v5:
       - Move XEHP_BITMAP_BITS() to the header so that we can also replace a
         usage of I915_MAX_SS_FUSE_BITS in one of the inline functions.
         (Bala)
       - Change the local variable in intel_slicemask_from_xehp_dssmask() from
         u16 to 'unsigned long' to make it a bit more future-proof.
      
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Acked-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NBalasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220601150725.521468-6-matthew.d.roper@intel.com
      b87d3901
  23. 01 6月, 2022 1 次提交
  24. 20 5月, 2022 1 次提交
  25. 11 5月, 2022 1 次提交
  26. 21 4月, 2022 1 次提交