1. 28 Jul, 2021 39 commits
  2. 27 Jul, 2021 1 commit
    • Matthew Auld's avatar
      drm/i915/ehl: unconditionally flush the pages on acquire · 13d29c82
      Matthew Auld authored
      EHL and JSL add the 'Bypass LLC' MOCS entry, which should make it
      possible for userspace to bypass the GTT caching bits set by the kernel,
      as per the given object cache_level. This is troublesome since the heavy
      flush we apply when first acquiring the pages is skipped if the kernel
      thinks the object is coherent with the GPU. As a result it might be
      possible to bypass the cache and read the contents of the page directly,
      which could be stale data. If it's just a case of userspace shooting
      themselves in the foot then so be it, but since i915 takes the stance of
      always zeroing memory before handing it to userspace, we need to prevent
      this.
      
      v2: this time actually set cache_dirty in put_pages()
      v3: move to get_pages() which looks simpler
      
      BSpec: 34007
      References: 04609175 ("Revert "drm/i915/ehl: Update MOCS table for EHL"")
      Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
      Cc: Francisco Jerez <francisco.jerez.plata@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Jon Bloomfield <jon.bloomfield@intel.com>
      Cc: Chris Wilson <chris.p.wilson@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210723105045.400841-2-matthew.auld@intel.com
      13d29c82