[PULL] drm-intel-gt-next

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Thu Apr 6 08:18:06 UTC 2023


Hi Dave & Daniel,

Here goes the final drm-intel-gt-next pull request for v6.4.

As top items we have a fix for context runtime accounting, Meteorlake
enabling, DMAR error noise elimination due to GPU error capture, BAR
resizing forcewake fix and memory contents clearing fix for discrete.
More robust GuC loading on systems with IFWI that leaves GPU to slow
frequency and a potential UAF closed on perf add_config IOCTL.

There is also change to the uAPI headers to eliminate flexible-array
member kernel-wide request, which does not impact binaries and also
should not impact compilation.

Then the usual amount of smaller fixes and cleanups. A good amount of
kerneldoc fixes included.

Best Regards, Joonas

***

drm-intel-gt-next-2023-04-06:

UAPI Changes:

- (Build-time only, should not have any impact)
  drm/i915/uapi: Replace fake flex-array with flexible-array member

  "Zero-length arrays as fake flexible arrays are deprecated and we are
  moving towards adopting C99 flexible-array members instead."

  This is on core kernel request moving towards GCC 13.

Driver Changes:

- Fix context runtime accounting on sysfs fdinfo for heavy workloads (Tvrtko)
- Add support for OA media units on MTL (Umesh)
- Add new workarounds for Meteorlake (Daniele, Radhakrishna, Haridhar)
- Fix sysfs to read actual frequency for MTL and Gen6 and earlier
  (Ashutosh)
- Synchronize i915/BIOS on C6 enabling on MTL (Vinay)
- Fix DMAR error noise due to GPU error capture (Andrej)
- Fix forcewake during BAR resize on discrete (Andrzej)
- Flush lmem contents after construction on discrete (Chris)
- Fix GuC loading timeout on systems where IFWI programs low boot
  frequency (John)
- Fix race condition UAF in i915_perf_add_config_ioctl (Min)

- Sanitycheck MMIO access early in driver load and during forcewake
  (Matt)
- Wakeref fixes for GuC RC error scenario and active VM tracking (Chris)
- Cancel HuC delayed load timer on reset (Daniele)
- Limit double GT reset to pre-MTL (Daniele)
- Use i915 instead of dev_priv insied the file_priv structure (Andi)
- Improve GuC load error reporting (John)
- Simplify VCS/BSD engine selection logic (Tvrtko)
- Perform uc late init after probe error injection (Andrzej)
- Fix format for perf_limit_reasons in debugfs (Vinay)
- Create per-gt debugfs files (Andi)

- Documentation and kerneldoc fixes (Nirmoy, Lee)
- Selftest improvements (Fei, Jonathan)

The following changes since commit d2a9692ad4295e227e3352fdbf14b8491b01e1c9:

  drm/i915/gt: make kobj attributes const (2023-03-15 12:20:11 +0200)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-04-06

for you to fetch changes up to 4b51210f98c2b89ce37aede5b8dc5105be0572c6:

  drm/i915/mtl: Add Wa_14017856879 (2023-04-05 07:59:12 -0700)

----------------------------------------------------------------
UAPI Changes:

- (Build-time only, should not have any impact)
  drm/i915/uapi: Replace fake flex-array with flexible-array member

  "Zero-length arrays as fake flexible arrays are deprecated and we are
  moving towards adopting C99 flexible-array members instead."

  This is on core kernel request moving towards GCC 13.

Driver Changes:

- Fix context runtime accounting on sysfs fdinfo for heavy workloads (Tvrtko)
- Add support for OA media units on MTL (Umesh)
- Add new workarounds for Meteorlake (Daniele, Radhakrishna, Haridhar)
- Fix sysfs to read actual frequency for MTL and Gen6 and earlier
  (Ashutosh)
- Synchronize i915/BIOS on C6 enabling on MTL (Vinay)
- Fix DMAR error noise due to GPU error capture (Andrej)
- Fix forcewake during BAR resize on discrete (Andrzej)
- Flush lmem contents after construction on discrete (Chris)
- Fix GuC loading timeout on systems where IFWI programs low boot
  frequency (John)
- Fix race condition UAF in i915_perf_add_config_ioctl (Min)

- Sanitycheck MMIO access early in driver load and during forcewake
  (Matt)
- Wakeref fixes for GuC RC error scenario and active VM tracking (Chris)
- Cancel HuC delayed load timer on reset (Daniele)
- Limit double GT reset to pre-MTL (Daniele)
- Use i915 instead of dev_priv insied the file_priv structure (Andi)
- Improve GuC load error reporting (John)
- Simplify VCS/BSD engine selection logic (Tvrtko)
- Perform uc late init after probe error injection (Andrzej)
- Fix format for perf_limit_reasons in debugfs (Vinay)
- Create per-gt debugfs files (Andi)

- Documentation and kerneldoc fixes (Nirmoy, Lee)
- Selftest improvements (Fei, Jonathan)

----------------------------------------------------------------
Andi Shyti (3):
      drm/i915/gt: Create per-gt debugfs files
      drm/i915/debugfs: Enable upper layer interfaces to act on all gt's
      drm/i915: Use i915 instead of dev_priv insied the file_priv structure

Andrzej Hajda (4):
      drm/i915/gt: prevent forcewake releases during BAR resize
      drm/i915/gt: introduce vm->scratch_range callback
      drm/i915: add guard page to ggtt->error_capture
      drm/i915/gt: perform uc late init after probe error injection

Ashutosh Dixit (1):
      drm/i915/pmu: Use functions common with sysfs to read actual freq

Chris Wilson (3):
      drm/i915/gem: Flush lmem contents after construction
      drm/i915/perf: Drop wakeref on GuC RC error
      drm/i915/gt: Hold a wakeref for the active VM

Daniele Ceraolo Spurio (3):
      drm/i915/huc: Cancel HuC delayed load timer on reset.
      drm/i915: limit double GT reset to pre-MTL
      drm/i915/gsc: implement wa 14015076503

Fei Yang (1):
      drm/i915/selftests: keep same cache settings as timeline

Gustavo A. R. Silva (1):
      drm/i915/uapi: Replace fake flex-array with flexible-array member

Haridhar Kalvala (1):
      drm/i915/mtl: Add Wa_14017856879

John Harrison (2):
      drm/i915/guc: Improve GuC load error reporting
      drm/i915/guc: Allow for very slow GuC loading

Jonathan Cavitt (1):
      drm/i915/selftests: Drop igt_cs_tlb

Lee Jones (13):
      drm/i915/i915_scatterlist: Fix kerneldoc formatting issue - missing '@'
      drm/i915/intel_region_ttm: Provide missing description for 'offset' param
      drm/i915/gt/intel_rps: Demote a kerneldoc abuse for ips_ping_for_i915_load()
      drm/i915/gem/i915_gem_create: Provide the function names for proper kerneldoc headers
      drm/i915/gem/i915_gem_domain: Provide function names to complete proper kerneldoc
      drm/i915/gem/i915_gem_ttm_pm: Provide a couple of missing descriptions for 'flags' and remove some superfluous ones
      drm/i915/gem/i915_gem_ttm: Demote half-filled kerneldoc
      drm/i915/gem/i915_gem_ttm_move: Provide a couple of missing descriptions for 'num_pages' and 'ctx'
      drm/i915/gem/i915_gem_wait: Provide function name to validate the kerneldoc header
      drm/i915/gem/i915_gem_object: Demote non-kerneldoc header with no param descriptions
      drm/i915/i915_gem: Provide function names to complete the expected kerneldoc format
      drm/i915/gt/uc/intel_guc_hwconfig: Demote a few non-conforming kerneldoc headers
      drm/i915/i915_vma: Provide one missing param and demote another non-kerneldoc header

Matt Roper (2):
      drm/i915: Sanitycheck MMIO access early in driver load
      drm/i915: Check for unreliable MMIO during forcewake

Min Li (1):
      drm/i915: fix race condition UAF in i915_perf_add_config_ioctl

Nirmoy Das (1):
      drm/i915/gt: Update engine_init_common documentation

Radhakrishna Sripada (2):
      drm/i915/mtl: Add workarounds Wa_14017066071 and Wa_14017654203
      drm/i915/mtl: Add Wa_22015279794

Tvrtko Ursulin (2):
      drm/i915: Simplify vcs/bsd engine selection
      drm/i915: Fix context runtime accounting

Umesh Nerlige Ramappa (10):
      drm/i915/perf: Validate OA sseu config outside switch
      drm/i915/perf: Group engines into respective OA groups
      drm/i915/perf: Fail modprobe if i915_perf_init fails on OOM
      drm/i915/perf: Parse 64bit report header formats correctly
      drm/i915/perf: Handle non-power-of-2 reports
      drm/i915/perf: Add engine class instance parameters to perf
      drm/i915/perf: Add support for OA media units
      drm/i915/perf: Pass i915 object to perf revision helper
      drm/i915/perf: Wa_14017512683: Disable OAM if media C6 is enabled in BIOS
      drm/i915/mtl: Disable C6 on MTL A0 for media

Vinay Belgaumkar (2):
      drm/i915: Fix format for perf_limit_reasons
      drm/i915/mtl: Synchronize i915/BIOS on C6 enabling

 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  22 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c         |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |   2 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |  15 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   4 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   9 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  10 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  12 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  43 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c          |   1 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   2 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   9 +
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  27 +
 drivers/gpu/drm/i915/gt/intel_rc6.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_rc6_types.h          |   2 +
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  25 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              | 119 ++++-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  40 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   4 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   3 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  19 +
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |  14 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  17 +
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h          |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          | 141 ++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c    |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   7 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c      |   2 +
 drivers/gpu/drm/i915/i915_debugfs.c                |  36 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   4 +-
 drivers/gpu/drm/i915/i915_drm_client.c             |   2 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   2 +
 drivers/gpu/drm/i915/i915_file_private.h           |   2 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  10 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   1 +
 drivers/gpu/drm/i915/i915_perf.c                   | 570 ++++++++++++++++-----
 drivers/gpu/drm/i915/i915_perf.h                   |   4 +-
 drivers/gpu/drm/i915/i915_perf_oa_regs.h           |  78 +++
 drivers/gpu/drm/i915/i915_perf_types.h             |  75 ++-
 drivers/gpu/drm/i915/i915_pmu.c                    |  10 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  14 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |   2 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   3 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   1 +
 drivers/gpu/drm/i915/intel_region_ttm.c            |   1 +
 drivers/gpu/drm/i915/intel_uncore.c                |  47 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 356 -------------
 include/uapi/drm/i915_drm.h                        |  25 +-
 63 files changed, 1241 insertions(+), 637 deletions(-)


More information about the dri-devel mailing list