Re: [Intel-gfx] [PULL] drm-intel-gt-next

Daniel Vetter
2023-04-06T12:38:07Z

On Thu, Apr 06, 2023 at 11:18:06AM +0300, Joonas Lahtinen wrote:
> 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)

Pulled, thanks

>
> ----------------------------------------------------------------
> 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(-)

--
Daniel Vetter
Software Engineer, Intel Corporation