1. 14 Mar, 2022 1 commit
    • Matt Roper's avatar
      drm/i915/sseu: Don't overallocate subslice storage · 144ce0ac
      Matt Roper authored
      Xe_HP removed "slice" as a first-class unit in the hardware design.
      Instead we now have a single pool of subslices (which are now referred
      to as "DSS") that different hardware units have different ways of
      grouping ("compute slices," "geometry slices," etc.).  For the purposes
      of topology representation, we treat Xe_HP-based platforms as having a
      single slice that contains all of the platform's DSS.  There's no need
      to allocate storage space for (max legacy slices * max dss); let's
      update some of our macros to minimize the storage requirement for sseu
      topology.  We'll also document some of the constants to make it a little
      bit more clear what they represent.
      
      v2:
       - s/LEGACY/HSW/ in macro names.  (Lucas)
       - Rename MAX() to SSEU_MAX() to avoid any potential clashes with other
         definitions elsewhere.  Unfortunately max()/max_t() from
         linux/minmax.h cannot be used in this context.  (Lucas)
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220311225459.385515-1-matthew.d.roper@intel.com
      144ce0ac
  2. 11 Mar, 2022 2 commits
    • Matt Roper's avatar
      drm/i915/gt: Remove GEN12_SFC_DONE_MAX from register defs header · 239bbb2f
      Matt Roper authored
      We shouldn't really be keeping track of how many SFC_DONE registers
      our platforms can have, but rather how many SFC hardware units there can
      be (each SFC unit will have one corresponding SFC_DONE register).  So
      drop the stray GEN12_SFC_DONE_MAX definition we had in the register
      definition file and replace it with an I915_MAX_SFC that follows the
      pattern we use for other hardware units.  Note that our hardware has a
      2:1:1 ratio of VD:VE:SFC, and as far as we know that pattern should
      carry forward to future platforms, so we'll define it as #VCS/2.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220311062835.163744-1-matthew.d.roper@intel.com
      239bbb2f
    • Mastan Katragadda's avatar
      drm/i915/gem: add missing boundary check in vm_access · 661412e3
      Mastan Katragadda authored
      A missing bounds check in vm_access() can lead to an out-of-bounds read
      or write in the adjacent memory area, since the len attribute is not
      validated before the memcpy later in the function, potentially hitting:
      
      [  183.637831] BUG: unable to handle page fault for address: ffffc90000c86000
      [  183.637934] #PF: supervisor read access in kernel mode
      [  183.637997] #PF: error_code(0x0000) - not-present page
      [  183.638059] PGD 100000067 P4D 100000067 PUD 100258067 PMD 106341067 PTE 0
      [  183.638144] Oops: 0000 [#2] PREEMPT SMP NOPTI
      [  183.638201] CPU: 3 PID: 1790 Comm: poc Tainted: G      D           5.17.0-rc6-ci-drm-11296+ #1
      [  183.638298] Hardware name: Intel Corporation CoffeeLake Client Platform/CoffeeLake H DDR4 RVP, BIOS CNLSFWR1.R00.X208.B00.1905301319 05/30/2019
      [  183.638430] RIP: 0010:memcpy_erms+0x6/0x10
      [  183.640213] RSP: 0018:ffffc90001763d48 EFLAGS: 00010246
      [  183.641117] RAX: ffff888109c14000 RBX: ffff888111bece40 RCX: 0000000000000ffc
      [  183.642029] RDX: 0000000000001000 RSI: ffffc90000c86000 RDI: ffff888109c14004
      [  183.642946] RBP: 0000000000000ffc R08: 800000000000016b R09: 0000000000000000
      [  183.643848] R10: ffffc90000c85000 R11: 0000000000000048 R12: 0000000000001000
      [  183.644742] R13: ffff888111bed190 R14: ffff888109c14000 R15: 0000000000001000
      [  183.645653] FS:  00007fe5ef807540(0000) GS:ffff88845b380000(0000) knlGS:0000000000000000
      [  183.646570] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  183.647481] CR2: ffffc90000c86000 CR3: 000000010ff02006 CR4: 00000000003706e0
      [  183.648384] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  183.649271] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  183.650142] Call Trace:
      [  183.650988]  <TASK>
      [  183.651793]  vm_access+0x1f0/0x2a0 [i915]
      [  183.652726]  __access_remote_vm+0x224/0x380
      [  183.653561]  mem_rw.isra.0+0xf9/0x190
      [  183.654402]  vfs_read+0x9d/0x1b0
      [  183.655238]  ksys_read+0x63/0xe0
      [  183.656065]  do_syscall_64+0x38/0xc0
      [  183.656882]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [  183.657663] RIP: 0033:0x7fe5ef725142
      [  183.659351] RSP: 002b:00007ffe1e81c7e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
      [  183.660227] RAX: ffffffffffffffda RBX: 0000557055dfb780 RCX: 00007fe5ef725142
      [  183.661104] RDX: 0000000000001000 RSI: 00007ffe1e81d880 RDI: 0000000000000005
      [  183.661972] RBP: 00007ffe1e81e890 R08: 0000000000000030 R09: 0000000000000046
      [  183.662832] R10: 0000557055dfc2e0 R11: 0000000000000246 R12: 0000557055dfb1c0
      [  183.663691] R13: 00007ffe1e81e980 R14: 0000000000000000 R15: 0000000000000000
      
      Changes since v1:
           - Updated if condition with range_overflows_t [Chris Wilson]
      
      Fixes: 9f909e21 ("drm/i915: Implement vm_ops->access for gdb access into mmaps")
      Signed-off-by: default avatarMastan Katragadda <mastanx.katragadda@intel.com>
      Suggested-by: default avatarAdam Zabrocki <adamza@microsoft.com>
      Reported-by: default avatarJackson Cody <cody.jackson@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jon Bloomfield <jon.bloomfield@intel.com>
      Cc: Sudeep Dutt <sudeep.dutt@intel.com>
      Cc: <stable@vger.kernel.org> # v5.8+
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      [mauld: tidy up the commit message and add Cc: stable]
      Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220303060428.1668844-1-mastanx.katragadda@intel.com
      661412e3
  3. 08 Mar, 2022 3 commits
  4. 07 Mar, 2022 6 commits
  5. 06 Mar, 2022 2 commits
  6. 04 Mar, 2022 2 commits
  7. 03 Mar, 2022 8 commits
  8. 02 Mar, 2022 14 commits
  9. 01 Mar, 2022 2 commits