All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL] drm-intel-gt-next
@ 2022-05-05  6:39 ` Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2022-05-05  6:39 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx


Hi Dave, Daniel,

Here goes the final drm-intel-gt-next PR towards 5.19.

A fix for a security issue affecting Tigerlake onwards and a plain fix for
a race in VMA handling have landed since the previous pull.

Also last two bits of DG2 enablement are included - GuC firmware version
has been defined and compute command streamers have been exposed to
userspace.

Else just a handful of small cleanups and selftest fixes. There are
initial Ponte Vecchio definitions but no impact oustside development
branch management.

Regards,

Tvrtko

drm-intel-gt-next-2022-05-05:
UAPI Changes:

- Add kerneldoc for engine class enum (Matt Roper)
- Add compute engine ABI (Matt Roper)

Driver Changes:

- Define GuC firmware version for DG2 (John Harrison)
- Clear SET_PREDICATE_RESULT prior to executing the ring (Chris Wilson)
- Fix race in __i915_vma_remove_closed (Karol Herbst)

- Add register for compute engine's MMIO-based TLB invalidation (Matt Roper)
- Xe_HP SDV and DG2 have up to 4 CCS engines (Daniele Ceraolo Spurio)
- Add initial Ponte Vecchio definitions (Stuart Summers)
- Document the eviction of the Flat-CCS objects (Ramalingam C)

- Use existing uncore helper to read gpm_timestamp (Umesh Nerlige Ramappa)
- Fix issue with LRI relative addressing (Akeem G Abodunrin)
- Skip poisoning SET_PREDICATE_RESULT on dg2 (Chris Wilson)
- Optimize the ccs_sz calculation per chunk (Ramalingam C)
- Remove superfluous string helper include (Jani Nikula)
- Fix assert in i915_ggtt_pin (Tvrtko Ursulin)
- Use IOMEM_ERR_PTR() directly (Kefeng Wang)
The following changes since commit f15856d7de914595d0daa2c706f53a693b48e228:

  drm/i915/dg2: add gsc with special gsc bar offsets (2022-04-21 11:34:39 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-05-05

for you to fetch changes up to 1df1c79cbb7ac9bf148930be3418973c76ba8dde:

  drm/i915: Fix race in __i915_vma_remove_closed (2022-05-04 16:22:13 +0100)

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

- Add kerneldoc for engine class enum (Matt Roper)
- Add compute engine ABI (Matt Roper)

Driver Changes:

- Define GuC firmware version for DG2 (John Harrison)
- Clear SET_PREDICATE_RESULT prior to executing the ring (Chris Wilson)
- Fix race in __i915_vma_remove_closed (Karol Herbst)

- Add register for compute engine's MMIO-based TLB invalidation (Matt Roper)
- Xe_HP SDV and DG2 have up to 4 CCS engines (Daniele Ceraolo Spurio)
- Add initial Ponte Vecchio definitions (Stuart Summers)
- Document the eviction of the Flat-CCS objects (Ramalingam C)

- Use existing uncore helper to read gpm_timestamp (Umesh Nerlige Ramappa)
- Fix issue with LRI relative addressing (Akeem G Abodunrin)
- Skip poisoning SET_PREDICATE_RESULT on dg2 (Chris Wilson)
- Optimize the ccs_sz calculation per chunk (Ramalingam C)
- Remove superfluous string helper include (Jani Nikula)
- Fix assert in i915_ggtt_pin (Tvrtko Ursulin)
- Use IOMEM_ERR_PTR() directly (Kefeng Wang)

----------------------------------------------------------------
Akeem G Abodunrin (1):
      drm/i915/xehpsdv/dg1/tgl: Fix issue with LRI relative addressing

Chris Wilson (2):
      drm/i915/selftests: Skip poisoning SET_PREDICATE_RESULT on dg2
      drm/i915/gt: Clear SET_PREDICATE_RESULT prior to executing the ring

Daniele Ceraolo Spurio (1):
      drm/i915: Xe_HP SDV and DG2 have up to 4 CCS engines

Jani Nikula (1):
      drm/i915: remove superfluous string helper include

John Harrison (1):
      drm/i915/dg2: Define GuC firmware version for DG2

Karol Herbst (1):
      drm/i915: Fix race in __i915_vma_remove_closed

Kefeng Wang (1):
      drm/i915: use IOMEM_ERR_PTR() directly

Matt Roper (3):
      drm/i915/uapi: Add kerneldoc for engine class enum
      drm/i915/xehp: Add register for compute engine's MMIO-based TLB invalidation
      drm/i915/xehp: Add compute engine ABI

Ramalingam C (2):
      drm/i915/gt: optimize the ccs_sz calculation per chunk
      drm/i915/gt: Document the eviction of the Flat-CCS objects

Stuart Summers (1):
      drm/i915/pvc: add initial Ponte Vecchio definitions

Tvrtko Ursulin (1):
      drm/i915: Fix assert in i915_ggtt_pin

Umesh Nerlige Ramappa (1):
      drm/i915/pmu: Use existing uncore helper to read gpm_timestamp

 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           | 54 ++++++++++++++++
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  7 ++
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |  2 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |  2 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   | 15 +++--
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |  2 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  1 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  1 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 75 ++++++++++++++++------
 drivers/gpu/drm/i915/gt/intel_lrc.h                |  5 ++
 drivers/gpu/drm/i915/gt/intel_migrate.c            | 59 ++++++++---------
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  2 -
 drivers/gpu/drm/i915/gt/selftest_lrc.c             | 53 ++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 19 ++----
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  1 +
 drivers/gpu/drm/i915/i915_drm_client.c             |  1 +
 drivers/gpu/drm/i915/i915_drm_client.h             |  2 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  2 +
 drivers/gpu/drm/i915/i915_pci.c                    | 27 +++++++-
 drivers/gpu/drm/i915/i915_vma.c                    | 19 +++---
 drivers/gpu/drm/i915/i915_vma.h                    |  1 -
 drivers/gpu/drm/i915/intel_device_info.c           |  1 +
 drivers/gpu/drm/i915/intel_device_info.h           |  1 +
 include/uapi/drm/i915_drm.h                        | 62 ++++++++++++++++--
 24 files changed, 319 insertions(+), 95 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [Intel-gfx] [PULL] drm-intel-gt-next
@ 2022-05-05  6:39 ` Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2022-05-05  6:39 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Maxime Ripard, Rodrigo Vivi, intel-gfx


Hi Dave, Daniel,

Here goes the final drm-intel-gt-next PR towards 5.19.

A fix for a security issue affecting Tigerlake onwards and a plain fix for
a race in VMA handling have landed since the previous pull.

Also last two bits of DG2 enablement are included - GuC firmware version
has been defined and compute command streamers have been exposed to
userspace.

Else just a handful of small cleanups and selftest fixes. There are
initial Ponte Vecchio definitions but no impact oustside development
branch management.

Regards,

Tvrtko

drm-intel-gt-next-2022-05-05:
UAPI Changes:

- Add kerneldoc for engine class enum (Matt Roper)
- Add compute engine ABI (Matt Roper)

Driver Changes:

- Define GuC firmware version for DG2 (John Harrison)
- Clear SET_PREDICATE_RESULT prior to executing the ring (Chris Wilson)
- Fix race in __i915_vma_remove_closed (Karol Herbst)

- Add register for compute engine's MMIO-based TLB invalidation (Matt Roper)
- Xe_HP SDV and DG2 have up to 4 CCS engines (Daniele Ceraolo Spurio)
- Add initial Ponte Vecchio definitions (Stuart Summers)
- Document the eviction of the Flat-CCS objects (Ramalingam C)

- Use existing uncore helper to read gpm_timestamp (Umesh Nerlige Ramappa)
- Fix issue with LRI relative addressing (Akeem G Abodunrin)
- Skip poisoning SET_PREDICATE_RESULT on dg2 (Chris Wilson)
- Optimize the ccs_sz calculation per chunk (Ramalingam C)
- Remove superfluous string helper include (Jani Nikula)
- Fix assert in i915_ggtt_pin (Tvrtko Ursulin)
- Use IOMEM_ERR_PTR() directly (Kefeng Wang)
The following changes since commit f15856d7de914595d0daa2c706f53a693b48e228:

  drm/i915/dg2: add gsc with special gsc bar offsets (2022-04-21 11:34:39 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-05-05

for you to fetch changes up to 1df1c79cbb7ac9bf148930be3418973c76ba8dde:

  drm/i915: Fix race in __i915_vma_remove_closed (2022-05-04 16:22:13 +0100)

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

- Add kerneldoc for engine class enum (Matt Roper)
- Add compute engine ABI (Matt Roper)

Driver Changes:

- Define GuC firmware version for DG2 (John Harrison)
- Clear SET_PREDICATE_RESULT prior to executing the ring (Chris Wilson)
- Fix race in __i915_vma_remove_closed (Karol Herbst)

- Add register for compute engine's MMIO-based TLB invalidation (Matt Roper)
- Xe_HP SDV and DG2 have up to 4 CCS engines (Daniele Ceraolo Spurio)
- Add initial Ponte Vecchio definitions (Stuart Summers)
- Document the eviction of the Flat-CCS objects (Ramalingam C)

- Use existing uncore helper to read gpm_timestamp (Umesh Nerlige Ramappa)
- Fix issue with LRI relative addressing (Akeem G Abodunrin)
- Skip poisoning SET_PREDICATE_RESULT on dg2 (Chris Wilson)
- Optimize the ccs_sz calculation per chunk (Ramalingam C)
- Remove superfluous string helper include (Jani Nikula)
- Fix assert in i915_ggtt_pin (Tvrtko Ursulin)
- Use IOMEM_ERR_PTR() directly (Kefeng Wang)

----------------------------------------------------------------
Akeem G Abodunrin (1):
      drm/i915/xehpsdv/dg1/tgl: Fix issue with LRI relative addressing

Chris Wilson (2):
      drm/i915/selftests: Skip poisoning SET_PREDICATE_RESULT on dg2
      drm/i915/gt: Clear SET_PREDICATE_RESULT prior to executing the ring

Daniele Ceraolo Spurio (1):
      drm/i915: Xe_HP SDV and DG2 have up to 4 CCS engines

Jani Nikula (1):
      drm/i915: remove superfluous string helper include

John Harrison (1):
      drm/i915/dg2: Define GuC firmware version for DG2

Karol Herbst (1):
      drm/i915: Fix race in __i915_vma_remove_closed

Kefeng Wang (1):
      drm/i915: use IOMEM_ERR_PTR() directly

Matt Roper (3):
      drm/i915/uapi: Add kerneldoc for engine class enum
      drm/i915/xehp: Add register for compute engine's MMIO-based TLB invalidation
      drm/i915/xehp: Add compute engine ABI

Ramalingam C (2):
      drm/i915/gt: optimize the ccs_sz calculation per chunk
      drm/i915/gt: Document the eviction of the Flat-CCS objects

Stuart Summers (1):
      drm/i915/pvc: add initial Ponte Vecchio definitions

Tvrtko Ursulin (1):
      drm/i915: Fix assert in i915_ggtt_pin

Umesh Nerlige Ramappa (1):
      drm/i915/pmu: Use existing uncore helper to read gpm_timestamp

 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           | 54 ++++++++++++++++
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  7 ++
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |  2 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |  2 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   | 15 +++--
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |  2 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  1 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  1 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 75 ++++++++++++++++------
 drivers/gpu/drm/i915/gt/intel_lrc.h                |  5 ++
 drivers/gpu/drm/i915/gt/intel_migrate.c            | 59 ++++++++---------
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  2 -
 drivers/gpu/drm/i915/gt/selftest_lrc.c             | 53 ++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 19 ++----
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  1 +
 drivers/gpu/drm/i915/i915_drm_client.c             |  1 +
 drivers/gpu/drm/i915/i915_drm_client.h             |  2 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  2 +
 drivers/gpu/drm/i915/i915_pci.c                    | 27 +++++++-
 drivers/gpu/drm/i915/i915_vma.c                    | 19 +++---
 drivers/gpu/drm/i915/i915_vma.h                    |  1 -
 drivers/gpu/drm/i915/intel_device_info.c           |  1 +
 drivers/gpu/drm/i915/intel_device_info.h           |  1 +
 include/uapi/drm/i915_drm.h                        | 62 ++++++++++++++++--
 24 files changed, 319 insertions(+), 95 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-07-04  7:31 Tvrtko Ursulin
@ 2024-07-05 10:15 ` Daniel Vetter
  0 siblings, 0 replies; 68+ messages in thread
From: Daniel Vetter @ 2024-07-05 10:15 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, Joonas Lahtinen,
	Tvrtko Ursulin, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellström,
	Oded Gabbay, Lucas De Marchi, dri-devel, intel-gfx, intel-xe,
	dim-tools

On Thu, Jul 04, 2024 at 07:31:54AM +0000, Tvrtko Ursulin wrote:
> 
> Hi Dave, Sima,
> 
> The final pull for 6.11 is quite small and only contains a handful of
> fixes in areas such as stolen memory probing on ATS-M, GuC priority
> handling, out of memory reporting noise downgrade and fence register
> hanlding race condition reported by CI.
> 
> Regards,
> 
> Tvrtko
> 
> drm-intel-gt-next-2024-07-04:
> Driver Changes:
> 
> Fixes/improvements/new stuff:
> 
> - Downgrade stolen lmem setup warning [gem] (Jonathan Cavitt)
> - Evaluate GuC priority within locks [gt/uc] (Andi Shyti)
> - Fix potential UAF by revoke of fence registers [gt] (Janusz Krzysztofik)
> - Return NULL instead of '0' [gem] (Andi Shyti)
> - Use the correct format specifier for resource_size_t [gem] (Andi Shyti)
> - Suppress oom warning in favour of ENOMEM to userspace [gem] (Nirmoy Das)
> 
> Miscellaneous:
> 
> - Evaluate forcewake usage within locks [gt] (Andi Shyti)
> - Fix typo in comment [gt/uc] (Andi Shyti)
> The following changes since commit 79655e867ad6dfde2734c67c7704c0dd5bf1e777:
> 
>   drm/i915/mtl: Update workaround 14018575942 (2024-06-11 16:06:20 +0200)
> 
> are available in the Git repository at:
> 
>   https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-gt-next-2024-07-04
> 
> for you to fetch changes up to 3b85152cb167bd24fe84ceb91b719b5904ca354f:
> 
>   drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace (2024-06-28 00:11:01 +0200)

Pulled, thanks.
-Sima

> 
> ----------------------------------------------------------------
> Driver Changes:
> 
> Fixes/improvements/new stuff:
> 
> - Downgrade stolen lmem setup warning [gem] (Jonathan Cavitt)
> - Evaluate GuC priority within locks [gt/uc] (Andi Shyti)
> - Fix potential UAF by revoke of fence registers [gt] (Janusz Krzysztofik)
> - Return NULL instead of '0' [gem] (Andi Shyti)
> - Use the correct format specifier for resource_size_t [gem] (Andi Shyti)
> - Suppress oom warning in favour of ENOMEM to userspace [gem] (Nirmoy Das)
> 
> Miscellaneous:
> 
> - Evaluate forcewake usage within locks [gt] (Andi Shyti)
> - Fix typo in comment [gt/uc] (Andi Shyti)
> 
> ----------------------------------------------------------------
> Andi Shyti (5):
>       drm/i915/gt: debugfs: Evaluate forcewake usage within locks
>       drm/i915/gt/uc: Fix typo in comment
>       drm/i915/gt/uc: Evaluate GuC priority within locks
>       drm/i915/gem: Return NULL instead of '0'
>       drm/i915/gem: Use the correct format specifier for resource_size_t
> 
> Janusz Krzysztofik (1):
>       drm/i915/gt: Fix potential UAF by revoke of fence registers
> 
> Jonathan Cavitt (1):
>       drm/i915/gem: Downgrade stolen lmem setup warning
> 
> Nirmoy Das (1):
>       drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace
> 
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c        |  8 +++++--
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c      |  1 +
>  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c     |  4 ++++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h       |  2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 27 ++++++++++++++---------
>  drivers/gpu/drm/i915/i915_scatterlist.c           |  8 +++----
>  6 files changed, 32 insertions(+), 18 deletions(-)

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2024-07-04  7:31 Tvrtko Ursulin
  2024-07-05 10:15 ` Daniel Vetter
  0 siblings, 1 reply; 68+ messages in thread
From: Tvrtko Ursulin @ 2024-07-04  7:31 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, intel-xe, dim-tools


Hi Dave, Sima,

The final pull for 6.11 is quite small and only contains a handful of
fixes in areas such as stolen memory probing on ATS-M, GuC priority
handling, out of memory reporting noise downgrade and fence register
hanlding race condition reported by CI.

Regards,

Tvrtko

drm-intel-gt-next-2024-07-04:
Driver Changes:

Fixes/improvements/new stuff:

- Downgrade stolen lmem setup warning [gem] (Jonathan Cavitt)
- Evaluate GuC priority within locks [gt/uc] (Andi Shyti)
- Fix potential UAF by revoke of fence registers [gt] (Janusz Krzysztofik)
- Return NULL instead of '0' [gem] (Andi Shyti)
- Use the correct format specifier for resource_size_t [gem] (Andi Shyti)
- Suppress oom warning in favour of ENOMEM to userspace [gem] (Nirmoy Das)

Miscellaneous:

- Evaluate forcewake usage within locks [gt] (Andi Shyti)
- Fix typo in comment [gt/uc] (Andi Shyti)
The following changes since commit 79655e867ad6dfde2734c67c7704c0dd5bf1e777:

  drm/i915/mtl: Update workaround 14018575942 (2024-06-11 16:06:20 +0200)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-gt-next-2024-07-04

for you to fetch changes up to 3b85152cb167bd24fe84ceb91b719b5904ca354f:

  drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace (2024-06-28 00:11:01 +0200)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Downgrade stolen lmem setup warning [gem] (Jonathan Cavitt)
- Evaluate GuC priority within locks [gt/uc] (Andi Shyti)
- Fix potential UAF by revoke of fence registers [gt] (Janusz Krzysztofik)
- Return NULL instead of '0' [gem] (Andi Shyti)
- Use the correct format specifier for resource_size_t [gem] (Andi Shyti)
- Suppress oom warning in favour of ENOMEM to userspace [gem] (Nirmoy Das)

Miscellaneous:

- Evaluate forcewake usage within locks [gt] (Andi Shyti)
- Fix typo in comment [gt/uc] (Andi Shyti)

----------------------------------------------------------------
Andi Shyti (5):
      drm/i915/gt: debugfs: Evaluate forcewake usage within locks
      drm/i915/gt/uc: Fix typo in comment
      drm/i915/gt/uc: Evaluate GuC priority within locks
      drm/i915/gem: Return NULL instead of '0'
      drm/i915/gem: Use the correct format specifier for resource_size_t

Janusz Krzysztofik (1):
      drm/i915/gt: Fix potential UAF by revoke of fence registers

Jonathan Cavitt (1):
      drm/i915/gem: Downgrade stolen lmem setup warning

Nirmoy Das (1):
      drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace

 drivers/gpu/drm/i915/gem/i915_gem_stolen.c        |  8 +++++--
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c      |  1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c     |  4 ++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h       |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 27 ++++++++++++++---------
 drivers/gpu/drm/i915/i915_scatterlist.c           |  8 +++----
 6 files changed, 32 insertions(+), 18 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2024-06-12 12:57 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2024-06-12 12:57 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, intel-xe, dim-tools


Hi Dave, Sima,

Here is the main pull request for drm-intel-gt-next targeting 6.11.

First is the new userspace API for allowing upload of custom context
state used for replaying GPU hang error state captures. This will be
used by Mesa (see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27594) for
debugging GPU hangs captured in the wild on real hardware. So far that
was only possible under simulation and that via some hacks. Also,
simulation in general has certain limitations to what hangs it can
reproduce. As the UAPI it is intended for Mesa developers only, it is
hidden behind a kconfig and runtime enablement switches.

Then there are fixes for hangs on Meteorlake due incorrect reduced CCS
configuration and a missing video engine workaround. Then fixes for a
couple race conditions in multi GT and breadcrumb handling, and a more
robust functional level reset by extending the timeout used.

A couple tiny cleanups here and there and finally one back-merge which
was required to land some display code base refactoring.

Regards,

Tvrtko

drm-intel-gt-next-2024-06-12:
UAPI Changes:

- Support replaying GPU hangs with captured context image (Tvrtko Ursulin)

Driver Changes:

Fixes/improvements/new stuff:

- Automate CCS Mode setting during engine resets [gt] (Andi Shyti)
- Revert "drm/i915: Remove extra multi-gt pm-references" (Janusz Krzysztofik)
- Fix HAS_REGION() usage in intel_gt_probe_lmem() (Ville Syrjälä)
- Disarm breadcrumbs if engines are already idle [gt] (Chris Wilson)
- Shadow default engine context image in the context (Tvrtko Ursulin)
- Support replaying GPU hangs with captured context image (Tvrtko Ursulin)
- avoid FIELD_PREP warning [guc] (Arnd Bergmann)
- Fix CCS id's calculation for CCS mode setting [gt] (Andi Shyti)
- Increase FLR timeout from 3s to 9s (Andi Shyti)
- Update workaround 14018575942 [mtl] (Angus Chen)

Future platform enablement:

- Enable w/a 16021333562 for DG2, MTL and ARL [guc] (John Harrison)

Miscellaneous:

- Pass the region ID rather than a bitmask to HAS_REGION() (Ville Syrjälä)
- Remove counter productive REGION_* wrappers (Ville Syrjälä)
- Fix typo [gem/i915_gem_ttm_move] (Deming Wang)
- Delete the live_hearbeat_fast selftest [gt] (Krzysztof Niemiec)
The following changes since commit 431c590c3ab0469dfedad3a832fe73556396ee52:

  drm/tests: Add a unit test for range bias allocation (2024-05-16 12:50:14 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-gt-next-2024-06-12

for you to fetch changes up to 79655e867ad6dfde2734c67c7704c0dd5bf1e777:

  drm/i915/mtl: Update workaround 14018575942 (2024-06-11 16:06:20 +0200)

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

- Support replaying GPU hangs with captured context image (Tvrtko Ursulin)

Driver Changes:

Fixes/improvements/new stuff:

- Automate CCS Mode setting during engine resets [gt] (Andi Shyti)
- Revert "drm/i915: Remove extra multi-gt pm-references" (Janusz Krzysztofik)
- Fix HAS_REGION() usage in intel_gt_probe_lmem() (Ville Syrjälä)
- Disarm breadcrumbs if engines are already idle [gt] (Chris Wilson)
- Shadow default engine context image in the context (Tvrtko Ursulin)
- Support replaying GPU hangs with captured context image (Tvrtko Ursulin)
- avoid FIELD_PREP warning [guc] (Arnd Bergmann)
- Fix CCS id's calculation for CCS mode setting [gt] (Andi Shyti)
- Increase FLR timeout from 3s to 9s (Andi Shyti)
- Update workaround 14018575942 [mtl] (Angus Chen)

Future platform enablement:

- Enable w/a 16021333562 for DG2, MTL and ARL [guc] (John Harrison)

Miscellaneous:

- Pass the region ID rather than a bitmask to HAS_REGION() (Ville Syrjälä)
- Remove counter productive REGION_* wrappers (Ville Syrjälä)
- Fix typo [gem/i915_gem_ttm_move] (Deming Wang)
- Delete the live_hearbeat_fast selftest [gt] (Krzysztof Niemiec)

----------------------------------------------------------------
Andi Shyti (3):
      drm/i915/gt: Automate CCS Mode setting during engine resets
      drm/i915/gt: Fix CCS id's calculation for CCS mode setting
      drm/i915: Increase FLR timeout from 3s to 9s

Angus Chen (1):
      drm/i915/mtl: Update workaround 14018575942

Arnd Bergmann (1):
      drm/i915/guc: avoid FIELD_PREP warning

Chris Wilson (1):
      drm/i915/gt: Disarm breadcrumbs if engines are already idle

Deming Wang (1):
      drm/i915/gem/i915_gem_ttm_move: Fix typo

Janusz Krzysztofik (1):
      Revert "drm/i915: Remove extra multi-gt pm-references"

John Harrison (1):
      drm/i915/guc: Enable w/a 16021333562 for DG2, MTL and ARL

Niemiec, Krzysztof (1):
      drm/i915/gt: Delete the live_hearbeat_fast selftest

Tvrtko Ursulin (3):
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915: Shadow default engine context image in the context
      drm/i915: Support replaying GPU hangs with captured context image

Ville Syrjälä (3):
      drm/i915: Fix HAS_REGION() usage in intel_gt_probe_lmem()
      drm/i915: Pass the region ID rather than a bitmask to HAS_REGION()
      drm/i915: Remove counter productive REGION_* wrappers

 drivers/gpu/drm/i915/Kconfig.debug                 |  17 ++++
 drivers/gpu/drm/i915/gem/i915_gem_context.c        | 113 +++++++++++++++++++++
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  18 ++++
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |   2 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  15 ++-
 drivers/gpu/drm/i915/gt/intel_context.c            |   2 +
 drivers/gpu/drm/i915/gt/intel_context.h            |  22 ++++
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   3 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   6 ++
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c        |   8 +-
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h        |   2 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   8 ++
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   8 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   8 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  12 ++-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    | 110 --------------------
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  32 +++---
 drivers/gpu/drm/i915/i915_drv.h                    |   4 +-
 drivers/gpu/drm/i915/i915_params.c                 |   5 +
 drivers/gpu/drm/i915/i915_params.h                 |   3 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   6 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |   2 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |   5 -
 drivers/gpu/drm/i915/intel_uncore.c                |   9 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   2 +-
 include/uapi/drm/i915_drm.h                        |  27 +++++
 27 files changed, 296 insertions(+), 160 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2024-04-26  7:17 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2024-04-26  7:17 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, intel-xe, dim-tools

Hi Dave & Sima,

Here's the drm-intel-gt-next PR for v6.10 in one shot.

We are adding a new uAPI for Mesa to request higher GT frequency for
compute contexts on GuC platform.

Then there is a W/A for DG2 to move to fixed CCS load balancing and
make all DG2 SKUs appear with single CCS with all the EUs attached by
default. Read more below under "UAPI Changes". There is one reported
regression against it which we're working on resolving, so expect to
see -next-fixes shortly once that happens.

Beyond that we have a bunch of workaround updates/fixes, fix for UAF
that has been hunted down for a while, GT reset fix for platforms that
load GuC but don't submit via it, fix for execlists priority submission,
proper capture of EIR register on hang.

THe rest is usual code cleanups/refactoring and selftest fixes.

Regards, Joonas

***

drm-intel-gt-next-2024-04-26:

UAPI Changes:

- drm/i915/guc: Use context hints for GT frequency

    Allow user to provide a low latency context hint. When set, KMD
    sends a hint to GuC which results in special handling for this
    context. SLPC will ramp the GT frequency aggressively every time
    it switches to this context. The down freq threshold will also be
    lower so GuC will ramp down the GT freq for this context more slowly.
    We also disable waitboost for this context as that will interfere with
    the strategy.

    We need to enable the use of SLPC Compute strategy during init, but
    it will apply only to contexts that set this bit during context
    creation.

    Userland can check whether this feature is supported using a new param-
    I915_PARAM_HAS_CONTEXT_FREQ_HINT. This flag is true for all guc submission
    enabled platforms as they use SLPC for frequency management.

    The Mesa usage model for this flag is here -
    https://gitlab.freedesktop.org/sushmave/mesa/-/commits/compute_hint

- drm/i915/gt: Enable only one CCS for compute workload

    Enable only one CCS engine by default with all the compute sices
    allocated to it.

    While generating the list of UABI engines to be exposed to the
    user, exclude any additional CCS engines beyond the first
    instance

    ***

    NOTE: This W/A will make all DG2 SKUs appear like single CCS SKUs by
    default to mitigate a hardware bug. All the EUs will still remain
    usable, and all the userspace drivers have been confirmed to be able
    to dynamically detect the change in number of CCS engines and adjust.

    For the smaller percent of applications that get perf benefit from
    letting the userspace driver dispatch across all 4 CCS engines we will
    be introducing a sysfs control as a later patch to choose 4 CCS each
    with 25% EUs (or 50% if 2 CCS).

    NOTE: A regression has been reported at

    https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10895

    However Andi has been triaging the issue and we're closing in a fix
    to the gap in the W/A implementation:

    https://lists.freedesktop.org/archives/intel-gfx/2024-April/348747.html

Driver Changes:

- Add new and fix to existing workarounds: Wa_14018575942 (MTL),
  Wa_16019325821 (Gen12.70), Wa_14019159160 (MTL), Wa_16015675438,
  Wa_14020495402 (Gen12.70) (Tejas, John, Lucas)
- Fix UAF on destroy against retire race and remove two earlier
  partial fixes (Janusz)
- Limit the reserved VM space to only the platforms that need it (Andi)
- Reset queue_priority_hint on parking for execlist platforms (Chris)
- Fix gt reset with GuC submission is disabled (Nirmoy)
- Correct capture of EIR register on hang (John)

- Remove usage of the deprecated ida_simple_xx() API
- Refactor confusing __intel_gt_reset() (Nirmoy)
- Fix the fix for GuC reset lock confusion (John)
- Simplify/extend platform check for Wa_14018913170 (John)
- Replace dev_priv with i915 (Andi)
- Add and use gt_to_guc() wrapper (Andi)
- Remove bogus null check (Rodrigo, Dan)

. Selftest improvements (Janusz, Nirmoy, Daniele)

The following changes since commit db7bbd13f08774cde0332c705f042e327fe21e73:

  drm/i915: Check before removing mm notifier (2024-02-28 13:11:32 +0000)

are available in the Git repository at:

  https://anongit.freedesktop.org/git/drm/drm-intel tags/drm-intel-gt-next-2024-04-26

for you to fetch changes up to 4d3421e04c5dc38baf15224c051256204f223c15:

  drm/i915: Fix gt reset with GuC submission is disabled (2024-04-24 18:48:32 +0200)

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

- drm/i915/guc: Use context hints for GT frequency

    Allow user to provide a low latency context hint. When set, KMD
    sends a hint to GuC which results in special handling for this
    context. SLPC will ramp the GT frequency aggressively every time
    it switches to this context. The down freq threshold will also be
    lower so GuC will ramp down the GT freq for this context more slowly.
    We also disable waitboost for this context as that will interfere with
    the strategy.

    We need to enable the use of SLPC Compute strategy during init, but
    it will apply only to contexts that set this bit during context
    creation.

    Userland can check whether this feature is supported using a new param-
    I915_PARAM_HAS_CONTEXT_FREQ_HINT. This flag is true for all guc submission
    enabled platforms as they use SLPC for frequency management.

    The Mesa usage model for this flag is here -
    https://gitlab.freedesktop.org/sushmave/mesa/-/commits/compute_hint

- drm/i915/gt: Enable only one CCS for compute workload

    Enable only one CCS engine by default with all the compute sices
    allocated to it.

    While generating the list of UABI engines to be exposed to the
    user, exclude any additional CCS engines beyond the first
    instance

    ***

    NOTE: This W/A will make all DG2 SKUs appear like single CCS SKUs by
    default to mitigate a hardware bug. All the EUs will still remain
    usable, and all the userspace drivers have been confirmed to be able
    to dynamically detect the change in number of CCS engines and adjust.

    For the smaller percent of applications that get perf benefit from
    letting the userspace driver dispatch across all 4 CCS engines we will
    be introducing a sysfs control as a later patch to choose 4 CCS each
    with 25% EUs (or 50% if 2 CCS).

    NOTE: A regression has been reported at

    https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10895

    However Andi has been triaging the issue and we're closing in a fix
    to the gap in the W/A implementation:

    https://lists.freedesktop.org/archives/intel-gfx/2024-April/348747.html

Driver Changes:

- Add new and fix to existing workarounds: Wa_14018575942 (MTL),
  Wa_16019325821 (Gen12.70), Wa_14019159160 (MTL), Wa_16015675438,
  Wa_14020495402 (Gen12.70) (Tejas, John, Lucas)
- Fix UAF on destroy against retire race and remove two earlier
  partial fixes (Janusz)
- Limit the reserved VM space to only the platforms that need it (Andi)
- Reset queue_priority_hint on parking for execlist platforms (Chris)
- Fix gt reset with GuC submission is disabled (Nirmoy)
- Correct capture of EIR register on hang (John)

- Remove usage of the deprecated ida_simple_xx() API
- Refactor confusing __intel_gt_reset() (Nirmoy)
- Fix the fix for GuC reset lock confusion (John)
- Simplify/extend platform check for Wa_14018913170 (John)
- Replace dev_priv with i915 (Andi)
- Add and use gt_to_guc() wrapper (Andi)
- Remove bogus null check (Rodrigo, Dan)

. Selftest improvements (Janusz, Nirmoy, Daniele)

----------------------------------------------------------------
Andi Shyti (7):
      drm/i915/gt: Create the gt_to_guc() wrapper
      drm/i915/guc: Use the new gt_to_guc() wrapper
      drm/i915/gt: Limit the reserved VM space to only the platforms that need it
      drm/i915/gem: Replace dev_priv with i915
      drm/i915/gt: Disable HW load balancing for CCS
      drm/i915/gt: Do not generate the command streamer for all the CCS
      drm/i915/gt: Enable only one CCS for compute workload

Chris Wilson (1):
      drm/i915/gt: Reset queue_priority_hint on parking

Christophe JAILLET (1):
      drm/i915/guc: Remove usage of the deprecated ida_simple_xx() API

Daniele Ceraolo Spurio (1):
      drm/i915/dg2: wait for HuC load completion before running selftests

Janusz Krzysztofik (5):
      drm/i915/selftest_hangcheck: Check sanity with more patience
      drm/i915/selftests: Fix dependency of some timeouts on HZ
      drm/i915/vma: Fix UAF on destroy against retire race
      drm/i915: Remove extra multi-gt pm-references
      Revert "drm/i915: Wait for active retire before i915_active_fini()"

John Harrison (6):
      drm/i915/guc: Correct capture of EIR register on hang
      drm/i915/guc: Simplify/extend platform check for Wa_14018913170
      drm/i915: Enable Wa_16019325821
      drm/i915/guc: Add support for w/a KLVs
      drm/i915/guc: Enable Wa_14019159160
      drm/i915/guc: Fix the fix for reset lock confusion

Lucas De Marchi (1):
      drm/i915: Drop WA 16015675438

Nirmoy Das (3):
      drm/i915/selftests: Pick correct caching mode.
      drm/i915: Refactor confusing __intel_gt_reset()
      drm/i915: Fix gt reset with GuC submission is disabled

Radhakrishna Sripada (1):
      drm/i915/xelpg: Add Wa_14020495402

Rodrigo Vivi (1):
      drm/i915/guc: Remove bogus null check

Tejas Upadhyay (1):
      drm/i915/mtl: Update workaround 14018575942

Vinay Belgaumkar (1):
      drm/i915/guc: Use context hints for GT frequency

 drivers/gpu/drm/i915/Makefile                      |  1 +
 drivers/gpu/drm/i915/gem/i915_gem_context.c        | 16 +++-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |  1 +
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 22 +-----
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  6 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |  8 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         | 18 ++---
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  6 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    | 14 ++--
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |  5 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           | 22 ++++--
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  3 +
 drivers/gpu/drm/i915/gt/intel_context_types.h      |  1 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          | 23 +++++-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  3 -
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  8 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  5 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  9 +--
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  8 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 | 14 +++-
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c        | 39 ++++++++++
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h        | 13 ++++
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  6 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  7 ++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  8 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  4 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              | 51 ++++++++++--
 drivers/gpu/drm/i915/gt/intel_reset.h              |  3 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  6 +-
 drivers/gpu/drm/i915/gt/intel_tlb.c                |  2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 43 ++++++++--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  2 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |  2 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |  6 +-
 .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  | 21 +++++
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  1 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  7 ++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          |  4 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c       |  3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 15 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 91 +++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 12 +--
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  6 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c    |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        | 17 ++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |  1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 78 ++++++++++---------
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  4 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  4 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  4 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |  2 +-
 drivers/gpu/drm/i915/i915_driver.c                 |  2 +-
 drivers/gpu/drm/i915/i915_getparam.c               |  6 ++
 drivers/gpu/drm/i915/i915_vma.c                    | 52 ++++++++++---
 drivers/gpu/drm/i915/selftests/i915_selftest.c     | 36 ++++++++-
 .../drm/i915/selftests/intel_scheduler_helpers.c   |  6 +-
 include/uapi/drm/i915_drm.h                        | 15 ++++
 61 files changed, 598 insertions(+), 190 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2024-02-28 14:02 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2024-02-28 14:02 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, dim-tools

Hi Dave, Sima,

Last drm-intel-gt-next pull request for 6.9.

There are only two small fixes in there so could also wait for the
-next-fixes round if so would be preferred. One fix is for a kerneldoc
warning and other for a very unlikely userptr object creation failure
where cleanup would oops.

Regards,

Tvrtko

drm-intel-gt-next-2024-02-28:
Driver Changes:

Fixes:

- Add some boring kerneldoc (Tvrtko Ursulin)
- Check before removing mm notifier (Nirmoy
The following changes since commit eb927f01dfb6309c8a184593c2c0618c4000c481:

  drm/i915/gt: Restart the heartbeat timer when forcing a pulse (2024-02-14 17:17:35 -0800)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2024-02-28

for you to fetch changes up to db7bbd13f08774cde0332c705f042e327fe21e73:

  drm/i915: Check before removing mm notifier (2024-02-28 13:11:32 +0000)

----------------------------------------------------------------
Driver Changes:

Fixes:

- Add some boring kerneldoc (Tvrtko Ursulin)
- Check before removing mm notifier (Nirmoy

----------------------------------------------------------------
Nirmoy Das (1):
      drm/i915: Check before removing mm notifier

Tvrtko Ursulin (1):
      drm/i915: Add some boring kerneldoc

 drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 3 +++
 include/uapi/drm/i915_drm.h                 | 4 ++++
 2 files changed, 7 insertions(+)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-02-16  9:41   ` Joonas Lahtinen
@ 2024-02-20 15:14     ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2024-02-20 15:14 UTC (permalink / raw)
  To: Dave Airlie, Tvrtko Ursulin
  Cc: Daniel Vetter, Jani Nikula, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellstrom, Oded Gabbay,
	Lucas De Marchi, dri-devel, intel-gfx, dim-tools,
	Jonathan Cavitt

Quoting Joonas Lahtinen (2024-02-16 11:41:44)
> (+ Jonathan)
> 
> Quoting Dave Airlie (2024-02-16 04:58:03)
> > On Thu, 15 Feb 2024 at 20:06, Tvrtko Ursulin
> > <tvrtko.ursulin@linux.intel.com> wrote:
> > >
> > > Hi Dave, Daniel,
> > >
> > > First pull request for 6.9 with probably one more coming in one to two
> > > weeks.
> > >
> > > Nothing to interesting in this one, mostly a sprinkle of small fixes in
> > > GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms and some
> > > code cleanups.
> > >
> > > One new uapi in the form of a GuC submission version query which Mesa
> > > wants for implementing Vulkan async compute queues.
> > >
> > > Regards,
> > >
> > > Tvrtko
> > >
> > > drm-intel-gt-next-2024-02-15:
> > > UAPI Changes:
> > >
> > > - Add GuC submission interface version query (Tvrtko Ursulin)
> > >
> > > Driver Changes:
> > >
> > > Fixes/improvements/new stuff:
> > >
> > > - Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
> > 
> > I've pulled this, but the above patch is triggering my this seems
> > wrong spider sense.
> > 
> > This and probably the preceeding patch that this references seem to
> > move i915 to a long term pinning of userptr in memory with what I can
> > see no accounting, and away from what the desired behaviour for
> > drivers should be.
> 
> I asked Thomas to take a more detailed look. Jonathan, Thomas really should
> have been Cc'd in the original patch as the patch was explicitly referred
> in the text even.
> 
> > It also feels like the authorship on this might be lies which also worries me.
> 
> Fear not. This can probably be blamed on the i915 maintainers.
> 
> When we have an internal patch which has many revisions and is then
> essentially rewritten for upstreaming, we specifically asked NOT to keep
> the "From:" line intact, but instead swap in person who rewrote the patch[1].

Just to state the obvious for the public record:

This should never be done lightly or without reaching out to the
original author. This should only be for the exceptional cases where the
patch has significantly changed.

This was just the explanation why it's not an immediate red flag to see
such a patch. Based on the discussion around the topic we should be more
explicit if such a case has happened or if there simply has been an error
in the patch handling.

So we'll work on clarifying the instructions here.

Regards, Joonas

> To document credits/involvement of the original author we've recommended
> to keep the Signed-off-by line however. "Co-developed-by" does not really
> express the situation correctly. "Based on patch by" style pure textual
> credit reference was also discussed but is hard to grep.
> 
> Discussed with Sima who suggested if we should consider something like
> "Original-patch-by:" tag to better express this situation?
> 
> Regards, Joonas
> 
> [1] If the "From: " line is not updated, it sometimes leads to
> situation where you can see a patch with "From:" pointing to you, that
> doesn't contain a single unmodified line anymore.
> 
> > 
> > Dave.

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-02-16  2:58 ` Dave Airlie
  2024-02-16  9:31   ` Thomas Hellström
@ 2024-02-16  9:41   ` Joonas Lahtinen
  2024-02-20 15:14     ` Joonas Lahtinen
  1 sibling, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2024-02-16  9:41 UTC (permalink / raw)
  To: Dave Airlie, Tvrtko Ursulin
  Cc: Daniel Vetter, Jani Nikula, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellström,
	Oded Gabbay, Lucas De Marchi, dri-devel, intel-gfx, dim-tools,
	Jonathan Cavitt

(+ Jonathan)

Quoting Dave Airlie (2024-02-16 04:58:03)
> On Thu, 15 Feb 2024 at 20:06, Tvrtko Ursulin
> <tvrtko.ursulin@linux.intel.com> wrote:
> >
> > Hi Dave, Daniel,
> >
> > First pull request for 6.9 with probably one more coming in one to two
> > weeks.
> >
> > Nothing to interesting in this one, mostly a sprinkle of small fixes in
> > GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms and some
> > code cleanups.
> >
> > One new uapi in the form of a GuC submission version query which Mesa
> > wants for implementing Vulkan async compute queues.
> >
> > Regards,
> >
> > Tvrtko
> >
> > drm-intel-gt-next-2024-02-15:
> > UAPI Changes:
> >
> > - Add GuC submission interface version query (Tvrtko Ursulin)
> >
> > Driver Changes:
> >
> > Fixes/improvements/new stuff:
> >
> > - Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
> 
> I've pulled this, but the above patch is triggering my this seems
> wrong spider sense.
> 
> This and probably the preceeding patch that this references seem to
> move i915 to a long term pinning of userptr in memory with what I can
> see no accounting, and away from what the desired behaviour for
> drivers should be.

I asked Thomas to take a more detailed look. Jonathan, Thomas really should
have been Cc'd in the original patch as the patch was explicitly referred
in the text even.

> It also feels like the authorship on this might be lies which also worries me.

Fear not. This can probably be blamed on the i915 maintainers.

When we have an internal patch which has many revisions and is then
essentially rewritten for upstreaming, we specifically asked NOT to keep
the "From:" line intact, but instead swap in person who rewrote the patch[1].

To document credits/involvement of the original author we've recommended
to keep the Signed-off-by line however. "Co-developed-by" does not really
express the situation correctly. "Based on patch by" style pure textual
credit reference was also discussed but is hard to grep.

Discussed with Sima who suggested if we should consider something like
"Original-patch-by:" tag to better express this situation?

Regards, Joonas

[1] If the "From: " line is not updated, it sometimes leads to
situation where you can see a patch with "From:" pointing to you, that
doesn't contain a single unmodified line anymore.

> 
> Dave.

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-02-16  9:31   ` Thomas Hellström
@ 2024-02-16  9:33     ` Thomas Hellström
  0 siblings, 0 replies; 68+ messages in thread
From: Thomas Hellström @ 2024-02-16  9:33 UTC (permalink / raw)
  To: Dave Airlie, Tvrtko Ursulin
  Cc: Daniel Vetter, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard, Oded Gabbay,
	Lucas De Marchi, dri-devel, intel-gfx, dim-tools

On Fri, 2024-02-16 at 10:31 +0100, Thomas Hellström wrote:
> Hi, Dave
> 
> On Fri, 2024-02-16 at 12:58 +1000, Dave Airlie wrote:
> > On Thu, 15 Feb 2024 at 20:06, Tvrtko Ursulin
> > <tvrtko.ursulin@linux.intel.com> wrote:
> > > 
> > > Hi Dave, Daniel,
> > > 
> > > First pull request for 6.9 with probably one more coming in one
> > > to
> > > two
> > > weeks.
> > > 
> > > Nothing to interesting in this one, mostly a sprinkle of small
> > > fixes in
> > > GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms
> > > and
> > > some
> > > code cleanups.
> > > 
> > > One new uapi in the form of a GuC submission version query which
> > > Mesa
> > > wants for implementing Vulkan async compute queues.
> > > 
> > > Regards,
> > > 
> > > Tvrtko
> > > 
> > > drm-intel-gt-next-2024-02-15:
> > > UAPI Changes:
> > > 
> > > - Add GuC submission interface version query (Tvrtko Ursulin)
> > > 
> > > Driver Changes:
> > > 
> > > Fixes/improvements/new stuff:
> > > 
> > > - Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
> > 
> > I've pulled this, but the above patch is triggering my this seems
> > wrong spider sense.
> > 
> > This and probably the preceeding patch that this references seem to
> > move i915 to a long term pinning of userptr in memory with what I
> > can
> > see no accounting, and away from what the desired behaviour for
> > drivers should be.
> 
> I can only answer for the first patch there, It was some time ago it
> was written, but at that point the pinning was held both by
> get_pages()
> and by submission. I removed the submission pinning and instead moved
> get_pages() to start of submission. So no significant change in
> pinning
> time there. For some reason I can't clearly remember the submission
> pinning got in the way of the vm_bind implementation. That said, the
> pinning AFAIR is released in the gem shrinker. And it's different
> from
> what other drivers are doing. i915 never got to the point where it
> completely dropped the pinning after the binding.

(And with the first patch I mean "Simplify userptr locking")
/Thomas


> 
> /Thomas
> 
> 
> > 
> > It also feels like the authorship on this might be lies which also
> > worries me.
> > 
> > Dave.
> 


^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-02-16  2:58 ` Dave Airlie
@ 2024-02-16  9:31   ` Thomas Hellström
  2024-02-16  9:33     ` Thomas Hellström
  2024-02-16  9:41   ` Joonas Lahtinen
  1 sibling, 1 reply; 68+ messages in thread
From: Thomas Hellström @ 2024-02-16  9:31 UTC (permalink / raw)
  To: Dave Airlie, Tvrtko Ursulin
  Cc: Daniel Vetter, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard, Oded Gabbay,
	Lucas De Marchi, dri-devel, intel-gfx, dim-tools

Hi, Dave

On Fri, 2024-02-16 at 12:58 +1000, Dave Airlie wrote:
> On Thu, 15 Feb 2024 at 20:06, Tvrtko Ursulin
> <tvrtko.ursulin@linux.intel.com> wrote:
> > 
> > Hi Dave, Daniel,
> > 
> > First pull request for 6.9 with probably one more coming in one to
> > two
> > weeks.
> > 
> > Nothing to interesting in this one, mostly a sprinkle of small
> > fixes in
> > GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms and
> > some
> > code cleanups.
> > 
> > One new uapi in the form of a GuC submission version query which
> > Mesa
> > wants for implementing Vulkan async compute queues.
> > 
> > Regards,
> > 
> > Tvrtko
> > 
> > drm-intel-gt-next-2024-02-15:
> > UAPI Changes:
> > 
> > - Add GuC submission interface version query (Tvrtko Ursulin)
> > 
> > Driver Changes:
> > 
> > Fixes/improvements/new stuff:
> > 
> > - Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
> 
> I've pulled this, but the above patch is triggering my this seems
> wrong spider sense.
> 
> This and probably the preceeding patch that this references seem to
> move i915 to a long term pinning of userptr in memory with what I can
> see no accounting, and away from what the desired behaviour for
> drivers should be.

I can only answer for the first patch there, It was some time ago it
was written, but at that point the pinning was held both by get_pages()
and by submission. I removed the submission pinning and instead moved
get_pages() to start of submission. So no significant change in pinning
time there. For some reason I can't clearly remember the submission
pinning got in the way of the vm_bind implementation. That said, the
pinning AFAIR is released in the gem shrinker. And it's different from
what other drivers are doing. i915 never got to the point where it
completely dropped the pinning after the binding.

/Thomas


> 
> It also feels like the authorship on this might be lies which also
> worries me.
> 
> Dave.


^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2024-02-15 10:06 Tvrtko Ursulin
@ 2024-02-16  2:58 ` Dave Airlie
  2024-02-16  9:31   ` Thomas Hellström
  2024-02-16  9:41   ` Joonas Lahtinen
  0 siblings, 2 replies; 68+ messages in thread
From: Dave Airlie @ 2024-02-16  2:58 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: Daniel Vetter, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, dim-tools

On Thu, 15 Feb 2024 at 20:06, Tvrtko Ursulin
<tvrtko.ursulin@linux.intel.com> wrote:
>
> Hi Dave, Daniel,
>
> First pull request for 6.9 with probably one more coming in one to two
> weeks.
>
> Nothing to interesting in this one, mostly a sprinkle of small fixes in
> GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms and some
> code cleanups.
>
> One new uapi in the form of a GuC submission version query which Mesa
> wants for implementing Vulkan async compute queues.
>
> Regards,
>
> Tvrtko
>
> drm-intel-gt-next-2024-02-15:
> UAPI Changes:
>
> - Add GuC submission interface version query (Tvrtko Ursulin)
>
> Driver Changes:
>
> Fixes/improvements/new stuff:
>
> - Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)

I've pulled this, but the above patch is triggering my this seems
wrong spider sense.

This and probably the preceeding patch that this references seem to
move i915 to a long term pinning of userptr in memory with what I can
see no accounting, and away from what the desired behaviour for
drivers should be.

It also feels like the authorship on this might be lies which also worries me.

Dave.

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2024-02-15 10:06 Tvrtko Ursulin
  2024-02-16  2:58 ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Tvrtko Ursulin @ 2024-02-15 10:06 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, dim-tools

Hi Dave, Daniel,

First pull request for 6.9 with probably one more coming in one to two
weeks.

Nothing to interesting in this one, mostly a sprinkle of small fixes in
GuC, HuC, Perf/OA, a tiny bit of prep work for future platforms and some
code cleanups.

One new uapi in the form of a GuC submission version query which Mesa
wants for implementing Vulkan async compute queues.

Regards,

Tvrtko

drm-intel-gt-next-2024-02-15:
UAPI Changes:

- Add GuC submission interface version query (Tvrtko Ursulin)

Driver Changes:

Fixes/improvements/new stuff:

- Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
- Update handling of MMIO triggered reports (Umesh Nerlige Ramappa)
- Don't make assumptions about intel_wakeref_t type (Jani Nikula)
- Add workaround 14019877138 [xelpg] (Tejas Upadhyay)
- Allow for very slow HuC loading [huc] (John Harrison)
- Flush context destruction worker at suspend [guc] (Alan Previn)
- Close deregister-context race against CT-loss [guc] (Alan Previn)
- Avoid circular locking issue on busyness flush [guc] (John Harrison)
- Use rc6.supported flag from intel_gt for rc6_enable sysfs (Juan Escamilla)
- Reflect the true and current status of rc6_enable (Juan Escamilla)
- Wake GT before sending H2G message [mtl] (Vinay Belgaumkar)
- Restart the heartbeat timer when forcing a pulse (John Harrison)

Future platform enablement:

- Extend driver code of Xe_LPG to Xe_LPG+ [xelpg] (Harish Chegondi)
- Extend some workarounds/tuning to gfx version 12.74 [xelpg] (Matt Roper)

Miscellaneous:

- Reconcile Excess struct member kernel-doc warnings (Randy Dunlap)
- Change wa and EU_PERF_CNTL registers to MCR type [guc] (Shuicheng Lin)
- Add flex arrays to struct i915_syncmap (Erick Archer)
- Increasing the sleep time for live_rc6_manual [selftests] (Anirban Sk)
The following changes since commit 31accc37eaee98a90b25809ed58c6ee4956ab642:

  drm/i915: Use kmap_local_page() in gem/i915_gem_execbuffer.c (2023-12-15 09:34:31 +0000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2024-02-15

for you to fetch changes up to eb927f01dfb6309c8a184593c2c0618c4000c481:

  drm/i915/gt: Restart the heartbeat timer when forcing a pulse (2024-02-14 17:17:35 -0800)

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

- Add GuC submission interface version query (Tvrtko Ursulin)

Driver Changes:

Fixes/improvements/new stuff:

- Atomically invalidate userptr on mmu-notifier (Jonathan Cavitt)
- Update handling of MMIO triggered reports (Umesh Nerlige Ramappa)
- Don't make assumptions about intel_wakeref_t type (Jani Nikula)
- Add workaround 14019877138 [xelpg] (Tejas Upadhyay)
- Allow for very slow HuC loading [huc] (John Harrison)
- Flush context destruction worker at suspend [guc] (Alan Previn)
- Close deregister-context race against CT-loss [guc] (Alan Previn)
- Avoid circular locking issue on busyness flush [guc] (John Harrison)
- Use rc6.supported flag from intel_gt for rc6_enable sysfs (Juan Escamilla)
- Reflect the true and current status of rc6_enable (Juan Escamilla)
- Wake GT before sending H2G message [mtl] (Vinay Belgaumkar)
- Restart the heartbeat timer when forcing a pulse (John Harrison)

Future platform enablement:

- Extend driver code of Xe_LPG to Xe_LPG+ [xelpg] (Harish Chegondi)
- Extend some workarounds/tuning to gfx version 12.74 [xelpg] (Matt Roper)

Miscellaneous:

- Reconcile Excess struct member kernel-doc warnings (Randy Dunlap)
- Change wa and EU_PERF_CNTL registers to MCR type [guc] (Shuicheng Lin)
- Add flex arrays to struct i915_syncmap (Erick Archer)
- Increasing the sleep time for live_rc6_manual [selftests] (Anirban Sk)

----------------------------------------------------------------
Alan Previn (2):
      drm/i915/guc: Flush context destruction worker at suspend
      drm/i915/guc: Close deregister-context race against CT-loss

Anirban Sk (1):
      drm/i915/selftests: Increasing the sleep time for live_rc6_manual

Erick Archer (1):
      drm/i915: Add flex arrays to struct i915_syncmap

Harish Chegondi (1):
      drm/i915/xelpg: Extend driver code of Xe_LPG to Xe_LPG+

Jani Nikula (1):
      drm/i915: don't make assumptions about intel_wakeref_t type

John Harrison (3):
      drm/i915/huc: Allow for very slow HuC loading
      drm/i915/guc: Avoid circular locking issue on busyness flush
      drm/i915/gt: Restart the heartbeat timer when forcing a pulse

Jonathan Cavitt (1):
      drm/i915/gem: Atomically invalidate userptr on mmu-notifier

Juan Escamilla (2):
      drm/i915/gt: Use rc6.supported flag from intel_gt for rc6_enable sysfs
      drm/i915/gt: Reflect the true and current status of rc6_enable

Matt Roper (1):
      drm/i915/xelpg: Extend some workarounds/tuning to gfx version 12.74

Randy Dunlap (4):
      drm/i915/gem: reconcile Excess struct member kernel-doc warnings
      drm/i915/gt: reconcile Excess struct member kernel-doc warnings
      drm/i915/guc: reconcile Excess struct member kernel-doc warnings
      drm/i915/perf: reconcile Excess struct member kernel-doc warnings

Shuicheng Lin (1):
      drm/i915/guc: Change wa and EU_PERF_CNTL registers to MCR type

Tejas Upadhyay (1):
      drm/i915/xelpg: Add workaround 14019877138

Tvrtko Ursulin (1):
      drm/i915: Add GuC submission interface version query

Umesh Nerlige Ramappa (1):
      drm/i915/perf: Update handling of MMIO triggered reports

Vinay Belgaumkar (1):
      drm/i915/mtl: Wake GT before sending H2G message

 drivers/gpu/drm/i915/display/intel_display_power.c |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   8 --
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |  10 ++
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  42 -------
 drivers/gpu/drm/i915/gem/i915_gem_userptr.h        |  14 ---
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   4 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   3 +
 drivers/gpu/drm/i915/gt/intel_gsc.h                |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  18 +--
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  27 +++--
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  75 ++++++------
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  21 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 126 ++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  64 ++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   4 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   2 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   8 --
 drivers/gpu/drm/i915/i915_gem.c                    |   5 -
 drivers/gpu/drm/i915/i915_perf.c                   |  41 ++++++-
 drivers/gpu/drm/i915/i915_perf_types.h             |   9 +-
 drivers/gpu/drm/i915/i915_query.c                  |  33 ++++++
 drivers/gpu/drm/i915/i915_syncmap.c                |  19 ++--
 drivers/gpu/drm/i915/intel_uncore.c                |   5 +-
 include/uapi/drm/i915_drm.h                        |  12 ++
 31 files changed, 392 insertions(+), 196 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_userptr.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-12-15 12:11 ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-12-15 12:11 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave & Sima,

Final drm-intel-gt-next PR for v6.8.

Elimination of kmap_atomic() from the driver to allow kernel wide
cleanup. One new DG2 W/A and static checker/spelling fixes.

Best Regards,
Joonas

***

drm-intel-gt-next-2023-12-15:

Driver Changes:

- Eliminate use of kmap_atomic() in i915 (Zhao)
- Add Wa_14019877138 for DG2 (Haridhar)

- Static checker and spelling fixes (Colin, Karthik, Randy)
-

The following changes since commit be5bcc4be9d9d3ae294072441a66fe39b74e5bba:

  drm/i915/guc: Create the guc_to_i915() wrapper (2023-12-08 12:31:01 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-12-15

for you to fetch changes up to 31accc37eaee98a90b25809ed58c6ee4956ab642:

  drm/i915: Use kmap_local_page() in gem/i915_gem_execbuffer.c (2023-12-15 09:34:31 +0000)

----------------------------------------------------------------
Driver Changes:

- Eliminate use of kmap_atomic() in i915 (Zhao)
- Add Wa_14019877138 for DG2 (Haridhar)

- Static checker and spelling fixes (Colin, Karthik, Randy)
-

----------------------------------------------------------------
Colin Ian King (1):
      drm/i915/selftests: Fix spelling mistake "initialiased" -> "initialised"

Haridhar Kalvala (1):
      drm/i915: Add Wa_14019877138

Karthik Poosa (1):
      drm/i915/hwmon: Fix static analysis tool reported issues

Randy Dunlap (1):
      drm/i915/uapi: fix typos/spellos and punctuation

Zhao Liu (9):
      drm/i915: Use kmap_local_page() in gem/i915_gem_object.c
      drm/i915: Use memcpy_[from/to]_page() in gem/i915_gem_pyhs.c
      drm/i915: Use kmap_local_page() in gem/i915_gem_shmem.c
      drm/i915: Use kmap_local_page() in gem/selftests/huge_pages.c
      drm/i915: Use kmap_local_page() in gem/selftests/i915_gem_coherency.c
      drm/i915: Use kmap_local_page() in gem/selftests/i915_gem_context.c
      drm/i915: Use memcpy_from_page() in gt/uc/intel_uc_fw.c
      drm/i915: Use kmap_local_page() in i915_cmd_parser.c
      drm/i915: Use kmap_local_page() in gem/i915_gem_execbuffer.c

 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c          | 10 +++++-----
 drivers/gpu/drm/i915/gem/i915_gem_object.c              |  8 +++-----
 drivers/gpu/drm/i915/gem/i915_gem_phys.c                | 10 ++--------
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c               |  6 ++++--
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c         |  6 +++---
 drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c | 12 ++++--------
 drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c   |  8 ++++----
 drivers/gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c    |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h                 |  3 +++
 drivers/gpu/drm/i915/gt/intel_workarounds.c             |  3 +++
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c                |  5 +----
 drivers/gpu/drm/i915/i915_cmd_parser.c                  |  4 ++--
 drivers/gpu/drm/i915/i915_hwmon.c                       |  4 ++--
 include/uapi/drm/i915_drm.h                             | 12 ++++++------
 14 files changed, 43 insertions(+), 50 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-12-15 12:11 ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-12-15 12:11 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Maxime Ripard, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Sima,

Final drm-intel-gt-next PR for v6.8.

Elimination of kmap_atomic() from the driver to allow kernel wide
cleanup. One new DG2 W/A and static checker/spelling fixes.

Best Regards,
Joonas

***

drm-intel-gt-next-2023-12-15:

Driver Changes:

- Eliminate use of kmap_atomic() in i915 (Zhao)
- Add Wa_14019877138 for DG2 (Haridhar)

- Static checker and spelling fixes (Colin, Karthik, Randy)
-

The following changes since commit be5bcc4be9d9d3ae294072441a66fe39b74e5bba:

  drm/i915/guc: Create the guc_to_i915() wrapper (2023-12-08 12:31:01 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-12-15

for you to fetch changes up to 31accc37eaee98a90b25809ed58c6ee4956ab642:

  drm/i915: Use kmap_local_page() in gem/i915_gem_execbuffer.c (2023-12-15 09:34:31 +0000)

----------------------------------------------------------------
Driver Changes:

- Eliminate use of kmap_atomic() in i915 (Zhao)
- Add Wa_14019877138 for DG2 (Haridhar)

- Static checker and spelling fixes (Colin, Karthik, Randy)
-

----------------------------------------------------------------
Colin Ian King (1):
      drm/i915/selftests: Fix spelling mistake "initialiased" -> "initialised"

Haridhar Kalvala (1):
      drm/i915: Add Wa_14019877138

Karthik Poosa (1):
      drm/i915/hwmon: Fix static analysis tool reported issues

Randy Dunlap (1):
      drm/i915/uapi: fix typos/spellos and punctuation

Zhao Liu (9):
      drm/i915: Use kmap_local_page() in gem/i915_gem_object.c
      drm/i915: Use memcpy_[from/to]_page() in gem/i915_gem_pyhs.c
      drm/i915: Use kmap_local_page() in gem/i915_gem_shmem.c
      drm/i915: Use kmap_local_page() in gem/selftests/huge_pages.c
      drm/i915: Use kmap_local_page() in gem/selftests/i915_gem_coherency.c
      drm/i915: Use kmap_local_page() in gem/selftests/i915_gem_context.c
      drm/i915: Use memcpy_from_page() in gt/uc/intel_uc_fw.c
      drm/i915: Use kmap_local_page() in i915_cmd_parser.c
      drm/i915: Use kmap_local_page() in gem/i915_gem_execbuffer.c

 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c          | 10 +++++-----
 drivers/gpu/drm/i915/gem/i915_gem_object.c              |  8 +++-----
 drivers/gpu/drm/i915/gem/i915_gem_phys.c                | 10 ++--------
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c               |  6 ++++--
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c         |  6 +++---
 drivers/gpu/drm/i915/gem/selftests/i915_gem_coherency.c | 12 ++++--------
 drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c   |  8 ++++----
 drivers/gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c    |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h                 |  3 +++
 drivers/gpu/drm/i915/gt/intel_workarounds.c             |  3 +++
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c                |  5 +----
 drivers/gpu/drm/i915/i915_cmd_parser.c                  |  4 ++--
 drivers/gpu/drm/i915/i915_hwmon.c                       |  4 ++--
 include/uapi/drm/i915_drm.h                             | 12 ++++++------
 14 files changed, 43 insertions(+), 50 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-12-08 16:18 ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-12-08 16:18 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave & Sima,

A rather late first drm-intel-gt-next PR towards v6.8.

As most significant change we have addition of the DRM fdinfo memory stats
functionality. Then DG2 and MTL workaround additions and fixes and a few
for older platforms as well. PMU WARN_ON splat cleanup.

The rest is mostly code cleanups and fixes for odd corner cases.

Best Regards, Joonas

***

drm-intel-gt-next-2023-12-08:

UAPI Changes:

-   drm/i915: Implement fdinfo memory stats printing

    Use the newly added drm_print_memory_stats helper to show memory
    utilisation of our objects in drm/driver specific fdinfo output.

    To collect the stats we walk the per memory regions object lists
    and accumulate object size into the respective drm_memory_stats
    categories.

Cross-subsystem Changes:

- Backmerge of drm-next (to bring drm-intel-next for PXP changes)

Driver Changes:

- Wa_18028616096 now applies to all DG2 (Matt R)
- Drop Wa_22014600077 on all DG2 (Matt R)
- Add new ATS-M device ID (Haridhar)
- More Meteorlake (MTL) workarounds (Matt R, Dnyaneshwar, Jonathan,
  Gustavo, Radhakrishna)
- PMU WARN_ON cleanup on driver unbind (Umesh)
- Limit GGTT WC flushing workaround to pre BXT/ICL platforms
- Complement implementation for Wa_16018031267 / Wa_16018063123
  (Andrzej, Jonathan, Nirmoy, Chris)

- Properly print internal GSC engine in trace logs (Tvrtko)
- Track gt pm wakerefs (Andrzej)
- Fix null deref bugs on perf code when perf is disabled (Harshit,
  Tvrtko)
- Fix __i915_request_create memory leak on driver unbind (Andrzej)
- Remove spurious unsupported HuC message on MTL (Daniele)
- Read a shadowed mmio register for ggtt flush (Vinay)
- Add missing new-line to GT_TRACE (Andrzej)
- Add drm_dbgs for critical PXP events (Alan)
- Skip pxp init if gt is wedged (Zhanjun)

- Replace custom intel runtime_pm tracker with ref_tracker library
  (Andrzej)
- Compiler warning/static checker/coding style cleanups (Arnd, Nirmoy,
  Soumya, Gilbert, Dorcas, Kunwu, Sam, Tvrtko)
- Code structure and helper cleanups (Jani, Tvrtko, Andi)
- Selftest improvements (John, Tvrtko, Andrzej)

The following changes since commit 11ae5eb516b656e8a0e4efbea90ea24c152a346d:

  Merge tag 'topic/vmemdup-user-array-2023-10-24-1' of git://anongit.freedesktop.org/drm/drm into drm-next (2023-10-24 11:13:29 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-12-08

for you to fetch changes up to be5bcc4be9d9d3ae294072441a66fe39b74e5bba:

  drm/i915/guc: Create the guc_to_i915() wrapper (2023-12-08 12:31:01 +0100)

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

-   drm/i915: Implement fdinfo memory stats printing

    Use the newly added drm_print_memory_stats helper to show memory
    utilisation of our objects in drm/driver specific fdinfo output.

    To collect the stats we walk the per memory regions object lists
    and accumulate object size into the respective drm_memory_stats
    categories.

Cross-subsystem Changes:

- Backmerge of drm-next (to bring drm-intel-next for PXP changes)

Driver Changes:

- Wa_18028616096 now applies to all DG2 (Matt R)
- Drop Wa_22014600077 on all DG2 (Matt R)
- Add new ATS-M device ID (Haridhar)
- More Meteorlake (MTL) workarounds (Matt R, Dnyaneshwar, Jonathan,
  Gustavo, Radhakrishna)
- PMU WARN_ON cleanup on driver unbind (Umesh)
- Limit GGTT WC flushing workaround to pre BXT/ICL platforms
- Complement implementation for Wa_16018031267 / Wa_16018063123
  (Andrzej, Jonathan, Nirmoy, Chris)

- Properly print internal GSC engine in trace logs (Tvrtko)
- Track gt pm wakerefs (Andrzej)
- Fix null deref bugs on perf code when perf is disabled (Harshit,
  Tvrtko)
- Fix __i915_request_create memory leak on driver unbind (Andrzej)
- Remove spurious unsupported HuC message on MTL (Daniele)
- Read a shadowed mmio register for ggtt flush (Vinay)
- Add missing new-line to GT_TRACE (Andrzej)
- Add drm_dbgs for critical PXP events (Alan)
- Skip pxp init if gt is wedged (Zhanjun)

- Replace custom intel runtime_pm tracker with ref_tracker library
  (Andrzej)
- Compiler warning/static checker/coding style cleanups (Arnd, Nirmoy,
  Soumya, Gilbert, Dorcas, Kunwu, Sam, Tvrtko)
- Code structure and helper cleanups (Jani, Tvrtko, Andi)
- Selftest improvements (John, Tvrtko, Andrzej)

----------------------------------------------------------------
Alan Previn (1):
      drm/i915/pxp: Add drm_dbgs for critical PXP events.

Andi Shyti (1):
      drm/i915/guc: Create the guc_to_i915() wrapper

Andrzej Hajda (8):
      drm/i915: Reserve some kernel space per vm
      drm/i915: Add WABB blit for Wa_16018031267 / Wa_16018063123
      drm/i915/gt: add selftest to exercise WABB
      drm/i915/gt: add missing new-line to GT_TRACE
      drm/i915: do not clean GT table on error path
      drm/i915: Replace custom intel runtime_pm tracker with ref_tracker library
      drm/i915: Track gt pm wakerefs
      drm/i915/selftests: wait for active idle event in i915_active_unlock_wait

Arnd Bergmann (1):
      drm/i915/mtl: avoid stringop-overflow warning

Daniele Ceraolo Spurio (1):
      drm/i915/huc: Stop printing about unsupported HuC on MTL

Dnyaneshwar Bhadane (2):
      drm/i915/mtl: Add Wa_22016670082
      drm/i915/mtl: Add Wa_14019821291

Dorcas AnonoLitunya (1):
      drm/i915/gt: Remove prohibited space after opening parenthesis

Gilbert Adikankwu (1):
      drm/i915/gt: Remove unncessary {} from if-else

Gustavo Sousa (1):
      drm/i915/xelpmp: Add Wa_16021867713

Haridhar Kalvala (1):
      drm/i915: ATS-M device ID update

Harshit Mogalapalli (1):
      i915/perf: Fix NULL deref bugs with drm_dbg() calls

Jani Nikula (6):
      drm/i915/pmu: add pmu_to_i915() helper
      drm/i915/pmu: add event_to_pmu() helper
      drm/i915/pmu: rearrange hrtimer pointer chasing
      drm/i915: make some error capture functions static
      drm/i915: move gpu error debugfs to i915_gpu_error.c
      drm/i915: move gpu error sysfs to i915_gpu_error.c

John Harrison (2):
      drm/i915/guc: Fix for potential false positives in GuC hang selftest
      drm/i915/guc: Add a selftest for FAST_REQUEST errors

Jonathan Cavitt (2):
      drm/i915: Set copy engine arbitration for Wa_16018031267 / Wa_16018063123
      drm/i915/gt: Temporarily disable CPU caching into DMA for MTL

Kunwu Chan (1):
      drm/i915: Fix potential spectre vulnerability

Matt Roper (3):
      drm/i915/mcr: Hold GT forcewake during steering operations
      drm/i915/dg2: Wa_18028616096 now applies to all DG2
      drm/i915/dg2: Drop Wa_22014600077

Nirmoy Das (2):
      drm/i915/gt: Use proper priority enum instead of 0
      drm/i915: Flush WC GGTT only on required platforms

Radhakrishna Sripada (1):
      drm/i915/mtl: Update Wa_22018931422

Sam James (1):
      drm: i915: Adapt to -Walloc-size

Soumya Negi (1):
      drm/i915/gt: Remove {} from if-else

Tvrtko Ursulin (12):
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915: Add ability for tracking buffer objects per client
      drm/i915: Record which client owns a VM
      drm/i915: Track page table backing store usage
      drm/i915: Account ring buffer and context state storage
      drm/i915: Add stable memory region names
      drm/i915: Implement fdinfo memory stats printing
      drm/i915: Remove return type from i915_drm_client_remove_object
      drm/i915: Add __rcu annotation to cursor when iterating client objects
      drm/i915/gsc: Mark internal GSC engine with reserved uabi class
      drm/i915/selftests: Fix engine reset count storage for multi-tile
      drm/i915: Use internal class when counting engine resets

Umesh Nerlige Ramappa (1):
      drm/i915/pmu: Check if pmu is closed before stopping event

Vinay Belgaumkar (1):
      drm/i915: Read a shadowed mmio register for ggtt flush

Zhanjun Dong (1):
      drm/i915: Skip pxp init if gt is wedged

 drivers/gpu/drm/i915/Kconfig.debug                 |  18 ++
 drivers/gpu/drm/i915/display/intel_display_power.c |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  13 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  12 ++
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  21 ++
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |  10 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  14 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   4 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  43 ++++
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  13 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h  |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |  14 ++
 drivers/gpu/drm/i915/gt/intel_context.h            |   4 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   7 +-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   8 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |  39 ++--
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  58 ++++--
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  13 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   9 +
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |  23 ++-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  14 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |  38 +++-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   3 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  26 +++
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   5 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 100 +++++++++-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  16 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   7 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  38 ++--
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |  20 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   5 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  65 ++++--
 drivers/gpu/drm/i915/gt/selftest_reset.c           |  10 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  17 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c       |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  23 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   5 -
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          | 115 +++++++++++
 .../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c    |   2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                | 108 +---------
 drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
 drivers/gpu/drm/i915/i915_drm_client.c             | 108 ++++++++++
 drivers/gpu/drm/i915/i915_drm_client.h             |  42 ++++
 drivers/gpu/drm/i915/i915_gpu_error.c              | 194 +++++++++++++++++-
 drivers/gpu/drm/i915/i915_gpu_error.h              |  44 ++--
 drivers/gpu/drm/i915/i915_perf.c                   |  15 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |  86 ++++----
 drivers/gpu/drm/i915/i915_sysfs.c                  |  79 +-------
 drivers/gpu/drm/i915/intel_memory_region.c         |  19 ++
 drivers/gpu/drm/i915/intel_memory_region.h         |   1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c            | 221 ++-------------------
 drivers/gpu/drm/i915/intel_runtime_pm.h            |  11 +-
 drivers/gpu/drm/i915/intel_wakeref.c               |  35 +++-
 drivers/gpu/drm/i915/intel_wakeref.h               |  73 ++++++-
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |  18 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c           |   5 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |   6 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   1 +
 drivers/gpu/drm/i915/selftests/igt_live_test.c     |   9 +-
 drivers/gpu/drm/i915/selftests/igt_live_test.h     |   3 +-
 include/drm/i915_pciids.h                          |   3 +-
 80 files changed, 1322 insertions(+), 695 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-12-08 16:18 ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-12-08 16:18 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Maxime Ripard, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Sima,

A rather late first drm-intel-gt-next PR towards v6.8.

As most significant change we have addition of the DRM fdinfo memory stats
functionality. Then DG2 and MTL workaround additions and fixes and a few
for older platforms as well. PMU WARN_ON splat cleanup.

The rest is mostly code cleanups and fixes for odd corner cases.

Best Regards, Joonas

***

drm-intel-gt-next-2023-12-08:

UAPI Changes:

-   drm/i915: Implement fdinfo memory stats printing

    Use the newly added drm_print_memory_stats helper to show memory
    utilisation of our objects in drm/driver specific fdinfo output.

    To collect the stats we walk the per memory regions object lists
    and accumulate object size into the respective drm_memory_stats
    categories.

Cross-subsystem Changes:

- Backmerge of drm-next (to bring drm-intel-next for PXP changes)

Driver Changes:

- Wa_18028616096 now applies to all DG2 (Matt R)
- Drop Wa_22014600077 on all DG2 (Matt R)
- Add new ATS-M device ID (Haridhar)
- More Meteorlake (MTL) workarounds (Matt R, Dnyaneshwar, Jonathan,
  Gustavo, Radhakrishna)
- PMU WARN_ON cleanup on driver unbind (Umesh)
- Limit GGTT WC flushing workaround to pre BXT/ICL platforms
- Complement implementation for Wa_16018031267 / Wa_16018063123
  (Andrzej, Jonathan, Nirmoy, Chris)

- Properly print internal GSC engine in trace logs (Tvrtko)
- Track gt pm wakerefs (Andrzej)
- Fix null deref bugs on perf code when perf is disabled (Harshit,
  Tvrtko)
- Fix __i915_request_create memory leak on driver unbind (Andrzej)
- Remove spurious unsupported HuC message on MTL (Daniele)
- Read a shadowed mmio register for ggtt flush (Vinay)
- Add missing new-line to GT_TRACE (Andrzej)
- Add drm_dbgs for critical PXP events (Alan)
- Skip pxp init if gt is wedged (Zhanjun)

- Replace custom intel runtime_pm tracker with ref_tracker library
  (Andrzej)
- Compiler warning/static checker/coding style cleanups (Arnd, Nirmoy,
  Soumya, Gilbert, Dorcas, Kunwu, Sam, Tvrtko)
- Code structure and helper cleanups (Jani, Tvrtko, Andi)
- Selftest improvements (John, Tvrtko, Andrzej)

The following changes since commit 11ae5eb516b656e8a0e4efbea90ea24c152a346d:

  Merge tag 'topic/vmemdup-user-array-2023-10-24-1' of git://anongit.freedesktop.org/drm/drm into drm-next (2023-10-24 11:13:29 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-12-08

for you to fetch changes up to be5bcc4be9d9d3ae294072441a66fe39b74e5bba:

  drm/i915/guc: Create the guc_to_i915() wrapper (2023-12-08 12:31:01 +0100)

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

-   drm/i915: Implement fdinfo memory stats printing

    Use the newly added drm_print_memory_stats helper to show memory
    utilisation of our objects in drm/driver specific fdinfo output.

    To collect the stats we walk the per memory regions object lists
    and accumulate object size into the respective drm_memory_stats
    categories.

Cross-subsystem Changes:

- Backmerge of drm-next (to bring drm-intel-next for PXP changes)

Driver Changes:

- Wa_18028616096 now applies to all DG2 (Matt R)
- Drop Wa_22014600077 on all DG2 (Matt R)
- Add new ATS-M device ID (Haridhar)
- More Meteorlake (MTL) workarounds (Matt R, Dnyaneshwar, Jonathan,
  Gustavo, Radhakrishna)
- PMU WARN_ON cleanup on driver unbind (Umesh)
- Limit GGTT WC flushing workaround to pre BXT/ICL platforms
- Complement implementation for Wa_16018031267 / Wa_16018063123
  (Andrzej, Jonathan, Nirmoy, Chris)

- Properly print internal GSC engine in trace logs (Tvrtko)
- Track gt pm wakerefs (Andrzej)
- Fix null deref bugs on perf code when perf is disabled (Harshit,
  Tvrtko)
- Fix __i915_request_create memory leak on driver unbind (Andrzej)
- Remove spurious unsupported HuC message on MTL (Daniele)
- Read a shadowed mmio register for ggtt flush (Vinay)
- Add missing new-line to GT_TRACE (Andrzej)
- Add drm_dbgs for critical PXP events (Alan)
- Skip pxp init if gt is wedged (Zhanjun)

- Replace custom intel runtime_pm tracker with ref_tracker library
  (Andrzej)
- Compiler warning/static checker/coding style cleanups (Arnd, Nirmoy,
  Soumya, Gilbert, Dorcas, Kunwu, Sam, Tvrtko)
- Code structure and helper cleanups (Jani, Tvrtko, Andi)
- Selftest improvements (John, Tvrtko, Andrzej)

----------------------------------------------------------------
Alan Previn (1):
      drm/i915/pxp: Add drm_dbgs for critical PXP events.

Andi Shyti (1):
      drm/i915/guc: Create the guc_to_i915() wrapper

Andrzej Hajda (8):
      drm/i915: Reserve some kernel space per vm
      drm/i915: Add WABB blit for Wa_16018031267 / Wa_16018063123
      drm/i915/gt: add selftest to exercise WABB
      drm/i915/gt: add missing new-line to GT_TRACE
      drm/i915: do not clean GT table on error path
      drm/i915: Replace custom intel runtime_pm tracker with ref_tracker library
      drm/i915: Track gt pm wakerefs
      drm/i915/selftests: wait for active idle event in i915_active_unlock_wait

Arnd Bergmann (1):
      drm/i915/mtl: avoid stringop-overflow warning

Daniele Ceraolo Spurio (1):
      drm/i915/huc: Stop printing about unsupported HuC on MTL

Dnyaneshwar Bhadane (2):
      drm/i915/mtl: Add Wa_22016670082
      drm/i915/mtl: Add Wa_14019821291

Dorcas AnonoLitunya (1):
      drm/i915/gt: Remove prohibited space after opening parenthesis

Gilbert Adikankwu (1):
      drm/i915/gt: Remove unncessary {} from if-else

Gustavo Sousa (1):
      drm/i915/xelpmp: Add Wa_16021867713

Haridhar Kalvala (1):
      drm/i915: ATS-M device ID update

Harshit Mogalapalli (1):
      i915/perf: Fix NULL deref bugs with drm_dbg() calls

Jani Nikula (6):
      drm/i915/pmu: add pmu_to_i915() helper
      drm/i915/pmu: add event_to_pmu() helper
      drm/i915/pmu: rearrange hrtimer pointer chasing
      drm/i915: make some error capture functions static
      drm/i915: move gpu error debugfs to i915_gpu_error.c
      drm/i915: move gpu error sysfs to i915_gpu_error.c

John Harrison (2):
      drm/i915/guc: Fix for potential false positives in GuC hang selftest
      drm/i915/guc: Add a selftest for FAST_REQUEST errors

Jonathan Cavitt (2):
      drm/i915: Set copy engine arbitration for Wa_16018031267 / Wa_16018063123
      drm/i915/gt: Temporarily disable CPU caching into DMA for MTL

Kunwu Chan (1):
      drm/i915: Fix potential spectre vulnerability

Matt Roper (3):
      drm/i915/mcr: Hold GT forcewake during steering operations
      drm/i915/dg2: Wa_18028616096 now applies to all DG2
      drm/i915/dg2: Drop Wa_22014600077

Nirmoy Das (2):
      drm/i915/gt: Use proper priority enum instead of 0
      drm/i915: Flush WC GGTT only on required platforms

Radhakrishna Sripada (1):
      drm/i915/mtl: Update Wa_22018931422

Sam James (1):
      drm: i915: Adapt to -Walloc-size

Soumya Negi (1):
      drm/i915/gt: Remove {} from if-else

Tvrtko Ursulin (12):
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915: Add ability for tracking buffer objects per client
      drm/i915: Record which client owns a VM
      drm/i915: Track page table backing store usage
      drm/i915: Account ring buffer and context state storage
      drm/i915: Add stable memory region names
      drm/i915: Implement fdinfo memory stats printing
      drm/i915: Remove return type from i915_drm_client_remove_object
      drm/i915: Add __rcu annotation to cursor when iterating client objects
      drm/i915/gsc: Mark internal GSC engine with reserved uabi class
      drm/i915/selftests: Fix engine reset count storage for multi-tile
      drm/i915: Use internal class when counting engine resets

Umesh Nerlige Ramappa (1):
      drm/i915/pmu: Check if pmu is closed before stopping event

Vinay Belgaumkar (1):
      drm/i915: Read a shadowed mmio register for ggtt flush

Zhanjun Dong (1):
      drm/i915: Skip pxp init if gt is wedged

 drivers/gpu/drm/i915/Kconfig.debug                 |  18 ++
 drivers/gpu/drm/i915/display/intel_display_power.c |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  13 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  12 ++
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  21 ++
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |  10 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  14 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   4 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  43 ++++
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  13 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h  |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |  14 ++
 drivers/gpu/drm/i915/gt/intel_context.h            |   4 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   7 +-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   8 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |  39 ++--
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  58 ++++--
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  13 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   9 +
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |  23 ++-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  14 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |  38 +++-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   3 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  26 +++
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   5 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 100 +++++++++-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  16 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   7 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  38 ++--
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |  20 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   5 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  65 ++++--
 drivers/gpu/drm/i915/gt/selftest_reset.c           |  10 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  17 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c       |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  23 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   5 -
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          | 115 +++++++++++
 .../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c    |   2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                | 108 +---------
 drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
 drivers/gpu/drm/i915/i915_drm_client.c             | 108 ++++++++++
 drivers/gpu/drm/i915/i915_drm_client.h             |  42 ++++
 drivers/gpu/drm/i915/i915_gpu_error.c              | 194 +++++++++++++++++-
 drivers/gpu/drm/i915/i915_gpu_error.h              |  44 ++--
 drivers/gpu/drm/i915/i915_perf.c                   |  15 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |  86 ++++----
 drivers/gpu/drm/i915/i915_sysfs.c                  |  79 +-------
 drivers/gpu/drm/i915/intel_memory_region.c         |  19 ++
 drivers/gpu/drm/i915/intel_memory_region.h         |   1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c            | 221 ++-------------------
 drivers/gpu/drm/i915/intel_runtime_pm.h            |  11 +-
 drivers/gpu/drm/i915/intel_wakeref.c               |  35 +++-
 drivers/gpu/drm/i915/intel_wakeref.h               |  73 ++++++-
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |  18 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c           |   5 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |   6 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   1 +
 drivers/gpu/drm/i915/selftests/igt_live_test.c     |   9 +-
 drivers/gpu/drm/i915/selftests/igt_live_test.h     |   3 +-
 include/drm/i915_pciids.h                          |   3 +-
 80 files changed, 1322 insertions(+), 695 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-10-19 14:54 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-10-19 14:54 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here is the final pull request for 6.7.

As indicated that it may happen in the last pull, the remaining
missing functionality for Meteorlake, enabling the GuC based TLB
invalidation, has since been merged and platform thought to be ready for
lifting out of force probe status.

Also for Meteorlake a correction on how L3 flushing is done landed.

Otherwise one fix for perf/OA and one for mmap gtt handling and some code
base cleanups.

Regards,

Tvrtko

drm-intel-gt-next-2023-10-19:
Driver Changes:

Fixes/improvements/new stuff:

- Retry gtt fault when out of fence registers (Ville Syrjälä)
- Determine context valid in OA reports [perf] (Umesh Nerlige Ramappa)

Future platform enablement:

- GuC based TLB invalidation for Meteorlake (Jonathan Cavitt, Prathap Kumar Valsan)
- Don't set PIPE_CONTROL_FLUSH_L3 [mtl] (Vinay Belgaumkar)

Miscellaneous:

- Clean up zero initializers [guc,pxp] (Ville Syrjälä)
- Prevent potential null-ptr-deref in engine_init_common (Nirmoy Das)
The following changes since commit 039adf3947252693f7c882607dac2dc67e7f7ab2:

  drm/i915: More use of GT specific print helpers (2023-10-10 15:40:26 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-10-19

for you to fetch changes up to 7eeaedf79989a8f131939782832e21e9218ed2a0:

  drm/i915/perf: Determine context valid in OA reports (2023-10-18 16:19:56 -0700)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Retry gtt fault when out of fence registers (Ville Syrjälä)
- Determine context valid in OA reports [perf] (Umesh Nerlige Ramappa)

Future platform enablement:

- GuC based TLB invalidation for Meteorlake (Jonathan Cavitt, Prathap Kumar Valsan)
- Don't set PIPE_CONTROL_FLUSH_L3 [mtl] (Vinay Belgaumkar)

Miscellaneous:

- Clean up zero initializers [guc,pxp] (Ville Syrjälä)
- Prevent potential null-ptr-deref in engine_init_common (Nirmoy Das)

----------------------------------------------------------------
Jonathan Cavitt (6):
      drm/i915: Add GuC TLB Invalidation device info flags
      drm/i915/guc: Add CT size delay helper
      drm/i915: No TLB invalidation on suspended GT
      drm/i915: No TLB invalidation on wedged GT
      drm/i915/gt: Increase sleep in gt_tlb selftest sanitycheck
      drm/i915: Enable GuC TLB invalidations for MTL

Nirmoy Das (1):
      drm/i915: Prevent potential null-ptr-deref in engine_init_common

Prathap Kumar Valsan (1):
      drm/i915: Define and use GuC and CTB TLB invalidation routines

Umesh Nerlige Ramappa (1):
      drm/i915/perf: Determine context valid in OA reports

Ville Syrjälä (3):
      drm/i915: Retry gtt fault when out of fence registers
      drm/i915/guc: Clean up zero initializers
      drm/i915/pxp: Clean up zero initializers

Vinay Belgaumkar (1):
      drm/i915/mtl: Don't set PIPE_CONTROL_FLUSH_L3

 drivers/gpu/drm/i915/gem/i915_gem_mman.c          |   1 +
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c          |   7 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c         |   3 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c              |  30 ++-
 drivers/gpu/drm/i915/gt/intel_tlb.c               |  16 +-
 drivers/gpu/drm/i915/gt/selftest_tlb.c            |  11 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h  |  33 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc.h            |  23 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c    |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c         |  38 ++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h         |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h       |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 233 +++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c             |   7 +
 drivers/gpu/drm/i915/i915_drv.h                   |   2 +
 drivers/gpu/drm/i915/i915_pci.c                   |   1 +
 drivers/gpu/drm/i915/i915_perf.c                  |   4 +-
 drivers/gpu/drm/i915/intel_device_info.h          |   1 +
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c        |   8 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c          |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c          |   8 +-
 21 files changed, 407 insertions(+), 30 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-10-12 10:30 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-10-12 10:30 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here is the second pull request for 6.7.

I say second and not final because there is a very small chance we might
be doing another one next week, to bring Meteorlake out of force probe
status, which was quite close this week but apparently not quite there.
At the moment it looks like chances are low, with some last minute
findings putting a spanner in the works so this will likely end up the
final pull request after all.

In terms of content there is not much in this one. Mostly more work on
enabling Meteorlake and some minor fixes here and there.

Regards,

Tvrtko

drm-intel-gt-next-2023-10-12:
Driver Changes:

Fixes/improvements/new stuff:

- Register engines early to avoid type confusion (Mathias Krause)
- Suppress 'ignoring reset notification' message [guc] (John Harrison)
- Update 'recommended' version to 70.12.1 for DG2/ADL-S/ADL-P/MTL [guc] (John Harrison)
- Enable WA 14018913170 [guc, dg2] (Daniele Ceraolo Spurio)

Future platform enablement:

- Clean steer semaphore on resume (Nirmoy Das)
- Skip MCR ops for ring fault register [mtl] (Nirmoy Das)
- Make i915_gem_shrinker multi-gt aware [gem] (Jonathan Cavitt)
- Enable GGTT updates with binder in MTL (Nirmoy Das, Chris Wilson)
- Invalidate the TLBs on each GT (Chris Wilson)

Miscellaneous:

- Clarify type evolution of uabi_node/uabi_engines (Mathias Krause)
- Annotate struct ct_incoming_msg with __counted_by [guc] (Kees Cook)
- More use of GT specific print helpers [gt] (John Harrison)
The following changes since commit 03d681412b38558aefe4fb0f46e36efa94bb21ef:

  drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval (2023-09-28 11:39:30 +0200)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-10-12

for you to fetch changes up to 039adf3947252693f7c882607dac2dc67e7f7ab2:

  drm/i915: More use of GT specific print helpers (2023-10-10 15:40:26 -0700)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Register engines early to avoid type confusion (Mathias Krause)
- Suppress 'ignoring reset notification' message [guc] (John Harrison)
- Update 'recommended' version to 70.12.1 for DG2/ADL-S/ADL-P/MTL [guc] (John Harrison)
- Enable WA 14018913170 [guc, dg2] (Daniele Ceraolo Spurio)

Future platform enablement:

- Clean steer semaphore on resume (Nirmoy Das)
- Skip MCR ops for ring fault register [mtl] (Nirmoy Das)
- Make i915_gem_shrinker multi-gt aware [gem] (Jonathan Cavitt)
- Enable GGTT updates with binder in MTL (Nirmoy Das, Chris Wilson)
- Invalidate the TLBs on each GT (Chris Wilson)

Miscellaneous:

- Clarify type evolution of uabi_node/uabi_engines (Mathias Krause)
- Annotate struct ct_incoming_msg with __counted_by [guc] (Kees Cook)
- More use of GT specific print helpers [gt] (John Harrison)

----------------------------------------------------------------
Chris Wilson (2):
      drm/i915: Lift runtime-pm acquire callbacks out of intel_wakeref.mutex
      drm/i915: Invalidate the TLBs on each GT

Daniele Ceraolo Spurio (1):
      drm/i915/guc: Enable WA 14018913170

John Harrison (4):
      drm/i915/guc: Suppress 'ignoring reset notification' message
      drm/i915/guc: Update 'recommended' version to 70.12.1 for DG2/ADL-S/ADL-P/MTL
      drm/i915/gt: More use of GT specific print helpers
      drm/i915: More use of GT specific print helpers

Jonathan Cavitt (1):
      drm/i915/gem: Make i915_gem_shrinker multi-gt aware

Kees Cook (1):
      drm/i915/guc: Annotate struct ct_incoming_msg with __counted_by

Mathias Krause (2):
      drm/i915: Register engines early to avoid type confusion
      drm/i915: Clarify type evolution of uabi_node/uabi_engines

Nirmoy Das (10):
      drm/i915: Introduce intel_gt_mcr_lock_sanitize()
      drm/i915: Introduce the intel_gt_resume_early()
      drm/i915: Clean steer semaphore on resume
      drm/i915/mtl: Skip MCR ops for ring fault register
      drm/i915: Create a kernel context for GGTT updates
      drm/i915: Implement for_each_sgt_daddr_next
      drm/i915: Parameterize binder context creation
      drm/i915: Implement GGTT update method with MI_UPDATE_GTT
      drm/i915: Toggle binder context ready status
      drm/i915: Enable GGTT updates with binder in MTL

 drivers/gpu/drm/i915/gem/i915_gem_pages.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c      |  42 ++--
 drivers/gpu/drm/i915/gt/intel_engine.h            |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c         |  69 +++++--
 drivers/gpu/drm/i915/gt/intel_engine_types.h      |  13 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c       |  17 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c              | 235 ++++++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gsc.c               |  11 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                |  62 +++++-
 drivers/gpu/drm/i915/gt/intel_gt.h                |   3 +
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c            |  22 ++
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h            |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c             |  20 ++
 drivers/gpu/drm/i915/gt/intel_gt_pm.h             |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_print.h          |   3 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h           |   1 +
 drivers/gpu/drm/i915/gt/intel_gtt.c               |   5 +
 drivers/gpu/drm/i915/gt/intel_gtt.h               |   5 +
 drivers/gpu/drm/i915/gt/intel_reset.c             |  26 +--
 drivers/gpu/drm/i915/gt/intel_workarounds.c       |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c         |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c            |   6 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h            |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c         |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h       |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c          |   8 +-
 drivers/gpu/drm/i915/i915_driver.c                |   9 +-
 drivers/gpu/drm/i915/i915_drv.h                   |  17 +-
 drivers/gpu/drm/i915/i915_gem.c                   |   9 +-
 drivers/gpu/drm/i915/i915_gpu_error.c             |  11 +-
 drivers/gpu/drm/i915/i915_perf.c                  |   8 +-
 drivers/gpu/drm/i915/i915_scatterlist.h           |  10 +
 drivers/gpu/drm/i915/intel_wakeref.c              |  52 ++---
 34 files changed, 576 insertions(+), 129 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-09-28 12:36 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-09-28 12:36 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here goes the first pull request for 6.7.

Nothing major in this round - a bunch of fixes, mostly relating to various
GuC and PXP features/functionalities, and a few new mostly DG2
workarounds.

Tiny bit or Meteorlake enablement and a tiny bit of selftests fixes and
even less code base tidies.

Regards,

Tvrtko

drm-intel-gt-next-2023-09-28:
Driver Changes:

Fixes/improvements/new stuff:

- Fix TLB-Invalidation seqno store [mtl] (Alan Previn)
- Force a reset on internal GuC error [guc] (John Harrison)
- Define GSC fw [gsc] (Daniele Ceraolo Spurio)
- Update workaround 14016712196 [dg2/mtl] (Tejas Upadhyay)
- Mark requests for GuC virtual engines to avoid use-after-free (Andrzej Hajda)
- Add Wa_14015150844 [dg2/mtl] (Shekhar Chauhan)
- Prevent error pointer dereference (Dan Carpenter)
- Add Wa_18022495364 [tgl,adl,rpl] (Dnyaneshwar Bhadane)
- Fix GuC PMU by moving execlist stats initialization to execlist specific setup (Umesh Nerlige Ramappa)
- Fix PXP firmware load [pxp/mtl] (Alan Previn)
- Fix execution/context state of PXP contexts (Alan Previn)
- Limit the length of an sg list to the requested length (Matthew Wilcox)
- Fix reservation address in ggtt_reserve_guc_top [guc] (Javier Pello)
- Add Wa_18028616096 [dg2] (Shekhar Chauhan)
- Get runtime pm in busyness worker only if already active [guc/pmu] (Umesh Nerlige Ramappa)
- Don't set PIPE_CONTROL_FLUSH_L3 for aux inval (Nirmoy Das)

Future platform enablement:

- Fix and consolidate some workaround checks, make others IP version based [mtl] (Matt Roper)
- Replace Meteorlake subplatforms with IP version checks (Matt Roper)
- Adding DeviceID for Arrowlake-S under MTL [mtl] (Nemesa Garg)
- Run relevant bits of debugfs drop_caches per GT (Tvrtko Ursulin)

Miscellaneous:

- Remove Wa_15010599737 [dg2] (Shekhar Chauhan)
- Align igt_spinner_create_request with hangcheck [selftests] (Jonathan Cavitt)
- Remove pre-production workarounds [dg2] (Matt Roper)
- Tidy some workaround definitions (Matt Roper)
- Wait longer for tasks in migrate selftest [gt] (Jonathan Cavitt)
- Skip WA verification for GEN7_MISCCPCTL on DG2 [gt] (Andrzej Hajda)
- Silence injected failure in the load via GSC path [huc] (Daniele Ceraolo Spurio)
- Refactor deprecated strncpy (Justin Stitt)
- Update RC6 mask for mtl_drpc [debugfs/mtl] (Badal Nilawar)
- Remove a static inline that requires including i915_drv.h [gt] (Jani Nikula)
- Remove inlines from i915_gem_execbuffer.c [gem] (Jani Nikula)
- Remove gtt_offset from stream->oa_buffer.head/.tail [perf] (Ashutosh Dixit)
- Do not disable preemption for resets (Tvrtko Ursulin)
The following changes since commit 788568fad4015406fa84fc86cefbef7c470c7c1f:

  drm/i915/guc: Fix potential null pointer deref in GuC 'steal id' test (2023-08-10 16:02:01 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-09-28

for you to fetch changes up to 03d681412b38558aefe4fb0f46e36efa94bb21ef:

  drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval (2023-09-28 11:39:30 +0200)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Fix TLB-Invalidation seqno store [mtl] (Alan Previn)
- Force a reset on internal GuC error [guc] (John Harrison)
- Define GSC fw [gsc] (Daniele Ceraolo Spurio)
- Update workaround 14016712196 [dg2/mtl] (Tejas Upadhyay)
- Mark requests for GuC virtual engines to avoid use-after-free (Andrzej Hajda)
- Add Wa_14015150844 [dg2/mtl] (Shekhar Chauhan)
- Prevent error pointer dereference (Dan Carpenter)
- Add Wa_18022495364 [tgl,adl,rpl] (Dnyaneshwar Bhadane)
- Fix GuC PMU by moving execlist stats initialization to execlist specific setup (Umesh Nerlige Ramappa)
- Fix PXP firmware load [pxp/mtl] (Alan Previn)
- Fix execution/context state of PXP contexts (Alan Previn)
- Limit the length of an sg list to the requested length (Matthew Wilcox)
- Fix reservation address in ggtt_reserve_guc_top [guc] (Javier Pello)
- Add Wa_18028616096 [dg2] (Shekhar Chauhan)
- Get runtime pm in busyness worker only if already active [guc/pmu] (Umesh Nerlige Ramappa)
- Don't set PIPE_CONTROL_FLUSH_L3 for aux inval (Nirmoy Das)

Future platform enablement:

- Fix and consolidate some workaround checks, make others IP version based [mtl] (Matt Roper)
- Replace Meteorlake subplatforms with IP version checks (Matt Roper)
- Adding DeviceID for Arrowlake-S under MTL [mtl] (Nemesa Garg)
- Run relevant bits of debugfs drop_caches per GT (Tvrtko Ursulin)

Miscellaneous:

- Remove Wa_15010599737 [dg2] (Shekhar Chauhan)
- Align igt_spinner_create_request with hangcheck [selftests] (Jonathan Cavitt)
- Remove pre-production workarounds [dg2] (Matt Roper)
- Tidy some workaround definitions (Matt Roper)
- Wait longer for tasks in migrate selftest [gt] (Jonathan Cavitt)
- Skip WA verification for GEN7_MISCCPCTL on DG2 [gt] (Andrzej Hajda)
- Silence injected failure in the load via GSC path [huc] (Daniele Ceraolo Spurio)
- Refactor deprecated strncpy (Justin Stitt)
- Update RC6 mask for mtl_drpc [debugfs/mtl] (Badal Nilawar)
- Remove a static inline that requires including i915_drv.h [gt] (Jani Nikula)
- Remove inlines from i915_gem_execbuffer.c [gem] (Jani Nikula)
- Remove gtt_offset from stream->oa_buffer.head/.tail [perf] (Ashutosh Dixit)
- Do not disable preemption for resets (Tvrtko Ursulin)

----------------------------------------------------------------
Alan Previn (4):
      drm/i915: Fix TLB-Invalidation seqno store
      drm/i915/pxp/mtl: Update pxp-firmware response timeout
      drm/i915/pxp/mtl: Update pxp-firmware packet size
      drm/i915/lrc: User PXP contexts requires runalone bit in lrc

Andrzej Hajda (2):
      drm/i915: mark requests for GuC virtual engines to avoid use-after-free
      drm/i915/gt: skip WA verification for GEN7_MISCCPCTL on DG2

Ashutosh Dixit (1):
      drm/i915/perf: Remove gtt_offset from stream->oa_buffer.head/.tail

Badal Nilawar (1):
      drm/i915/gt: Update RC6 mask for mtl_drpc

Dan Carpenter (1):
      drm/i915/gt: Prevent error pointer dereference

Daniele Ceraolo Spurio (2):
      drm/i915/gsc: define gsc fw
      drm/i915/huc: silence injected failure in the load via GSC path

Dnyaneshwar Bhadane (1):
      drm/i915: Add Wa_18022495364

Jani Nikula (2):
      drm/i915/gt: remove a static inline that requires including i915_drv.h
      drm/i915/gem: remove inlines from i915_gem_execbuffer.c

Javier Pello (1):
      drm/i915/gt: Fix reservation address in ggtt_reserve_guc_top

John Harrison (1):
      drm/i915/guc: Force a reset on internal GuC error

Jonathan Cavitt (2):
      drm/i915/selftests: Align igt_spinner_create_request with hangcheck
      drm/i915/gt: Wait longer for tasks in migrate selftest

Justin Stitt (1):
      drm/i915: refactor deprecated strncpy

Matt Roper (11):
      drm/i915/dg2: Drop pre-production GT workarounds
      drm/i915: Tidy workaround definitions
      drm/i915/dg2: Drop Wa_16011777198
      drm/i915: Consolidate condition for Wa_22011802037
      drm/i915/xelpmp: Don't assume workarounds extend to future platforms
      drm/i915/xelpg: Call Xe_LPG workaround functions based on IP version
      drm/i915: Eliminate IS_MTL_GRAPHICS_STEP
      drm/i915: Eliminate IS_MTL_MEDIA_STEP
      drm/i915/mtl: Eliminate subplatforms
      drm/i915: Replace several IS_METEORLAKE with proper IP version checks
      drm/i915/mtl: Drop Wa_14017240301

Matthew Wilcox (Oracle) (1):
      i915: Limit the length of an sg list to the requested length

Nemesa Garg (1):
      drm/i915/mtl: Adding DeviceID for Arrowlake-S under MTL

Nirmoy Das (1):
      drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval

Shekhar Chauhan (3):
      drm/i915/dg2: Remove Wa_15010599737
      drm/i915: Add Wa_14015150844
      drm/i915: Add Wa_18028616096

Tejas Upadhyay (1):
      drm/i915/mtl: Update workaround 14016712196

Tvrtko Ursulin (2):
      drm/i915: Run relevant bits of debugfs drop_caches per GT
      drm/i915: Do not disable preemption for resets

Umesh Nerlige Ramappa (2):
      i915/pmu: Move execlist stats initialization to execlist specific setup
      i915/guc: Get runtime pm in busyness worker only if already active

 drivers/gpu/drm/i915/display/skl_universal_plane.c |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  20 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  11 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  21 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   5 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   1 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  23 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   5 +
 drivers/gpu/drm/i915/gt/intel_gt.h                 |  69 +++-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |   6 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   1 -
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  10 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  79 ++--
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  23 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   9 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  34 +-
 drivers/gpu/drm/i915/gt/intel_reset.h              |   2 +
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 407 ++++++---------------
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |   2 +-
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.c  |  20 +-
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h  |   6 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  64 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  15 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  63 ----
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   2 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  47 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  32 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  12 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  31 --
 drivers/gpu/drm/i915/i915_perf.c                   | 110 ++----
 drivers/gpu/drm/i915/i915_perf_types.h             |   6 -
 drivers/gpu/drm/i915/i915_request.c                |   7 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   2 +-
 drivers/gpu/drm/i915/intel_clock_gating.c          |   8 -
 drivers/gpu/drm/i915/intel_device_info.c           |  14 -
 drivers/gpu/drm/i915/intel_device_info.h           |   4 -
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h  |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c         |   2 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h         |  10 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |   6 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |   3 +
 include/drm/i915_pciids.h                          |  12 +-
 49 files changed, 529 insertions(+), 708 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-08-11 10:47 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-08-11 10:47 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here's the final drm-intel-gt-next PR for v6.6. Not too many patches
as the previous PR was later than usual.

Just one more workaround fix for MTL, some object coherency
refactoring and selftest fix.

Note that there is a backmerge of drm-next[1], too.

Regards, Joonas

[1] As prep for https://patchwork.freedesktop.org/series/121735/ but the
series started failing CI after rebasing and continues to be investigated
so not landing here yet.

***

drm-intel-gt-next-2023-08-11:

Cross-subsystem Changes:

- Backmerge of drm-next

Driver Changes:

- Apply workaround 22016122933 correctly (Jonathan, Matt R)

- Simplify shmem_create_from_object map_type selection (Jonathan,
  Tvrtko)
- Make i915_coherent_map_type GT-centric (Jonathan, Matt R)

- Selftest improvements (John)

The following changes since commit d9aa1da9a8cfb0387eb5703c15bd1f54421460ac:

  Merge tag 'drm-intel-gt-next-2023-08-04' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-08-07 13:49:25 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-08-11

for you to fetch changes up to 788568fad4015406fa84fc86cefbef7c470c7c1f:

  drm/i915/guc: Fix potential null pointer deref in GuC 'steal id' test (2023-08-10 16:02:01 -0700)

----------------------------------------------------------------
Cross-subsystem Changes:

- Backmerge of drm-next

Driver Changes:

- Apply workaround 22016122933 correctly (Jonathan, Matt R)

- Simplify shmem_create_from_object map_type selection (Jonathan,
  Tvrtko)
- Make i915_coherent_map_type GT-centric (Jonathan, Matt R)

- Selftest improvements (John)

----------------------------------------------------------------
John Harrison (1):
      drm/i915/guc: Fix potential null pointer deref in GuC 'steal id' test

Jonathan Cavitt (3):
      drm/i915/gt: Simplify shmem_create_from_object map_type selection
      drm/i915: Make i915_coherent_map_type GT-centric
      drm/i915/gt: Apply workaround 22016122933 correctly

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

 drivers/gpu/drm/i915/display/intel_hdcp_gsc.c         |  3 ++-
 drivers/gpu/drm/i915/gem/i915_gem_object.h            |  4 ----
 drivers/gpu/drm/i915/gem/i915_gem_pages.c             | 15 ---------------
 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c | 12 ++++++------
 drivers/gpu/drm/i915/gt/intel_engine_pm.c             |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                    | 16 ++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gt.h                    | 10 ++++++++++
 drivers/gpu/drm/i915/gt/intel_gtt.c                   |  4 ++--
 drivers/gpu/drm/i915/gt/intel_lrc.c                   | 13 +++++++------
 drivers/gpu/drm/i915/gt/intel_ring.c                  |  3 ++-
 drivers/gpu/drm/i915/gt/selftest_context.c            |  5 +++--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c          |  4 ++--
 drivers/gpu/drm/i915/gt/selftest_lrc.c                |  6 +++---
 drivers/gpu/drm/i915/gt/shmem_utils.c                 |  3 +--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c             |  7 +------
 drivers/gpu/drm/i915/gt/uc/intel_guc.c                | 11 ++++++-----
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c             |  4 ----
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c             |  3 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c              |  3 ++-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c             |  6 +++---
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c            |  3 ++-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c              |  5 ++++-
 drivers/gpu/drm/i915/selftests/igt_spinner.c          |  2 +-
 23 files changed, 75 insertions(+), 69 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-08-04  8:45 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-08-04  8:45 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes the first drm-intel-gt-next PR for v6.6.

We have a fix for infinite GPU wait race condition found by CI,
then improved tweakability of RPS algo and fixes to GuC SLPC for
tuning the frequency behavior of the system.

OA report zeroing fix, Aux CCS invalidation fix on Gen12 and
addition of missing W/A for TGL, RKL, DG1, DG2 and ADL.

Then some Meteorlake enabling patches and the usual amount of debugging
and code structure improvements, static checker fixes and fixes for
potential UAF and error handling paths.

Regards, Joonas

PS. Hoping to backmerge drm-next early next week to bring in some
drm-intel-gt-next dependencies before the final PR.

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

Driver Changes:

- Avoid infinite GPU waits by avoiding premature release of request's
  reusable memory (Chris, Janusz)
- Expose RPS thresholds in sysfs (Tvrtko)
- Apply GuC SLPC min frequency softlimit correctly (Vinay)
- Restore SLPC efficient freq earlier (Vinay)
- Consider OA buffer boundary when zeroing out reports (Umesh)
- Extend Wa_14015795083 to TGL, RKL, DG1 and ADL (Matt R)
- Fix context workarounds with non-masked regs on MTL/DG2 (Lucas)
- Enable the CCS_FLUSH bit in the pipe control and in the CS for MTL+ (Andi)
- Update MTL workarounds 14018778641, 22016122933 (Tejas, Zhanjun)
- Ensure memory quiesced before AUX CCS invalidation (Jonathan)

- Add a gsc_info debugfs (Daniele)
- Invalidate the TLBs on each GT on multi-GT device (Chris)
- Fix a VMA UAF for multi-gt platform (Nirmoy)
- Do not use stolen on MTL due to HW bug (Nirmoy)
- Check HuC and GuC version compatibility on MTL (Daniele)
- Dump perf_limit_reasons for slow GuC init debug (Vinay)
- Replace kmap() with kmap_local_page() (Sumitra, Ira)
- Add sentinel to xehp_oa_b_counters for KASAN (Andrzej)
- Add the gen12_needs_ccs_aux_inv helper (Andi)
- Fixes and updates for GSC memory allocation (Daniele)
- Fix one wrong caching mode enum usage (Tvrtko)
- Fixes for GSC wakeref (Alan)

- Static checker fixes (Harshit, Arnd, Dan, Cristophe, David, Andi)
- Rename flags with bit_group_X according to the datasheet (Andi)
- Use direct alias for i915 in requests (Andrzej)
- Replace i915->gt0 with to_gt(i915) (Andi)
- Use the i915_vma_flush_writes helper (Tvrtko)
- Selftest improvements (Alan)
- Remove dead code (Tvrtko)

The following changes since commit 24335848e543dc95c9e2ffa0108d879ffefd0442:

  drm/i915/gsc: Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv() (2023-06-08 02:11:04 +0200)

are available in the Git repository at:

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

for you to fetch changes up to 28e671114fb0f28f334fac8d0a6b9c395c7b0498:

  drm/i915/guc/slpc: Restore efficient freq earlier (2023-08-02 11:08:02 -0700)

----------------------------------------------------------------
Driver Changes:

- Avoid infinite GPU waits by avoidin premature release of request's
  reusable memory (Chris, Janusz)
- Expose RPS thresholds in sysfs (Tvrtko)
- Apply GuC SLPC min frequency softlimit correctly (Vinay)
- Restore SLPC efficient freq earlier (Vinay)
- Consider OA buffer boundary when zeroing out reports (Umesh)
- Extend Wa_14015795083 to TGL, RKL, DG1 and ADL (Matt R)
- Fix context workarounds with non-masked regs on MTL/DG2 (Lucas)
- Enable the CCS_FLUSH bit in the pipe control and in the CS for MTL+ (Andi)
- Update MTL workarounds 14018778641, 22016122933 (Tejas, Zhanjun)
- Ensure memory quiesced before AUX CCS invalidation (Jonathan)

- Add a gsc_info debugfs (Daniele)
- Invalidate the TLBs on each GT on multi-GT device (Chris)
- Fix a VMA UAF for multi-gt platform (Nirmoy)
- Do not use stolen on MTL due to HW bug (Nirmoy)
- Check HuC and GuC version compatibility on MTL (Daniele)
- Dump perf_limit_reasons for slow GuC init debug (Vinay)
- Replace kmap() with kmap_local_page() (Sumitra, Ira)
- Add sentinel to xehp_oa_b_counters for KASAN (Andrzej)
- Add the gen12_needs_ccs_aux_inv helper (Andi)
- Fixes and updates for GSC memory allocation (Daniele)
- Fix one wrong caching mode enum usage (Tvrtko)
- Fixes for GSC wakeref (Alan)

- Static checker fixes (Harshit, Arnd, Dan, Cristophe, David, Andi)
- Rename flags with bit_group_X according to the datasheet (Andi)
- Use direct alias for i915 in requests (Andrzej)
- Replace i915->gt0 with to_gt(i915) (Andi)
- Use the i915_vma_flush_writes helper (Tvrtko)
- Selftest improvements (Alan)
- Remove dead code (Tvrtko)

----------------------------------------------------------------
Alan Previn (3):
      drm/i915/gsc: take a wakeref for the proxy-init-completion check
      drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
      drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests

Andi Shyti (8):
      drm/i915: Replace i915->gt0 with to_gt(i915)
      drm/i915/gt: Cleanup aux invalidation registers
      drm/i915: Add the gen12_needs_ccs_aux_inv helper
      drm/i915/gt: Rename flags with bit_group_X according to the datasheet
      drm/i915/gt: Enable the CCS_FLUSH bit in the pipe control and in the CS
      drm/i915/gt: Support aux invalidation on all engines
      i915/drm/gt: Move the gt defines in the gt directory
      drm/i915: Remove unnecessary include

Andrzej Hajda (2):
      drm/i915/perf: add sentinel to xehp_oa_b_counters
      drm/i915: use direct alias for i915 in requests

Arnd Bergmann (1):
      drm/i915: make i915_drm_client_fdinfo() reference conditional again

Chris Wilson (2):
      drm/i915/gt: Move TLB invalidation to its own file
      drm/i915: Invalidate the TLBs on each GT

Christophe JAILLET (1):
      drm/i915: Fix an error handling path in igt_write_huge()

Dan Carpenter (1):
      drm/i915: Fix a NULL vs IS_ERR() bug

Daniele Ceraolo Spurio (5):
      drm/i915/gsc: fixes and updates for GSC memory allocation
      drm/i915/mtl/gsc: extract release and security versions from the gsc binary
      drm/i915/mtl/gsc: query the GSC FW for its compatibility version
      drm/i915/mtl/gsc: Add a gsc_info debugfs
      drm/i915/huc: check HuC and GuC version compatibility on MTL

David Reaver (1):
      drm/i915/huc: fix intel_huc.c doc bulleted list format error

Harshit Mogalapalli (1):
      drm/i915/huc: Fix missing error code in intel_huc_init()

Janusz Krzysztofik (1):
      drm/i915: Fix premature release of request's reusable memory

Jonathan Cavitt (2):
      drm/i915/gt: Ensure memory quiesced before invalidation
      drm/i915/gt: Poll aux invalidation register bit on invalidation

Lucas De Marchi (7):
      drm/i915/gt: Move wal_get_fw_for_rmw()
      drm/i915/gt: Clear all bits from GEN12_FF_MODE2
      drm/i915/gt: Fix context workarounds with non-masked regs
      drm/i915/gt: Drop read from GEN8_L3CNTLREG in ICL workaround
      drm/i915/gt: Enable read back on XEHP_FF_MODE2
      drm/i915/gt: Remove bogus comment on IVB_FBC_RT_BASE_UPPER
      drm/i915/gt: Also check set bits in clr_set()

Matt Roper (1):
      drm/i915: Extend Wa_14015795083 platforms

Nirmoy Das (2):
      drm/i915: Fix a VMA UAF for multi-gt platform
      drm/i915/gt: Do not use stolen on MTL

Sumitra Sharma (1):
      drm/i915: Replace kmap() with kmap_local_page()

Tejas Upadhyay (1):
      drm/i915/mtl: Update workaround 14018778641

Tvrtko Ursulin (8):
      drm/i915: Remove some dead "code"
      drm/i915: Remove dead code from gen8_pte_encode
      drm/i915: Fix one wrong caching mode enum usage
      drm/i915: Move setting of rps thresholds to init
      drm/i915: Record default rps threshold values
      drm/i915: Add helpers for managing rps thresholds
      drm/i915: Expose RPS thresholds in sysfs
      drm/i915: Use the i915_vma_flush_writes helper

Umesh Nerlige Ramappa (1):
      drm/i915/perf: Consider OA buffer boundary when zeroing out reports

Vinay Belgaumkar (3):
      drm/i915/guc/slpc: Apply min softlimit correctly
      drm/i915/guc: Dump perf_limit_reasons for debug
      drm/i915/guc/slpc: Restore efficient freq earlier

Zhanjun Dong (1):
      drm/i915/mtl: Update cache coherency setting for context structure

 drivers/gpu/drm/i915/Makefile                      |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  25 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   2 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   6 +-
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           | 152 +++++----
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  21 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   3 -
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   1 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   2 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 | 144 +--------
 drivers/gpu/drm/i915/gt/intel_gt.h                 |  12 -
 drivers/gpu/drm/i915/gt/intel_gt_defines.h         |  11 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  16 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        | 108 +++++++
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   3 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  26 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  10 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   4 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   3 -
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  83 ++++-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   4 +
 drivers/gpu/drm/i915/gt/intel_tlb.c                | 159 ++++++++++
 drivers/gpu/drm/i915/gt/intel_tlb.h                |  29 ++
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 148 ++++-----
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   2 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   4 +-
 drivers/gpu/drm/i915/gt/selftest_tlb.c             |   3 +-
 .../gpu/drm/i915/gt/uc/intel_gsc_binary_headers.h  |  75 ++++-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          | 340 ++++++++++++++++++---
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h          |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          | 139 ++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h          |  21 ++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.c  |  39 +++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.h  |  14 +
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h  |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  24 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   9 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c      |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 126 ++++++--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   4 +
 drivers/gpu/drm/i915/gvt/scheduler.c               |   2 +-
 drivers/gpu/drm/i915/i915_active.c                 |  99 ++++--
 drivers/gpu/drm/i915/i915_driver.c                 |   2 +-
 drivers/gpu/drm/i915/i915_drm_client.h             |   2 -
 drivers/gpu/drm/i915/i915_drv.h                    |   1 -
 drivers/gpu/drm/i915/i915_gpu_error.c              |   4 +-
 drivers/gpu/drm/i915/i915_perf.c                   |  14 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  26 +-
 drivers/gpu/drm/i915/i915_request.c                |  13 +-
 drivers/gpu/drm/i915/i915_trace.h                  |  10 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  15 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |   8 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c         |   2 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |   2 +-
 drivers/gpu/drm/i915/selftests/i915_selftest.c     |  31 ++
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |  14 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   2 +-
 70 files changed, 1553 insertions(+), 542 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_defines.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_tlb.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_tlb.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-06-08 15:34 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-06-08 15:34 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Maxime Ripard,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here goes the final pull request for 6.5.

A few improvements to robustness of dealing with GuC communication issues,
compute applications, small BAR systems perf/OA monitoring.

Then a little bit more of Meteorlake enablement which this time round
includes the HuC loading code, another workaround, and UAPI for letting Mesa
set the PAT index when creating buffer objects.

And a bunch of small cleanups for different kconfig options, compilers, or
failures in error handling in selftests for hyphotetical scenarios. Some code
base cleanups here and there too.

Regards,

Tvrtko

drm-intel-gt-next-2023-06-08:
UAPI Changes:

- I915_GEM_CREATE_EXT_SET_PAT for Mesa on Meteorlake.

Driver Changes:

Fixes/improvements/new stuff:

- Use large rings for compute contexts (Chris Wilson)
- Better logging/debug of unexpected GuC communication issues (Michal Wajdeczko)
- Clear out entire reports after reading if not power of 2 size (Ashutosh Dixit)
- Limit lmem allocation size to succeed on SmallBars (Andrzej Hajda)
- perf/OA capture robustness improvements on DG2 (Umesh Nerlige Ramappa)
- Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv() (Dan Carpenter)

Future platform enablement:

- Add workaround 14016712196 (Tejas Upadhyay)
- HuC loading for MTL (Daniele Ceraolo Spurio)
- Allow user to set cache at BO creation (Fei Yang)

Miscellaneous:

- Use system include style for drm headers (Jani Nikula)
- Drop legacy CTB definitions (Michal Wajdeczko)
- Turn off the timer to sample frequencies when GT is parked (Ashutosh Dixit)
- Make PMU sample array two-dimensional (Ashutosh Dixit)
- Use the correct error value when kernel_context() fails (Andi Shyti)
- Fix second parameter type of pre-gen8 pte_encode callbacks (Nathan Chancellor)
- Fix parameter in gmch_ggtt_insert_{entries, page}() (Nathan Chancellor)
- Fix size_t format specifier in gsccs_send_message() (Nathan Chancellor)
- Use the fdinfo helper (Tvrtko Ursulin)
- Add some missing error propagation (Tvrtko Ursulin)
- Reduce I915_MAX_GT to 2 (Matt Atwood)
- Rename I915_PMU_MAX_GTS to I915_PMU_MAX_GT (Matt Atwood)
- Remove some obsolete definitions (John Harrison)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Tvrtko Ursulin)
The following changes since commit 2e1492835e439fceba57a5b0f9b17da8e78ffa3d:

  Merge tag 'drm-misc-next-2023-06-01' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-06-02 13:39:00 +1000)

are available in the Git repository at:

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

for you to fetch changes up to 24335848e543dc95c9e2ffa0108d879ffefd0442:

  drm/i915/gsc: Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv() (2023-06-08 02:11:04 +0200)

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

- I915_GEM_CREATE_EXT_SET_PAT for Mesa on Meteorlake.

Driver Changes:

Fixes/improvements/new stuff:

- Use large rings for compute contexts (Chris Wilson)
- Better logging/debug of unexpected GuC communication issues (Michal Wajdeczko)
- Clear out entire reports after reading if not power of 2 size (Ashutosh Dixit)
- Limit lmem allocation size to succeed on SmallBars (Andrzej Hajda)
- perf/OA capture robustness improvements on DG2 (Umesh Nerlige Ramappa)
- Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv() (Dan Carpenter)

Future platform enablement:

- Add workaround 14016712196 (Tejas Upadhyay)
- HuC loading for MTL (Daniele Ceraolo Spurio)
- Allow user to set cache at BO creation (Fei Yang)

Miscellaneous:

- Use system include style for drm headers (Jani Nikula)
- Drop legacy CTB definitions (Michal Wajdeczko)
- Turn off the timer to sample frequencies when GT is parked (Ashutosh Dixit)
- Make PMU sample array two-dimensional (Ashutosh Dixit)
- Use the correct error value when kernel_context() fails (Andi Shyti)
- Fix second parameter type of pre-gen8 pte_encode callbacks (Nathan Chancellor)
- Fix parameter in gmch_ggtt_insert_{entries, page}() (Nathan Chancellor)
- Fix size_t format specifier in gsccs_send_message() (Nathan Chancellor)
- Use the fdinfo helper (Tvrtko Ursulin)
- Add some missing error propagation (Tvrtko Ursulin)
- Reduce I915_MAX_GT to 2 (Matt Atwood)
- Rename I915_PMU_MAX_GTS to I915_PMU_MAX_GT (Matt Atwood)
- Remove some obsolete definitions (John Harrison)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Tvrtko Ursulin)

----------------------------------------------------------------
Andi Shyti (1):
      drm/i915/gt: Use the correct error value when kernel_context() fails

Andrzej Hajda (1):
      drm/i915/gt: limit lmem allocation size to succeed on SmallBars

Ashutosh Dixit (3):
      drm/i915/perf: Clear out entire reports after reading if not power of 2 size
      drm/i915/pmu: Turn off the timer to sample frequencies when GT is parked
      drm/i915/pmu: Make PMU sample array two-dimensional

Chris Wilson (1):
      drm/i915/gem: Use large rings for compute contexts

Dan Carpenter (1):
      drm/i915/gsc: Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv()

Daniele Ceraolo Spurio (7):
      drm/i915/uc: perma-pin firmwares
      drm/i915/huc: Parse the GSC-enabled HuC binary
      drm/i915/huc: Load GSC-enabled HuC via DMA xfer if the fuse says so
      drm/i915/huc: differentiate the 2 steps of the MTL HuC auth flow
      drm/i915/mtl/huc: auth HuC via GSC
      drm/i915/mtl/huc: Use the media gt for the HuC getparam
      drm/i915/huc: define HuC FW version for MTL

Fei Yang (1):
      drm/i915: Allow user to set cache at BO creation

Jani Nikula (1):
      drm/i915/gsc: use system include style for drm headers

John Harrison (1):
      drm/i915/guc: Remove some obsolete definitions

Matt Atwood (2):
      drm/i915: Reduce I915_MAX_GT to 2
      drm/i915: rename I915_PMU_MAX_GTS to I915_PMU_MAX_GT

Michal Wajdeczko (4):
      drm/i915/guc: Use FAST_REQUEST for non-blocking H2G calls
      drm/i915/guc: Update log for unsolicited CTB response
      drm/i915/guc: Track all sent actions to GuC
      drm/i915/guc: Drop legacy CTB definitions

Nathan Chancellor (3):
      drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
      drm/i915/gt: Fix parameter in gmch_ggtt_insert_{entries, page}()
      drm/i915/pxp: Fix size_t format specifier in gsccs_send_message()

Tejas Upadhyay (1):
      drm/i915/gt: Add workaround 14016712196

Tvrtko Ursulin (3):
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915: Use the fdinfo helper
      drm/i915/selftests: Add some missing error propagation

Umesh Nerlige Ramappa (2):
      i915/perf: Drop the aging_tail logic in perf OA
      i915/perf: Do not add ggtt offset to hw_tail

 drivers/gpu/drm/i915/Kconfig.debug                 |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |  40 ++++
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   6 +
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  14 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  38 ++++
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  29 +--
 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c          |   8 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  12 +-
 drivers/gpu/drm/i915/gt/selftest_tlb.c             |  11 +-
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |  21 --
 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |  30 +++
 .../gpu/drm/i915/gt/uc/intel_gsc_binary_headers.h  |  74 +++++++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c       |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          |  34 ++-
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.c  |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  81 ++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |  11 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  33 ---
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             | 224 ++++++++++++++------
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |  26 ++-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          | 235 ++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h          |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_print.h       |  21 ++
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 133 +++++++-----
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  26 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |   6 -
 drivers/gpu/drm/i915/i915_driver.c                 |   6 +-
 drivers/gpu/drm/i915/i915_drm_client.c             |  65 +-----
 drivers/gpu/drm/i915/i915_drm_client.h             |  22 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   4 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   6 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   6 +-
 drivers/gpu/drm/i915/i915_perf.c                   | 121 +++++------
 drivers/gpu/drm/i915/i915_perf_types.h             |  12 --
 drivers/gpu/drm/i915/i915_pmu.c                    |  34 +--
 drivers/gpu/drm/i915/i915_pmu.h                    |   8 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   3 +
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h  |  17 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c         |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |   2 +-
 include/uapi/drm/i915_drm.h                        |  44 +++-
 45 files changed, 1058 insertions(+), 444 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_binary_headers.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_huc_print.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-05-24 18:09 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-05-24 18:09 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here goes the first pull request for 6.5.

In terms of headline features probably the fact GuC platforms can now show per
client engine utilisation sticks out the most.

Then there is a bunch of fixes where those in the area of GuC error capture,
SLPS and firmware loading dominate the picture.

Meteorlake platform enablement continues full steam ahead with workarounds,
multi-tile refactoring, PMU support, PXP support, and prep work for sunsetting
the set caching ioctl to be replaced with direct PAT index programming from
userspace probably in the next pull request.

Finally there is smaller than usual amount of driver cleanups and refactorings
and a spinkle of selftest fixups and such.

Btw the next and final pull request for 6.5 I aim to send two weeks from now.

Regards,

Tvrtko

drm-intel-gt-next-2023-05-24:
UAPI Changes:

- New getparam for querying PXP support and load status

Cross-subsystem Changes:

- GSC/MEI proxy driver

Driver Changes:

Fixes/improvements/new stuff:

- Avoid clearing pre-allocated framebuffers with the TTM backend (Nirmoy Das)
- Implement framebuffer mmap support (Nirmoy Das)
- Disable sampler indirect state in bindless heap (Lionel Landwerlin)
- Avoid out-of-bounds access when loading HuC (Lucas De Marchi)
- Actually return an error if GuC version range check fails (John Harrison)
- Get mutex and rpm ref just once in hwm_power_max_write (Ashutosh Dixit)
- Disable PL1 power limit when loading GuC firmware (Ashutosh Dixit)
- Block in hwmon while waiting for GuC reset to complete (Ashutosh Dixit)
- Provide sysfs for SLPC efficient freq (Vinay Belgaumkar)
- Add support for total context runtime for GuC back-end (Umesh Nerlige Ramappa)
- Enable fdinfo for GuC backends (Umesh Nerlige Ramappa)
- Don't capture Gen8 regs on Xe devices (John Harrison)
- Fix error capture for virtual engines (John Harrison)
- Track patch level versions on reduced version firmware files (John Harrison)
- Decode another GuC load failure case (John Harrison)
- GuC loading and firmware table handling fixes (John Harrison)
- Fix confused register capture list creation (John Harrison)
- Dump error capture to kernel log (John Harrison)
- Dump error capture to dmesg on CTB error (John Harrison)
- Disable rps_boost debugfs when SLPC is used (Vinay Belgaumkar)

Future platform enablement:

- Disable stolen memory backed FB for A0 [mtl] (Nirmoy Das)
- Various refactors for multi-tile enablement (Andi Shyti, Tejas Upadhyay)
- Extend Wa_22011802037 to MTL A-step (Madhumitha Tolakanahalli Pradeep)
- WA to clear RDOP clock gating [mtl] (Haridhar Kalvala)
- Set has_llc=0 [mtl] (Fei Yang)
- Define MOCS and PAT tables for MTL (Madhumitha Tolakanahalli Pradeep)
- Add PTE encode function [mtl] (Fei Yang)
- fix mocs selftest [mtl] (Fei Yang)
- Workaround coherency issue for Media [mtl] (Fei Yang)
- Add workaround 14018778641 [mtl] (Tejas Upadhyay)
- Implement Wa_14019141245 [mtl] (Radhakrishna Sripada)
- Fix the wa number for Wa_22016670082 [mtl] (Radhakrishna Sripada)
- Use correct huge page manager for MTL (Jonathan Cavitt)
- GSC/MEI support for Meteorlake (Alexander Usyskin, Daniele Ceraolo Spurio)
- Define GuC firmware version for MTL (John Harrison)
- Drop FLAT CCS check [mtl] (Pallavi Mishra)
- Add MTL for remapping CCS FBs [mtl] (Clint Taylor)
- Meteorlake PXP enablement (Alan Previn)
- Do not enable render power-gating on MTL (Andrzej Hajda)
- Add MTL performance tuning changes (Radhakrishna Sripada)
- Extend Wa_16014892111 to MTL A-step (Radhakrishna Sripada)
- PMU multi-tile support (Tvrtko Ursulin)
- End support for set caching ioctl [mtl] (Fei Yang)

Driver refactors:

- Use i915 instead of dev_priv insied the file_priv structure (Andi Shyti)
- Use proper parameter naming in for_each_engine() (Andi Shyti)
- Use gt_err for GT info (Tejas Upadhyay)
- Consolidate duplicated capture list code (John Harrison)
- Capture list naming clean up (John Harrison)
- Use kernel-doc -Werror when CONFIG_DRM_I915_WERROR=y (Jani Nikula)
- Preparation for using PAT index (Fei Yang)
- Use pat_index instead of cache_level (Fei Yang)

Miscellaneous:

- Fix memory leaks in i915 selftests (Cong Liu)
- Record GT error for gt failure (Tejas Upadhyay)
- Migrate platform-dependent mock hugepage selftests to live (Jonathan Cavitt)
- Update the SLPC selftest (Vinay Belgaumkar)
- Throw out set() wrapper (Jani Nikula)
- Large driver kernel doc cleanup (Jani Nikula)
- Fix probe injection CI failures after recent change (John Harrison)
- Make unexpected firmware versions an error in debug builds (John Harrison)
- Silence UBSAN uninitialized bool variable warning (Ashutosh Dixit)
- Fix memory leaks in function live_nop_switch (Cong Liu)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Joonas Lahtinen)
The following changes since commit 55bf14961db9da61220e6f04bc9919c94b1a6585:

  Merge tag 'mediatek-drm-next-6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux into drm-next (2023-04-11 12:28:10 +0200)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-05-24

for you to fetch changes up to 0fbcf57077c47b444e91b9ce8a243e6f7f53693d:

  drm/i915/mtl: end support for set caching ioctl (2023-05-23 10:15:26 +0200)

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

- New getparam for querying PXP support and load status

Cross-subsystem Changes:

- GSC/MEI proxy driver

Driver Changes:

Fixes/improvements/new stuff:

- Avoid clearing pre-allocated framebuffers with the TTM backend (Nirmoy Das)
- Implement framebuffer mmap support (Nirmoy Das)
- Disable sampler indirect state in bindless heap (Lionel Landwerlin)
- Avoid out-of-bounds access when loading HuC (Lucas De Marchi)
- Actually return an error if GuC version range check fails (John Harrison)
- Get mutex and rpm ref just once in hwm_power_max_write (Ashutosh Dixit)
- Disable PL1 power limit when loading GuC firmware (Ashutosh Dixit)
- Block in hwmon while waiting for GuC reset to complete (Ashutosh Dixit)
- Provide sysfs for SLPC efficient freq (Vinay Belgaumkar)
- Add support for total context runtime for GuC back-end (Umesh Nerlige Ramappa)
- Enable fdinfo for GuC backends (Umesh Nerlige Ramappa)
- Don't capture Gen8 regs on Xe devices (John Harrison)
- Fix error capture for virtual engines (John Harrison)
- Track patch level versions on reduced version firmware files (John Harrison)
- Decode another GuC load failure case (John Harrison)
- GuC loading and firmware table handling fixes (John Harrison)
- Fix confused register capture list creation (John Harrison)
- Dump error capture to kernel log (John Harrison)
- Dump error capture to dmesg on CTB error (John Harrison)
- Disable rps_boost debugfs when SLPC is used (Vinay Belgaumkar)

Future platform enablement:

- Disable stolen memory backed FB for A0 [mtl] (Nirmoy Das)
- Various refactors for multi-tile enablement (Andi Shyti, Tejas Upadhyay)
- Extend Wa_22011802037 to MTL A-step (Madhumitha Tolakanahalli Pradeep)
- WA to clear RDOP clock gating [mtl] (Haridhar Kalvala)
- Set has_llc=0 [mtl] (Fei Yang)
- Define MOCS and PAT tables for MTL (Madhumitha Tolakanahalli Pradeep)
- Add PTE encode function [mtl] (Fei Yang)
- fix mocs selftest [mtl] (Fei Yang)
- Workaround coherency issue for Media [mtl] (Fei Yang)
- Add workaround 14018778641 [mtl] (Tejas Upadhyay)
- Implement Wa_14019141245 [mtl] (Radhakrishna Sripada)
- Fix the wa number for Wa_22016670082 [mtl] (Radhakrishna Sripada)
- Use correct huge page manager for MTL (Jonathan Cavitt)
- GSC/MEI support for Meteorlake (Alexander Usyskin, Daniele Ceraolo Spurio)
- Define GuC firmware version for MTL (John Harrison)
- Drop FLAT CCS check [mtl] (Pallavi Mishra)
- Add MTL for remapping CCS FBs [mtl] (Clint Taylor)
- Meteorlake PXP enablement (Alan Previn)
- Do not enable render power-gating on MTL (Andrzej Hajda)
- Add MTL performance tuning changes (Radhakrishna Sripada)
- Extend Wa_16014892111 to MTL A-step (Radhakrishna Sripada)
- PMU multi-tile support (Tvrtko Ursulin)
- End support for set caching ioctl [mtl] (Fei Yang)

Driver refactors:

- Use i915 instead of dev_priv insied the file_priv structure (Andi Shyti)
- Use proper parameter naming in for_each_engine() (Andi Shyti)
- Use gt_err for GT info (Tejas Upadhyay)
- Consolidate duplicated capture list code (John Harrison)
- Capture list naming clean up (John Harrison)
- Use kernel-doc -Werror when CONFIG_DRM_I915_WERROR=y (Jani Nikula)
- Preparation for using PAT index (Fei Yang)
- Use pat_index instead of cache_level (Fei Yang)

Miscellaneous:

- Fix memory leaks in i915 selftests (Cong Liu)
- Record GT error for gt failure (Tejas Upadhyay)
- Migrate platform-dependent mock hugepage selftests to live (Jonathan Cavitt)
- Update the SLPC selftest (Vinay Belgaumkar)
- Throw out set() wrapper (Jani Nikula)
- Large driver kernel doc cleanup (Jani Nikula)
- Fix probe injection CI failures after recent change (John Harrison)
- Make unexpected firmware versions an error in debug builds (John Harrison)
- Silence UBSAN uninitialized bool variable warning (Ashutosh Dixit)
- Fix memory leaks in function live_nop_switch (Cong Liu)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Joonas Lahtinen)

----------------------------------------------------------------
Alan Previn (8):
      drm/i915/pxp: Add GSC-CS back-end resource init and cleanup
      drm/i915/pxp: Add MTL hw-plumbing enabling for KCR operation
      drm/i915/pxp: Add MTL helpers to submit Heci-Cmd-Packet to GSC
      drm/i915/pxp: Add GSC-CS backend to send GSC fw messages
      drm/i915/pxp: Add ARB session creation and cleanup
      drm/i915/uapi/pxp: Add a GET_PARAM for PXP
      drm/i915/pxp: On MTL, KCR enabling doesn't wait on tee component
      drm/i915/pxp: Enable PXP with MTL-GSC-CS

Alexander Usyskin (2):
      drm/i915/mtl: Define GSC Proxy component interface
      mei: gsc_proxy: add gsc proxy driver

Andi Shyti (3):
      drm/i915: Make IRQ reset and postinstall multi-gt aware
      drm/i915/i915_drv: Use proper parameter naming in for_each_engine()
      drm/i915/i915_drv: Use i915 instead of dev_priv insied the file_priv structure

Andrzej Hajda (1):
      drm/i915/mtl: do not enable render power-gating on MTL

Ashutosh Dixit (4):
      drm/i915/hwmon: Get mutex and rpm ref just once in hwm_power_max_write
      drm/i915/guc: Disable PL1 power limit when loading GuC firmware
      drm/i915/hwmon: Block waiting for GuC reset to complete
      drm/i915/hwmon: Silence UBSAN uninitialized bool variable warning

Clint Taylor (1):
      drm/i915/mtl: Add MTL for remapping CCS FBs

Cong Liu (2):
      drm/i915: Fix memory leaks in i915 selftests
      drm/i915: Fix memory leaks in function live_nop_switch

Daniele Ceraolo Spurio (2):
      drm/i915/gsc: add initial support for GSC proxy
      drm/i915/gsc: add support for GSC proxy interrupt

Fei Yang (7):
      drm/i915/mtl: Set has_llc=0
      drm/i915/mtl: fix mocs selftest
      drm/i915/mtl: Add PTE encode function
      drm/i915/mtl: workaround coherency issue for Media
      drm/i915: preparation for using PAT index
      drm/i915: use pat_index instead of cache_level
      drm/i915/mtl: end support for set caching ioctl

Haridhar Kalvala (1):
      drm/i915/mtl: WA to clear RDOP clock gating

Jani Nikula (25):
      drm/i915/rc6: throw out set() wrapper
      drm/i915/gvt: fix intel_vgpu_alloc_resource() kernel-doc parameter
      drm/i915/vma: fix kernel-doc function name for i915_vma_size()
      drm/i915/utils: drop kernel-doc from __wait_for()
      drm/i915/vma: document struct i915_vma_resource wakeref member
      drm/i915/perf: fix i915_perf_ioctl_version() kernel-doc
      drm/i915/error: fix i915_capture_error_state() kernel-doc
      drm/i915/request: drop kernel-doc
      drm/i915/gem: fix i915_gem_object_lookup_rcu() kernel-doc parameter name
      drm/i915/engine: fix kernel-doc function name for intel_engine_cleanup_common()
      drm/i915/context: fix kernel-doc parameter descriptions
      drm/i915/gtt: fix i915_vm_resv_put() kernel-doc parameter name
      drm/i915/engine: hide preempt_hang selftest member from kernel-doc
      drm/i915/guc: add dbgfs_node member kernel-doc
      drm/i915/guc: drop lots of kernel-doc markers
      drm/i915/guc: add intel_guc_state_capture member docs for ads_null_cache and max_mmio_per_node
      drm/i915/active: fix kernel-doc for function parameters
      drm/i915/pmu: drop kernel-doc
      drm/i915/pxp: fix kernel-doc for member dev_link
      drm/i915/scatterlist: fix kernel-doc parameter documentation
      drm/i915/vma: fix struct i915_vma_bindinfo kernel-doc
      drm/i915/gem: fix function pointer member kernel-doc
      drm/i915/scatterlist: fix kernel-doc
      drm/i915/ttm: fix i915_ttm_to_gem() kernel-doc
      drm/i915: use kernel-doc -Werror when CONFIG_DRM_I915_WERROR=y

John Harrison (16):
      drm/i915/guc: Actually return an error if GuC version range check fails
      drm/i915/guc: Don't capture Gen8 regs on Xe devices
      drm/i915/guc: Consolidate duplicated capture list code
      drm/i915/guc: Capture list naming clean up
      drm/i915/guc: Fix error capture for virtual engines
      drm/i915/uc: Track patch level versions on reduced version firmware files
      drm/i915/mtl: Define GuC firmware version for MTL
      drm/i915/guc: Decode another GuC load failure case
      drm/i915/guc: Print status register when waiting for GuC to load
      drm/i915/uc: Enhancements to firmware table validation
      drm/i915/uc: Reject duplicate entries in firmware table
      drm/i915/uc: Make unexpected firmware versions an error in debug builds
      drm/i1915/guc: Fix probe injection CI failures after recent change
      drm/i915/guc: Fix confused register capture list creation
      drm/i915: Dump error capture to kernel log
      drm/i915/guc: Dump error capture to dmesg on CTB error

Jonathan Cavitt (2):
      drm/i915: Migrate platform-dependent mock hugepage selftests to live
      drm/i915: Use correct huge page manager for MTL

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

Lionel Landwerlin (1):
      drm/i915: disable sampler indirect state in bindless heap

Lucas De Marchi (1):
      drm/i915/gt: Avoid out-of-bounds access when loading HuC

Madhumitha Tolakanahalli Pradeep (2):
      drm/i915/mtl: Extend Wa_22011802037 to MTL A-step
      drm/i915/mtl: Define MOCS and PAT tables for MTL

Nirmoy Das (6):
      drm/i915/ttm: Add I915_BO_PREALLOC
      drm/i915/display: Set I915_BO_ALLOC_USER for fb
      drm/i915: Add a function to mmap framebuffer obj
      drm/i915/display: Add helper func to get intel_fbdev from drm_fb_helper
      drm/i915/display: Implement fb_mmap callback function
      drm/i915/mtl: Disable stolen memory backed FB for A0

Pallavi Mishra (1):
      drm/i915/mtl: Drop FLAT CCS check

Radhakrishna Sripada (4):
      drm/i915/mtl: Implement Wa_14019141245
      drm/i915/mtl: Fix the wa number for Wa_22016670082
      drm/i915/mtl: Add MTL performance tuning changes
      drm/i915/mtl: Extend Wa_16014892111 to MTL A-step

Tejas Upadhyay (7):
      drm/i915/gt: Consider multi-gt instead of to_gt()
      drm/i915/gem: Consider multi-gt instead of to_gt()
      drm/i915/selftests: Consider multi-gt instead of to_gt()
      drm/i915/selftest: Record GT error for gt failure
      drm/i915/mtl: Add workaround 14018778641
      drm/i915/gt: Use gt_err for GT info
      drm/i915/selftests: Use gt_err for GT info

Tvrtko Ursulin (7):
      drm/i915/pmu: Change bitmask of enabled events to u32
      drm/i915/pmu: Support PMU for all engines
      drm/i915/pmu: Skip sampling engines with no enabled counters
      drm/i915/pmu: Transform PMU parking code to be GT based
      drm/i915/pmu: Add reference counting to the sampling timer
      drm/i915/pmu: Prepare for multi-tile non-engine counters
      drm/i915/pmu: Export counters from all tiles

Umesh Nerlige Ramappa (2):
      i915/pmu: Add support for total context runtime for GuC back-end
      drm/i915/fdinfo: Enable fdinfo for GuC backends

Vinay Belgaumkar (3):
      drm/i915/guc/slpc: Provide sysfs for efficient freq
      drm/i915/selftest: Update the SLPC selftest
      drm/i915/guc/slpc: Disable rps_boost debugfs

 drivers/gpu/drm/i915/Makefile                      |   6 +-
 drivers/gpu/drm/i915/display/intel_dpt.c           |  14 +-
 drivers/gpu/drm/i915/display/intel_fb.c            |   9 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |  38 +-
 drivers/gpu/drm/i915/display/intel_plane_initial.c |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  61 ++-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           | 148 ++++---
 drivers/gpu/drm/i915/gem/i915_gem_mman.h           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  60 ++-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  68 +++-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   9 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |   2 -
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  13 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    | 108 +++--
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  18 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |   2 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |   2 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  10 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  84 ++--
 drivers/gpu/drm/i915/gt/gen8_ppgtt.h               |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   5 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   8 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  84 ++--
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  25 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   5 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  35 ++
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  47 ++-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  36 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  51 +--
 drivers/gpu/drm/i915/gt/intel_migrate.h            |  13 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  70 +++-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   4 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                | 167 ++++----
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  75 +++-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |   3 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |  47 ++-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   3 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |   8 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |  42 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   2 +-
 drivers/gpu/drm/i915/gt/selftest_tlb.c             |   4 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |   1 +
 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |  20 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          |  23 ++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h          |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c       | 424 +++++++++++++++++++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h       |  18 +
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          |  76 +++-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h          |  17 +-
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.c  | 102 +++++
 .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h  |  27 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   7 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  36 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 269 ++++++------
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h     |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  59 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |   6 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  12 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  40 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  75 +++-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  16 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 295 +++++++++-----
 drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
 drivers/gpu/drm/i915/i915_active.h                 |  14 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  51 ++-
 drivers/gpu/drm/i915/i915_drm_client.c             |   6 +-
 drivers/gpu/drm/i915/i915_drv.h                    | 452 ++++++++++-----------
 drivers/gpu/drm/i915/i915_gem.c                    |  27 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   7 +
 drivers/gpu/drm/i915/i915_gpu_error.c              | 153 ++++++-
 drivers/gpu/drm/i915/i915_gpu_error.h              |  10 +
 drivers/gpu/drm/i915/i915_hwmon.c                  |  87 +++-
 drivers/gpu/drm/i915/i915_hwmon.h                  |   7 +
 drivers/gpu/drm/i915/i915_irq.c                    |  17 +-
 drivers/gpu/drm/i915/i915_pci.c                    |  81 +++-
 drivers/gpu/drm/i915/i915_perf.c                   |   1 +
 drivers/gpu/drm/i915/i915_perf_oa_regs.h           |   4 -
 drivers/gpu/drm/i915/i915_pmu.c                    | 294 ++++++++++----
 drivers/gpu/drm/i915/i915_pmu.h                    |  28 +-
 drivers/gpu/drm/i915/i915_request.h                |  52 +--
 drivers/gpu/drm/i915/i915_scatterlist.h            |   9 +-
 drivers/gpu/drm/i915/i915_utils.h                  |   2 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  16 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   4 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |  46 ++-
 drivers/gpu/drm/i915/i915_vma_types.h              |   2 -
 drivers/gpu/drm/i915/intel_device_info.h           |   5 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               | 102 +++--
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |   2 +
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h  |  24 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c       |   6 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c         | 444 ++++++++++++++++++++
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h         |  43 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c            |   3 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_regs.h          |  27 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |  25 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |   2 -
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |  24 +-
 drivers/gpu/drm/i915/selftests/i915_gem.c          |   5 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   8 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  19 +-
 drivers/gpu/drm/i915/selftests/igt_live_test.c     |  47 ++-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |   4 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   9 +
 drivers/gpu/drm/i915/selftests/mock_gtt.c          |   8 +-
 drivers/misc/mei/Kconfig                           |   2 +-
 drivers/misc/mei/Makefile                          |   1 +
 drivers/misc/mei/gsc_proxy/Kconfig                 |  14 +
 drivers/misc/mei/gsc_proxy/Makefile                |   7 +
 drivers/misc/mei/gsc_proxy/mei_gsc_proxy.c         | 208 ++++++++++
 include/drm/i915_component.h                       |   3 +-
 include/drm/i915_gsc_proxy_mei_interface.h         |  53 +++
 include/uapi/drm/i915_drm.h                        |  51 ++-
 131 files changed, 4317 insertions(+), 1217 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_regs.h
 create mode 100644 drivers/misc/mei/gsc_proxy/Kconfig
 create mode 100644 drivers/misc/mei/gsc_proxy/Makefile
 create mode 100644 drivers/misc/mei/gsc_proxy/mei_gsc_proxy.c
 create mode 100644 include/drm/i915_gsc_proxy_mei_interface.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2023-04-06 12:34 ` Jani Nikula
@ 2023-04-06 13:00   ` Daniel Vetter
  0 siblings, 0 replies; 68+ messages in thread
From: Daniel Vetter @ 2023-04-06 13:00 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Tvrtko Ursulin, dim-tools, Daniel Vetter, intel-gfx, dri-devel,
	Thomas Zimmermann, Rodrigo Vivi

On Thu, Apr 06, 2023 at 03:34:04PM +0300, Jani Nikula wrote:
> On Thu, 06 Apr 2023, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> wrote:
> > Hi Dave, Daniel,
> > Pull request to avoid backmerges. ;)
> > Cheers,
> > ~Maarten
> 
> Not using dim for this? Is the subject line copy-pasted from another
> pull request? :)

dim did at least manage to eat it all correctly I think :-)

Pulled, thanks

> 
> BR,
> Jani.
> 
> >
> > drm-misc-next-2023-04-06:
> > drm-misc-next for v6.4-rc1:
> >
> > UAPI Changes:
> >
> > Cross-subsystem Changes:
> > - Document port and rotation dt bindings better.
> > - For panel timing DT bindings, document that vsync and hsync are
> >    first, rather than last in image.
> > - Fix video/aperture typos.
> >
> > Core Changes:
> > - Reject prime DMA-Buf attachment if get_sg_table is missing.
> >    (For self-importing dma-buf only.)
> > - Add prime import/export to vram-helper.
> > - Fix oops in drm/vblank when init is not called.
> > - Fixup xres/yres_virtual and other fixes in fb helper.
> > - Improve SCDC debugs.
> > - Skip setting deadline on modesets.
> > - Assorted TTM fixes.
> >
> > Driver Changes:
> > - Add lima usage stats.
> > - Assorted fixes to bridge/lt8192b, tc358767, ivpu,
> >    bridge/ti-sn65dsi83, ps8640.
> > - Use pci aperture helpers in drm/ast lynxfb, radeonfb.
> > - Revert some lima patches, as they required a commit that has been
> >    reverted upstream.
> > - Add AUO NE135FBM-N41 v8.1 eDP panel.
> > - Add QAIC accel driver.
> > The following changes since commit 7d690f936e9bc9fbd6394fb3d4ad181af03ee393:
> >
> >    drm/panfrost: Add basic support for speed binning (2023-03-31 11:44:11 +0200)
> >
> > are available in the Git repository at:
> >
> >    git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2023-04-06
> >
> > for you to fetch changes up to e44f18c6ff8beef7b2b10592287f0a9766376d9b:
> >
> >    drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting (2023-04-06 10:01:42 +0200)
> >
> > ----------------------------------------------------------------
> > drm-misc-next for v6.4-rc1:
> >
> > UAPI Changes:
> >
> > Cross-subsystem Changes:
> > - Document port and rotation dt bindings better.
> > - For panel timing DT bindings, document that vsync and hsync are
> >    first, rather than last in image.
> > - Fix video/aperture typos.
> >
> > Core Changes:
> > - Reject prime DMA-Buf attachment if get_sg_table is missing.
> >    (For self-importing dma-buf only.)
> > - Add prime import/export to vram-helper.
> > - Fix oops in drm/vblank when init is not called.
> > - Fixup xres/yres_virtual and other fixes in fb helper.
> > - Improve SCDC debugs.
> > - Skip setting deadline on modesets.
> > - Assorted TTM fixes.
> >
> > Driver Changes:
> > - Add lima usage stats.
> > - Assorted fixes to bridge/lt8192b, tc358767, ivpu,
> >    bridge/ti-sn65dsi83, ps8640.
> > - Use pci aperture helpers in drm/ast lynxfb, radeonfb.
> > - Revert some lima patches, as they required a commit that has been
> >    reverted upstream.
> > - Add AUO NE135FBM-N41 v8.1 eDP panel.
> > - Add QAIC accel driver.
> >
> > ----------------------------------------------------------------
> > Alexander Stein (2):
> >        drm/bridge: ti-sn65dsi83: use dev_err_probe if host attach failed
> >        drm/bridge: ti-sn65dsi86: Allow GPIO operations to sleep
> >
> > AngeloGioacchino Del Regno (1):
> >        drm/panel-edp: Add AUO NE135FBM-N41 v8.1 panel entry
> >
> > Daniel Vetter (7):
> >        drm/ast: Use drm_aperture_remove_conflicting_pci_framebuffers
> >        staging/lynxfb: Use pci aperture helper
> >        fbdev/radeon: use pci aperture helpers
> >        drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
> >        drm/fb-helper: drop redundant pixclock check from drm_fb_helper_set_par()
> >        drm/fb-helper: fix input validation gaps in check_var
> >        drm/atomic-helper: Don't set deadline for modesets
> >
> > Erico Nunes (3):
> >        drm/lima: add usage counting method to ctx_mgr
> >        drm/lima: allocate unique id per drm_file
> >        drm/lima: add show_fdinfo for drm usage stats
> >
> > Francesco Dolcini (1):
> >        drm/bridge: lt8912b: Fix DSI Video Mode
> >
> > Harshit Mogalapalli (1):
> >        drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
> >
> > Jeffrey Hugo (7):
> >        accel/qaic: Add documentation for AIC100 accelerator driver
> >        accel/qaic: Add uapi and core driver file
> >        accel/qaic: Add MHI controller
> >        accel/qaic: Add control path
> >        accel/qaic: Add datapath
> >        accel/qaic: Add qaic driver to the build system
> >        MAINTAINERS: Add entry for QAIC driver
> >
> > Karol Wachowski (1):
> >        accel/ivpu: Remove D3hot delay for Meteorlake
> >
> > Krzysztof Kozlowski (5):
> >        dt-bindings: display: sitronix,st7789v: document dc-gpios
> >        dt-bindings: display: xinpeng,xpp055c272: document port
> >        dt-bindings: display: feiyang,fy07024di26a30d: document port
> >        dt-bindings: display: elida,kd35t133: document port and rotation
> >        dt-bindings: display: sitronix,st7701: document port and rotation
> >
> > Luca Ceresoli (2):
> >        drm: bridge: ldb: add missing \n in dev_warn() string
> >        drm: bridge: ldb: add support for using channel 1 only
> >
> > Marek Vasut (3):
> >        drm/bridge: tc358767: Enable DSI burst mode, LPM, non-continuous clock
> >        dt-bindings: display: Start the info graphics with HS/VS change
> >        drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet
> >
> > Pin-yen Lin (1):
> >        drm/bridge: ps8640: Use constant sleep time for polling hpd
> >
> > Pranjal Ramajor Asha Kanojiya (1):
> >        accel/qaic: Add mhi_qaic_cntl
> >
> > Qiang Yu (3):
> >        Revert "drm/lima: add show_fdinfo for drm usage stats"
> >        Revert "drm/lima: allocate unique id per drm_file"
> >        Revert "drm/lima: add usage counting method to ctx_mgr"
> >
> > Rob Clark (1):
> >        drm/vblank: Fix for drivers that do not drm_vblank_init()
> >
> > Simon Ser (2):
> >        drm/prime: reject DMA-BUF attach when get_sg_table is missing
> >        drm/vram-helper: turn on PRIME import/export
> >
> > Sui Jingfeng (1):
> >        video/aperture: Fix typos in comments
> >
> > Thomas Hellström (3):
> >        drm/ttm/pool: Fix ttm_pool_alloc error path
> >        drm/ttm: Reduce the number of used allocation orders for TTM pages
> >        drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting
> >
> > Ville Syrjälä (1):
> >        drm/scdc-helper: Pimp SCDC debugs
> >
> >   Documentation/accel/index.rst                      |    1 +
> >   Documentation/accel/qaic/aic100.rst                |  510 ++++++
> >   Documentation/accel/qaic/index.rst                 |   13 +
> >   Documentation/accel/qaic/qaic.rst                  |  170 ++
> >   .../bindings/display/panel/elida,kd35t133.yaml     |    9 +
> >   .../display/panel/feiyang,fy07024di26a30d.yaml     |    8 +
> >   .../bindings/display/panel/panel-timing.yaml       |   46 +-
> >   .../bindings/display/panel/sitronix,st7701.yaml    |    9 +
> >   .../bindings/display/panel/sitronix,st7789v.yaml   |    4 +
> >   .../bindings/display/panel/xinpeng,xpp055c272.yaml |    8 +
> >   MAINTAINERS                                        |   10 +
> >   drivers/accel/Kconfig                              |    1 +
> >   drivers/accel/Makefile                             |    1 +
> >   drivers/accel/ivpu/ivpu_drv.c                      |    4 +
> >   drivers/accel/qaic/Kconfig                         |   23 +
> >   drivers/accel/qaic/Makefile                        |   13 +
> >   drivers/accel/qaic/mhi_controller.c                |  563 ++++++
> >   drivers/accel/qaic/mhi_controller.h                |   16 +
> >   drivers/accel/qaic/mhi_qaic_ctrl.c                 |  569 ++++++
> >   drivers/accel/qaic/mhi_qaic_ctrl.h                 |   12 +
> >   drivers/accel/qaic/qaic.h                          |  282 +++
> >   drivers/accel/qaic/qaic_control.c                  | 1526 ++++++++++++++++
> >   drivers/accel/qaic/qaic_data.c                     | 1902 ++++++++++++++++++++
> >   drivers/accel/qaic/qaic_drv.c                      |  647 +++++++
> >   drivers/gpu/drm/ast/ast_drv.c                      |   16 +-
> >   drivers/gpu/drm/bridge/fsl-ldb.c                   |  103 +-
> >   drivers/gpu/drm/bridge/lontium-lt8912b.c           |    1 -
> >   drivers/gpu/drm/bridge/parade-ps8640.c             |    2 +-
> >   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c          |    8 +-
> >   drivers/gpu/drm/bridge/tc358767.c                  |    4 +-
> >   drivers/gpu/drm/bridge/ti-sn65dsi83.c              |    8 +-
> >   drivers/gpu/drm/bridge/ti-sn65dsi86.c              |    4 +-
> >   drivers/gpu/drm/display/drm_scdc_helper.c          |   46 +-
> >   drivers/gpu/drm/drm_atomic_helper.c                |    6 +
> >   drivers/gpu/drm/drm_fb_helper.c                    |   53 +-
> >   drivers/gpu/drm/drm_prime.c                        |    6 +-
> >   drivers/gpu/drm/drm_vblank.c                       |   10 +-
> >   drivers/gpu/drm/i915/display/intel_ddi.c           |    4 +-
> >   drivers/gpu/drm/i915/display/intel_hdmi.c          |    8 +-
> >   drivers/gpu/drm/lima/lima_drv.c                    |    6 +-
> >   drivers/gpu/drm/panel/panel-edp.c                  |    1 +
> >   drivers/gpu/drm/tegra/sor.c                        |   15 +-
> >   drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   13 +-
> >   drivers/gpu/drm/ttm/ttm_pool.c                     |  111 +-
> >   drivers/gpu/drm/vc4/vc4_hdmi.c                     |   21 +-
> >   drivers/staging/sm750fb/sm750.c                    |   16 +-
> >   drivers/video/aperture.c                           |    8 +-
> >   drivers/video/fbdev/aty/radeon_base.c              |   10 +-
> >   include/drm/display/drm_scdc_helper.h              |    7 +-
> >   include/drm/drm_gem_vram_helper.h                  |    4 +-
> >   include/uapi/drm/qaic_accel.h                      |  397 ++++
> >   51 files changed, 7004 insertions(+), 231 deletions(-)
> >   create mode 100644 Documentation/accel/qaic/aic100.rst
> >   create mode 100644 Documentation/accel/qaic/index.rst
> >   create mode 100644 Documentation/accel/qaic/qaic.rst
> >   create mode 100644 drivers/accel/qaic/Kconfig
> >   create mode 100644 drivers/accel/qaic/Makefile
> >   create mode 100644 drivers/accel/qaic/mhi_controller.c
> >   create mode 100644 drivers/accel/qaic/mhi_controller.h
> >   create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.c
> >   create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.h
> >   create mode 100644 drivers/accel/qaic/qaic.h
> >   create mode 100644 drivers/accel/qaic/qaic_control.c
> >   create mode 100644 drivers/accel/qaic/qaic_data.c
> >   create mode 100644 drivers/accel/qaic/qaic_drv.c
> >   create mode 100644 include/uapi/drm/qaic_accel.h
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2023-04-06  8:18 Joonas Lahtinen
@ 2023-04-06 12:38 ` Daniel Vetter
  0 siblings, 0 replies; 68+ messages in thread
From: Daniel Vetter @ 2023-04-06 12:38 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: Tvrtko Ursulin, dim-tools, Daniel Vetter, dri-devel,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

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
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2023-04-06 11:41 Maarten Lankhorst
@ 2023-04-06 12:34 ` Jani Nikula
  2023-04-06 13:00   ` Daniel Vetter
  0 siblings, 1 reply; 68+ messages in thread
From: Jani Nikula @ 2023-04-06 12:34 UTC (permalink / raw)
  To: Maarten Lankhorst, Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, intel-gfx, dri-devel,
	Thomas Zimmermann, Rodrigo Vivi

On Thu, 06 Apr 2023, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> wrote:
> Hi Dave, Daniel,
> Pull request to avoid backmerges. ;)
> Cheers,
> ~Maarten

Not using dim for this? Is the subject line copy-pasted from another
pull request? :)

BR,
Jani.

>
> drm-misc-next-2023-04-06:
> drm-misc-next for v6.4-rc1:
>
> UAPI Changes:
>
> Cross-subsystem Changes:
> - Document port and rotation dt bindings better.
> - For panel timing DT bindings, document that vsync and hsync are
>    first, rather than last in image.
> - Fix video/aperture typos.
>
> Core Changes:
> - Reject prime DMA-Buf attachment if get_sg_table is missing.
>    (For self-importing dma-buf only.)
> - Add prime import/export to vram-helper.
> - Fix oops in drm/vblank when init is not called.
> - Fixup xres/yres_virtual and other fixes in fb helper.
> - Improve SCDC debugs.
> - Skip setting deadline on modesets.
> - Assorted TTM fixes.
>
> Driver Changes:
> - Add lima usage stats.
> - Assorted fixes to bridge/lt8192b, tc358767, ivpu,
>    bridge/ti-sn65dsi83, ps8640.
> - Use pci aperture helpers in drm/ast lynxfb, radeonfb.
> - Revert some lima patches, as they required a commit that has been
>    reverted upstream.
> - Add AUO NE135FBM-N41 v8.1 eDP panel.
> - Add QAIC accel driver.
> The following changes since commit 7d690f936e9bc9fbd6394fb3d4ad181af03ee393:
>
>    drm/panfrost: Add basic support for speed binning (2023-03-31 11:44:11 +0200)
>
> are available in the Git repository at:
>
>    git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2023-04-06
>
> for you to fetch changes up to e44f18c6ff8beef7b2b10592287f0a9766376d9b:
>
>    drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting (2023-04-06 10:01:42 +0200)
>
> ----------------------------------------------------------------
> drm-misc-next for v6.4-rc1:
>
> UAPI Changes:
>
> Cross-subsystem Changes:
> - Document port and rotation dt bindings better.
> - For panel timing DT bindings, document that vsync and hsync are
>    first, rather than last in image.
> - Fix video/aperture typos.
>
> Core Changes:
> - Reject prime DMA-Buf attachment if get_sg_table is missing.
>    (For self-importing dma-buf only.)
> - Add prime import/export to vram-helper.
> - Fix oops in drm/vblank when init is not called.
> - Fixup xres/yres_virtual and other fixes in fb helper.
> - Improve SCDC debugs.
> - Skip setting deadline on modesets.
> - Assorted TTM fixes.
>
> Driver Changes:
> - Add lima usage stats.
> - Assorted fixes to bridge/lt8192b, tc358767, ivpu,
>    bridge/ti-sn65dsi83, ps8640.
> - Use pci aperture helpers in drm/ast lynxfb, radeonfb.
> - Revert some lima patches, as they required a commit that has been
>    reverted upstream.
> - Add AUO NE135FBM-N41 v8.1 eDP panel.
> - Add QAIC accel driver.
>
> ----------------------------------------------------------------
> Alexander Stein (2):
>        drm/bridge: ti-sn65dsi83: use dev_err_probe if host attach failed
>        drm/bridge: ti-sn65dsi86: Allow GPIO operations to sleep
>
> AngeloGioacchino Del Regno (1):
>        drm/panel-edp: Add AUO NE135FBM-N41 v8.1 panel entry
>
> Daniel Vetter (7):
>        drm/ast: Use drm_aperture_remove_conflicting_pci_framebuffers
>        staging/lynxfb: Use pci aperture helper
>        fbdev/radeon: use pci aperture helpers
>        drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
>        drm/fb-helper: drop redundant pixclock check from drm_fb_helper_set_par()
>        drm/fb-helper: fix input validation gaps in check_var
>        drm/atomic-helper: Don't set deadline for modesets
>
> Erico Nunes (3):
>        drm/lima: add usage counting method to ctx_mgr
>        drm/lima: allocate unique id per drm_file
>        drm/lima: add show_fdinfo for drm usage stats
>
> Francesco Dolcini (1):
>        drm/bridge: lt8912b: Fix DSI Video Mode
>
> Harshit Mogalapalli (1):
>        drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
>
> Jeffrey Hugo (7):
>        accel/qaic: Add documentation for AIC100 accelerator driver
>        accel/qaic: Add uapi and core driver file
>        accel/qaic: Add MHI controller
>        accel/qaic: Add control path
>        accel/qaic: Add datapath
>        accel/qaic: Add qaic driver to the build system
>        MAINTAINERS: Add entry for QAIC driver
>
> Karol Wachowski (1):
>        accel/ivpu: Remove D3hot delay for Meteorlake
>
> Krzysztof Kozlowski (5):
>        dt-bindings: display: sitronix,st7789v: document dc-gpios
>        dt-bindings: display: xinpeng,xpp055c272: document port
>        dt-bindings: display: feiyang,fy07024di26a30d: document port
>        dt-bindings: display: elida,kd35t133: document port and rotation
>        dt-bindings: display: sitronix,st7701: document port and rotation
>
> Luca Ceresoli (2):
>        drm: bridge: ldb: add missing \n in dev_warn() string
>        drm: bridge: ldb: add support for using channel 1 only
>
> Marek Vasut (3):
>        drm/bridge: tc358767: Enable DSI burst mode, LPM, non-continuous clock
>        dt-bindings: display: Start the info graphics with HS/VS change
>        drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet
>
> Pin-yen Lin (1):
>        drm/bridge: ps8640: Use constant sleep time for polling hpd
>
> Pranjal Ramajor Asha Kanojiya (1):
>        accel/qaic: Add mhi_qaic_cntl
>
> Qiang Yu (3):
>        Revert "drm/lima: add show_fdinfo for drm usage stats"
>        Revert "drm/lima: allocate unique id per drm_file"
>        Revert "drm/lima: add usage counting method to ctx_mgr"
>
> Rob Clark (1):
>        drm/vblank: Fix for drivers that do not drm_vblank_init()
>
> Simon Ser (2):
>        drm/prime: reject DMA-BUF attach when get_sg_table is missing
>        drm/vram-helper: turn on PRIME import/export
>
> Sui Jingfeng (1):
>        video/aperture: Fix typos in comments
>
> Thomas Hellström (3):
>        drm/ttm/pool: Fix ttm_pool_alloc error path
>        drm/ttm: Reduce the number of used allocation orders for TTM pages
>        drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting
>
> Ville Syrjälä (1):
>        drm/scdc-helper: Pimp SCDC debugs
>
>   Documentation/accel/index.rst                      |    1 +
>   Documentation/accel/qaic/aic100.rst                |  510 ++++++
>   Documentation/accel/qaic/index.rst                 |   13 +
>   Documentation/accel/qaic/qaic.rst                  |  170 ++
>   .../bindings/display/panel/elida,kd35t133.yaml     |    9 +
>   .../display/panel/feiyang,fy07024di26a30d.yaml     |    8 +
>   .../bindings/display/panel/panel-timing.yaml       |   46 +-
>   .../bindings/display/panel/sitronix,st7701.yaml    |    9 +
>   .../bindings/display/panel/sitronix,st7789v.yaml   |    4 +
>   .../bindings/display/panel/xinpeng,xpp055c272.yaml |    8 +
>   MAINTAINERS                                        |   10 +
>   drivers/accel/Kconfig                              |    1 +
>   drivers/accel/Makefile                             |    1 +
>   drivers/accel/ivpu/ivpu_drv.c                      |    4 +
>   drivers/accel/qaic/Kconfig                         |   23 +
>   drivers/accel/qaic/Makefile                        |   13 +
>   drivers/accel/qaic/mhi_controller.c                |  563 ++++++
>   drivers/accel/qaic/mhi_controller.h                |   16 +
>   drivers/accel/qaic/mhi_qaic_ctrl.c                 |  569 ++++++
>   drivers/accel/qaic/mhi_qaic_ctrl.h                 |   12 +
>   drivers/accel/qaic/qaic.h                          |  282 +++
>   drivers/accel/qaic/qaic_control.c                  | 1526 ++++++++++++++++
>   drivers/accel/qaic/qaic_data.c                     | 1902 ++++++++++++++++++++
>   drivers/accel/qaic/qaic_drv.c                      |  647 +++++++
>   drivers/gpu/drm/ast/ast_drv.c                      |   16 +-
>   drivers/gpu/drm/bridge/fsl-ldb.c                   |  103 +-
>   drivers/gpu/drm/bridge/lontium-lt8912b.c           |    1 -
>   drivers/gpu/drm/bridge/parade-ps8640.c             |    2 +-
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c          |    8 +-
>   drivers/gpu/drm/bridge/tc358767.c                  |    4 +-
>   drivers/gpu/drm/bridge/ti-sn65dsi83.c              |    8 +-
>   drivers/gpu/drm/bridge/ti-sn65dsi86.c              |    4 +-
>   drivers/gpu/drm/display/drm_scdc_helper.c          |   46 +-
>   drivers/gpu/drm/drm_atomic_helper.c                |    6 +
>   drivers/gpu/drm/drm_fb_helper.c                    |   53 +-
>   drivers/gpu/drm/drm_prime.c                        |    6 +-
>   drivers/gpu/drm/drm_vblank.c                       |   10 +-
>   drivers/gpu/drm/i915/display/intel_ddi.c           |    4 +-
>   drivers/gpu/drm/i915/display/intel_hdmi.c          |    8 +-
>   drivers/gpu/drm/lima/lima_drv.c                    |    6 +-
>   drivers/gpu/drm/panel/panel-edp.c                  |    1 +
>   drivers/gpu/drm/tegra/sor.c                        |   15 +-
>   drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   13 +-
>   drivers/gpu/drm/ttm/ttm_pool.c                     |  111 +-
>   drivers/gpu/drm/vc4/vc4_hdmi.c                     |   21 +-
>   drivers/staging/sm750fb/sm750.c                    |   16 +-
>   drivers/video/aperture.c                           |    8 +-
>   drivers/video/fbdev/aty/radeon_base.c              |   10 +-
>   include/drm/display/drm_scdc_helper.h              |    7 +-
>   include/drm/drm_gem_vram_helper.h                  |    4 +-
>   include/uapi/drm/qaic_accel.h                      |  397 ++++
>   51 files changed, 7004 insertions(+), 231 deletions(-)
>   create mode 100644 Documentation/accel/qaic/aic100.rst
>   create mode 100644 Documentation/accel/qaic/index.rst
>   create mode 100644 Documentation/accel/qaic/qaic.rst
>   create mode 100644 drivers/accel/qaic/Kconfig
>   create mode 100644 drivers/accel/qaic/Makefile
>   create mode 100644 drivers/accel/qaic/mhi_controller.c
>   create mode 100644 drivers/accel/qaic/mhi_controller.h
>   create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.c
>   create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.h
>   create mode 100644 drivers/accel/qaic/qaic.h
>   create mode 100644 drivers/accel/qaic/qaic_control.c
>   create mode 100644 drivers/accel/qaic/qaic_data.c
>   create mode 100644 drivers/accel/qaic/qaic_drv.c
>   create mode 100644 include/uapi/drm/qaic_accel.h

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-04-06 11:41 Maarten Lankhorst
  2023-04-06 12:34 ` Jani Nikula
  0 siblings, 1 reply; 68+ messages in thread
From: Maarten Lankhorst @ 2023-04-06 11:41 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, intel-gfx, dri-devel,
	Thomas Zimmermann, Rodrigo Vivi

[-- Attachment #1: Type: text/plain, Size: 9737 bytes --]

Hi Dave, Daniel,
Pull request to avoid backmerges. ;)
Cheers,
~Maarten

drm-misc-next-2023-04-06:
drm-misc-next for v6.4-rc1:

UAPI Changes:

Cross-subsystem Changes:
- Document port and rotation dt bindings better.
- For panel timing DT bindings, document that vsync and hsync are
   first, rather than last in image.
- Fix video/aperture typos.

Core Changes:
- Reject prime DMA-Buf attachment if get_sg_table is missing.
   (For self-importing dma-buf only.)
- Add prime import/export to vram-helper.
- Fix oops in drm/vblank when init is not called.
- Fixup xres/yres_virtual and other fixes in fb helper.
- Improve SCDC debugs.
- Skip setting deadline on modesets.
- Assorted TTM fixes.

Driver Changes:
- Add lima usage stats.
- Assorted fixes to bridge/lt8192b, tc358767, ivpu,
   bridge/ti-sn65dsi83, ps8640.
- Use pci aperture helpers in drm/ast lynxfb, radeonfb.
- Revert some lima patches, as they required a commit that has been
   reverted upstream.
- Add AUO NE135FBM-N41 v8.1 eDP panel.
- Add QAIC accel driver.
The following changes since commit 7d690f936e9bc9fbd6394fb3d4ad181af03ee393:

   drm/panfrost: Add basic support for speed binning (2023-03-31 11:44:11 +0200)

are available in the Git repository at:

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

for you to fetch changes up to e44f18c6ff8beef7b2b10592287f0a9766376d9b:

   drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting (2023-04-06 10:01:42 +0200)

----------------------------------------------------------------
drm-misc-next for v6.4-rc1:

UAPI Changes:

Cross-subsystem Changes:
- Document port and rotation dt bindings better.
- For panel timing DT bindings, document that vsync and hsync are
   first, rather than last in image.
- Fix video/aperture typos.

Core Changes:
- Reject prime DMA-Buf attachment if get_sg_table is missing.
   (For self-importing dma-buf only.)
- Add prime import/export to vram-helper.
- Fix oops in drm/vblank when init is not called.
- Fixup xres/yres_virtual and other fixes in fb helper.
- Improve SCDC debugs.
- Skip setting deadline on modesets.
- Assorted TTM fixes.

Driver Changes:
- Add lima usage stats.
- Assorted fixes to bridge/lt8192b, tc358767, ivpu,
   bridge/ti-sn65dsi83, ps8640.
- Use pci aperture helpers in drm/ast lynxfb, radeonfb.
- Revert some lima patches, as they required a commit that has been
   reverted upstream.
- Add AUO NE135FBM-N41 v8.1 eDP panel.
- Add QAIC accel driver.

----------------------------------------------------------------
Alexander Stein (2):
       drm/bridge: ti-sn65dsi83: use dev_err_probe if host attach failed
       drm/bridge: ti-sn65dsi86: Allow GPIO operations to sleep

AngeloGioacchino Del Regno (1):
       drm/panel-edp: Add AUO NE135FBM-N41 v8.1 panel entry

Daniel Vetter (7):
       drm/ast: Use drm_aperture_remove_conflicting_pci_framebuffers
       staging/lynxfb: Use pci aperture helper
       fbdev/radeon: use pci aperture helpers
       drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
       drm/fb-helper: drop redundant pixclock check from drm_fb_helper_set_par()
       drm/fb-helper: fix input validation gaps in check_var
       drm/atomic-helper: Don't set deadline for modesets

Erico Nunes (3):
       drm/lima: add usage counting method to ctx_mgr
       drm/lima: allocate unique id per drm_file
       drm/lima: add show_fdinfo for drm usage stats

Francesco Dolcini (1):
       drm/bridge: lt8912b: Fix DSI Video Mode

Harshit Mogalapalli (1):
       drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()

Jeffrey Hugo (7):
       accel/qaic: Add documentation for AIC100 accelerator driver
       accel/qaic: Add uapi and core driver file
       accel/qaic: Add MHI controller
       accel/qaic: Add control path
       accel/qaic: Add datapath
       accel/qaic: Add qaic driver to the build system
       MAINTAINERS: Add entry for QAIC driver

Karol Wachowski (1):
       accel/ivpu: Remove D3hot delay for Meteorlake

Krzysztof Kozlowski (5):
       dt-bindings: display: sitronix,st7789v: document dc-gpios
       dt-bindings: display: xinpeng,xpp055c272: document port
       dt-bindings: display: feiyang,fy07024di26a30d: document port
       dt-bindings: display: elida,kd35t133: document port and rotation
       dt-bindings: display: sitronix,st7701: document port and rotation

Luca Ceresoli (2):
       drm: bridge: ldb: add missing \n in dev_warn() string
       drm: bridge: ldb: add support for using channel 1 only

Marek Vasut (3):
       drm/bridge: tc358767: Enable DSI burst mode, LPM, non-continuous clock
       dt-bindings: display: Start the info graphics with HS/VS change
       drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet

Pin-yen Lin (1):
       drm/bridge: ps8640: Use constant sleep time for polling hpd

Pranjal Ramajor Asha Kanojiya (1):
       accel/qaic: Add mhi_qaic_cntl

Qiang Yu (3):
       Revert "drm/lima: add show_fdinfo for drm usage stats"
       Revert "drm/lima: allocate unique id per drm_file"
       Revert "drm/lima: add usage counting method to ctx_mgr"

Rob Clark (1):
       drm/vblank: Fix for drivers that do not drm_vblank_init()

Simon Ser (2):
       drm/prime: reject DMA-BUF attach when get_sg_table is missing
       drm/vram-helper: turn on PRIME import/export

Sui Jingfeng (1):
       video/aperture: Fix typos in comments

Thomas Hellström (3):
       drm/ttm/pool: Fix ttm_pool_alloc error path
       drm/ttm: Reduce the number of used allocation orders for TTM pages
       drm/ttm: Make the call to ttm_tt_populate() interruptible when faulting

Ville Syrjälä (1):
       drm/scdc-helper: Pimp SCDC debugs

  Documentation/accel/index.rst                      |    1 +
  Documentation/accel/qaic/aic100.rst                |  510 ++++++
  Documentation/accel/qaic/index.rst                 |   13 +
  Documentation/accel/qaic/qaic.rst                  |  170 ++
  .../bindings/display/panel/elida,kd35t133.yaml     |    9 +
  .../display/panel/feiyang,fy07024di26a30d.yaml     |    8 +
  .../bindings/display/panel/panel-timing.yaml       |   46 +-
  .../bindings/display/panel/sitronix,st7701.yaml    |    9 +
  .../bindings/display/panel/sitronix,st7789v.yaml   |    4 +
  .../bindings/display/panel/xinpeng,xpp055c272.yaml |    8 +
  MAINTAINERS                                        |   10 +
  drivers/accel/Kconfig                              |    1 +
  drivers/accel/Makefile                             |    1 +
  drivers/accel/ivpu/ivpu_drv.c                      |    4 +
  drivers/accel/qaic/Kconfig                         |   23 +
  drivers/accel/qaic/Makefile                        |   13 +
  drivers/accel/qaic/mhi_controller.c                |  563 ++++++
  drivers/accel/qaic/mhi_controller.h                |   16 +
  drivers/accel/qaic/mhi_qaic_ctrl.c                 |  569 ++++++
  drivers/accel/qaic/mhi_qaic_ctrl.h                 |   12 +
  drivers/accel/qaic/qaic.h                          |  282 +++
  drivers/accel/qaic/qaic_control.c                  | 1526 ++++++++++++++++
  drivers/accel/qaic/qaic_data.c                     | 1902 ++++++++++++++++++++
  drivers/accel/qaic/qaic_drv.c                      |  647 +++++++
  drivers/gpu/drm/ast/ast_drv.c                      |   16 +-
  drivers/gpu/drm/bridge/fsl-ldb.c                   |  103 +-
  drivers/gpu/drm/bridge/lontium-lt8912b.c           |    1 -
  drivers/gpu/drm/bridge/parade-ps8640.c             |    2 +-
  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c          |    8 +-
  drivers/gpu/drm/bridge/tc358767.c                  |    4 +-
  drivers/gpu/drm/bridge/ti-sn65dsi83.c              |    8 +-
  drivers/gpu/drm/bridge/ti-sn65dsi86.c              |    4 +-
  drivers/gpu/drm/display/drm_scdc_helper.c          |   46 +-
  drivers/gpu/drm/drm_atomic_helper.c                |    6 +
  drivers/gpu/drm/drm_fb_helper.c                    |   53 +-
  drivers/gpu/drm/drm_prime.c                        |    6 +-
  drivers/gpu/drm/drm_vblank.c                       |   10 +-
  drivers/gpu/drm/i915/display/intel_ddi.c           |    4 +-
  drivers/gpu/drm/i915/display/intel_hdmi.c          |    8 +-
  drivers/gpu/drm/lima/lima_drv.c                    |    6 +-
  drivers/gpu/drm/panel/panel-edp.c                  |    1 +
  drivers/gpu/drm/tegra/sor.c                        |   15 +-
  drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   13 +-
  drivers/gpu/drm/ttm/ttm_pool.c                     |  111 +-
  drivers/gpu/drm/vc4/vc4_hdmi.c                     |   21 +-
  drivers/staging/sm750fb/sm750.c                    |   16 +-
  drivers/video/aperture.c                           |    8 +-
  drivers/video/fbdev/aty/radeon_base.c              |   10 +-
  include/drm/display/drm_scdc_helper.h              |    7 +-
  include/drm/drm_gem_vram_helper.h                  |    4 +-
  include/uapi/drm/qaic_accel.h                      |  397 ++++
  51 files changed, 7004 insertions(+), 231 deletions(-)
  create mode 100644 Documentation/accel/qaic/aic100.rst
  create mode 100644 Documentation/accel/qaic/index.rst
  create mode 100644 Documentation/accel/qaic/qaic.rst
  create mode 100644 drivers/accel/qaic/Kconfig
  create mode 100644 drivers/accel/qaic/Makefile
  create mode 100644 drivers/accel/qaic/mhi_controller.c
  create mode 100644 drivers/accel/qaic/mhi_controller.h
  create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.c
  create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.h
  create mode 100644 drivers/accel/qaic/qaic.h
  create mode 100644 drivers/accel/qaic/qaic_control.c
  create mode 100644 drivers/accel/qaic/qaic_data.c
  create mode 100644 drivers/accel/qaic/qaic_drv.c
  create mode 100644 include/uapi/drm/qaic_accel.h

[-- Attachment #2: Type: text/html, Size: 9757 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-04-06  8:18 Joonas Lahtinen
  2023-04-06 12:38 ` Daniel Vetter
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2023-04-06  8:18 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

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

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-03-16 12:58 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2023-03-16 12:58 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here's the first batch of drm-intel-gt-next towards v6.4.

There is an important performance monitoring fix (#6333), more
resiliency to pcode load delay and avoiding caching problems on LLC
systems for ring buffers. Stolen memory probing fix and a
missing register whitelisting for Gen12. Fix for potential OOB access
on SSEU max_subslices array.

Improvements to error capture on GuC, corrections to workarounds
power domains across Gen11/Gen12 with subject to runtime PM.

Then the regular bunch of smaller tweaks, restructuring and cleanups
not to forget documentation, sparse and selftest improvements.

Regards, Joonas

***

drm-intel-gt-next-2023-03-16:

Driver Changes:

- Fix issue #6333: "list_add corruption" and full system lockup from
  performance monitoring (Janusz)
- Give the punit time to settle before fatally failing (Aravind, Chris)
- Don't use stolen memory or BAR for ring buffers on LLC platforms (John)
- Add missing ecodes and correct timeline seqno on GuC error captures (John)
- Make sure DSM size has correct 1MiB granularity on Gen12+ (Nirmoy,
  Lucas)
- Fix potential SSEU max_subslices array-index-out-of-bounds access on Gen11 (Andrea)
- Whitelist COMMON_SLICE_CHICKEN3 for UMD access on Gen12+ (Matt R.)
- Apply Wa_1408615072/Wa_1407596294 correctly on Gen11 (Matt R)
- Apply LNCF/LBCF workarounds correctly on XeHP SDV/PVC/DG2 (Matt R)
- Implement Wa_1606376872 for Xe_LP (Gustavo)
- Consider GSI offset when doing MCR lookups on Meteorlake+ (Matt R.)
- Add engine TLB invalidation for Meteorlake (Matt R.)
- Fix GSC Driver-FLR completion on Meteorlake (Alan)
- Fix GSC races on driver load/unload on Meteorlake+ (Daniele)
- Disable MC6 for MTL A step (Badal)

- Consolidate TLB invalidation flow (Tvrtko)
- Improve debug GuC/HuC debug messages (Michal Wa., John)
- Move fd_install after last use of fence (Rob)
- Initialize the obj flags for shmem objects (Aravind)
- Fix missing debug object activation (Nirmoy)
- Probe lmem before the stolen portion (Matt A)
- Improve clean up of GuC busyness stats worker (John)
- Fix missing return code checks in GuC submission init (John)
- Annotate two more workaround/tuning registers as MCR on PVC (Matt R)
- Fix GEN8_MISCCPCTL definition and remove unused INF_UNIT_LEVEL_CLKGATE (Lucas)
- Use sysfs_emit() and sysfs_emit_at() (Nirmoy)
- Make kobj_type structures constant (Thomas W.)
- make kobj attributes const on gt/ (Jani)
- Remove the unused virtualized start hack on buddy allocator (Matt A)
- Remove redundant check for DG1 (Lucas)
- Move DG2 tuning to the right function (Lucas)
- Rename dev_priv to i915 for private data naming consistency in gt/ (Andi)
- Remove unnecessary whitelisting of CS_CTX_TIMESTAMP on Xe_HP platforms (Matt R.)
-

- Escape wildcard in method names in kerneldoc (Bagas)
- Selftest improvements (Chris, Jonathan, Tvrtko, Anshuman, Tejas)
- Fix sparse warnings (Jani)
The following changes since commit 003e11ed2ef4af01b808f0f193eaa5a32f32383b:

  drm/i915/mtl: Wa_22011802037: don't complain about missing regs on MTL (2023-01-31 15:17:30 -0800)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-03-16

for you to fetch changes up to d2a9692ad4295e227e3352fdbf14b8491b01e1c9:

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

----------------------------------------------------------------
Driver Changes:

- Fix issue #6333: "list_add corruption" and full system lockup from
  performance monitoring (Janusz)
- Give the punit time to settle before fatally failing (Aravind, Chris)
- Don't use stolen memory or BAR for ring buffers on LLC platforms (John)
- Add missing ecodes and correct timeline seqno on GuC error captures (John)
- Make sure DSM size has correct 1MiB granularity on Gen12+ (Nirmoy,
  Lucas)
- Fix potential SSEU max_subslices array-index-out-of-bounds access on Gen11 (Andrea)
- Whitelist COMMON_SLICE_CHICKEN3 for UMD access on Gen12+ (Matt R.)
- Apply Wa_1408615072/Wa_1407596294 correctly on Gen11 (Matt R)
- Apply LNCF/LBCF workarounds correctly on XeHP SDV/PVC/DG2 (Matt R)
- Implement Wa_1606376872 for Xe_LP (Gustavo)
- Consider GSI offset when doing MCR lookups on Meteorlake+ (Matt R.)
- Add engine TLB invalidation for Meteorlake (Matt R.)
- Fix GSC Driver-FLR completion on Meteorlake (Alan)
- Fix GSC races on driver load/unload on Meteorlake+ (Daniele)
- Disable MC6 for MTL A step (Badal)

- Consolidate TLB invalidation flow (Tvrtko)
- Improve debug GuC/HuC debug messages (Michal Wa., John)
- Move fd_install after last use of fence (Rob)
- Initialize the obj flags for shmem objects (Aravind)
- Fix missing debug object activation (Nirmoy)
- Probe lmem before the stolen portion (Matt A)
- Improve clean up of GuC busyness stats worker (John)
- Fix missing return code checks in GuC submission init (John)
- Annotate two more workaround/tuning registers as MCR on PVC (Matt R)
- Fix GEN8_MISCCPCTL definition and remove unused INF_UNIT_LEVEL_CLKGATE (Lucas)
- Use sysfs_emit() and sysfs_emit_at() (Nirmoy)
- Make kobj_type structures constant (Thomas W.)
- make kobj attributes const on gt/ (Jani)
- Remove the unused virtualized start hack on buddy allocator (Matt A)
- Remove redundant check for DG1 (Lucas)
- Move DG2 tuning to the right function (Lucas)
- Rename dev_priv to i915 for private data naming consistency in gt/ (Andi)
- Remove unnecessary whitelisting of CS_CTX_TIMESTAMP on Xe_HP platforms (Matt R.)
-

- Escape wildcard in method names in kerneldoc (Bagas)
- Selftest improvements (Chris, Jonathan, Tvrtko, Anshuman, Tejas)
- Fix sparse warnings (Jani)

----------------------------------------------------------------
Alan Previn (1):
      drm/i915/gsc: Fix the Driver-FLR completion

Andi Shyti (1):
      drm/i915/gt: Rename dev_priv to i915 for private data naming consistency

Andrea Righi (1):
      drm/i915/sseu: fix max_subslices array-index-out-of-bounds access

Anshuman Gupta (2):
      drm/i915/selftest: Fix engine timestamp and ktime disparity
      drm/i915/selftest: Fix ktime_get() and h/w access order

Aravind Iddamsetty (2):
      drm/i915: Initialize the obj flags for shmem objects
      drm/i915/pcode: Give the punit time to settle before fatally failing

Badal Nilawar (1):
      drm/i915/mtl: Disable MC6 for MTL A step

Bagas Sanjaya (1):
      drm/i915/doc: Escape wildcard in method names

Chris Wilson (1):
      drm/i915/gt: Add selftests for TLB invalidation

Daniele Ceraolo Spurio (2):
      drm/i915/gsc: flush the GSC worker before wedging on unload
      drm/i915/gsc: Fix race between HW init and GSC FW load

Gustavo Sousa (1):
      drm/i915/xelp: Implement Wa_1606376872

Jani Nikula (3):
      drm/i915/gt: add sparse lock annotation to avoid warnings
      drm/i915/pxp: fix __le64 access to get rid of sparse warning
      drm/i915/gt: make kobj attributes const

Janusz Krzysztofik (1):
      drm/i915/active: Fix misuse of non-idle barriers as fence trackers

John Harrison (13):
      drm/i915/guc: More debug print updates - UC firmware
      drm/i915/guc: More debug print updates - GSC firmware
      drm/i915/guc: More debug print updates - GuC reg capture
      drm/i915/guc: More debug print updates - GuC selftests
      drm/i915/guc: More debug print updates - GuC SLPC
      drm/i915/guc: More debug print updates - GuC logging
      drm/i915: Don't use stolen memory for ring buffers with LLC
      drm/i915: Don't use BAR mappings for ring buffers with LLC
      drm/i915/guc: Improve clean up of busyness stats worker
      drm/i915/guc: Fix missing return code checks in submission init
      drm/i915/guc: Fix missing ecodes
      drm/i915/guc: Clean up of register capture search
      drm/i915: Include timeline seqno in error capture

Jonathan Cavitt (1):
      drm/i915/mtl: X-Tile support changes to client blits

Lucas De Marchi (4):
      drm/i915: Fix GEN8_MISCCPCTL
      drm/i915: Remove unused/wrong INF_UNIT_LEVEL_CLKGATE
      drm/i915: Remove redundant check for DG1
      drm/i915: Move DG2 tuning to the right function

Matt Roper (7):
      drm/i915/pvc: Annotate two more workaround/tuning registers as MCR
      drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
      drm/i915/xehp: LNCF/LBCF workarounds should be on the GT list
      drm/i915/xelpmp: Consider GSI offset when doing MCR lookups
      drm/i915/mtl: Add engine TLB invalidation
      drm/i915: Whitelist COMMON_SLICE_CHICKEN3 for UMD access
      drm/i915: Stop whitelisting CS_CTX_TIMESTAMP on Xe_HP platforms

Matthew Auld (2):
      drm/i915: probe lmem before the stolen portion
      drm/i915/ttm: remove the virtualized start hack

Michal Wajdeczko (2):
      drm/i915/guc: Improve debug message on context reset notification
      drm/i915/huc: Add and use HuC oriented print macros

Nirmoy Das (3):
      drm/i915/gt: Use sysfs_emit() and sysfs_emit_at()
      drm/i915: Make sure dsm_size has correct granularity
      drm/i915/active: Fix missing debug object activation

Rob Clark (1):
      drm/i915: Move fd_install after last use of fence

Tejas Upadhyay (1):
      drm/i915/selftest: Remove avoidable init assignment

Thomas Weißschuh (1):
      drm/i915: Make kobj_type structures constant

Tvrtko Ursulin (2):
      drm/i915: Consolidate TLB invalidation flow
      drm/i915/selftests: Fix live_requests for all engines

 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   2 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  19 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          | 137 +++++++-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  14 +
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   1 +
 drivers/gpu/drm/i915/gt/intel_gsc.h                |   2 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 | 165 +++------
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |   9 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  27 --
 drivers/gpu/drm/i915/gt/intel_gt_print.h           |   3 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  16 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |   2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   8 +
 drivers/gpu/drm/i915/gt/intel_reset_types.h        |   2 +-
 drivers/gpu/drm/i915/gt/intel_ring.c               |   6 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   4 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   2 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 160 +++++----
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  10 +-
 drivers/gpu/drm/i915/gt/selftest_tlb.c             | 388 +++++++++++++++++++++
 drivers/gpu/drm/i915/gt/sysfs_engines.c            |  72 ++--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          |   9 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          |  28 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h          |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  78 +++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  21 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_print.h       |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |  21 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  61 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 140 +++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  44 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  56 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 116 +++---
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |  42 +--
 .../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c    |  23 +-
 .../gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c    |  11 +-
 drivers/gpu/drm/i915/i915_active.c                 |  28 +-
 drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |   3 +
 drivers/gpu/drm/i915/i915_gpu_error.h              |   1 +
 drivers/gpu/drm/i915/i915_reg.h                    |   9 -
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |   7 -
 drivers/gpu/drm/i915/intel_pcode.c                 |  35 +-
 drivers/gpu/drm/i915/intel_pm.c                    |  10 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  13 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |   2 +-
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |   1 +
 drivers/gpu/drm/i915/selftests/i915_request.c      | 134 ++++---
 54 files changed, 1283 insertions(+), 701 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_tlb.c

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-02-01 11:36 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-02-01 11:36 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here goes the final pull request for 6.3.

Aside a few fixes, the reset is split between refactoring of the
workarounds code and correcting some workaround placement to correctly
align for new platforms, and converting the GuC code to use dedicated
logging macros, as was done for the whole of the GT in the previous pull.

Some minor random future platform prep as well, and a back merge to fix
a conflict between drm-intel-next and drm-intel-gt-next.

Regards,

Tvrtko

drm-intel-gt-next-2023-02-01:
Driver Changes:

Fixes/improvements/new stuff:

- Fix bcs default context on Meteorlake (Lucas De Marchi)
- GAM registers don't need to be re-applied on engine resets (Matt Roper)
- Correct implementation of Wa_18018781329 (Matt Roper)
- Avoid potential vm use-after-free (Rob Clark)
- GuC error capture fixes (John Harrison)
- Fix potential bit_17 double-free (Rob Clark)
- Don't complain about missing regs on MTL (John Harrison)

Future platform enablement:

- Convert PSS_MODE2 to multicast register (Gustavo Sousa)
- Move/adjust register definitions related to Wa_22011450934 (Matt Roper)
- Move LSC_CHICKEN_BIT* workarounds to correct function (Gustavo Sousa)
- Document where to implement register workarounds (Gustavo Sousa)
- Use uabi engines for the default engine map (Tvrtko Ursulin)
- Flush all tiles on test exit (Tvrtko Ursulin)
- Annotate a couple more workaround registers as MCR (Matt Roper)

Driver refactors:

- Add and use GuC oriented print macros (Michal Wajdeczko)

Miscellaneous:

- Fix intel_selftest_modify_policy argument types (Arnd Bergmann)

Backmerges:

Merge drm/drm-next into drm-intel-gt-next (for conflict resolution) (Tvrtko Ursulin)
The following changes since commit 045e8d102f44ad75dca0b0ec9eede15ea89da673:

  Merge tag 'drm-intel-gt-next-2023-01-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2023-01-24 16:20:43 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-02-01

for you to fetch changes up to 003e11ed2ef4af01b808f0f193eaa5a32f32383b:

  drm/i915/mtl: Wa_22011802037: don't complain about missing regs on MTL (2023-01-31 15:17:30 -0800)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Fix bcs default context on Meteorlake (Lucas De Marchi)
- GAM registers don't need to be re-applied on engine resets (Matt Roper)
- Correct implementation of Wa_18018781329 (Matt Roper)
- Avoid potential vm use-after-free (Rob Clark)
- GuC error capture fixes (John Harrison)
- Fix potential bit_17 double-free (Rob Clark)
- Don't complain about missing regs on MTL (John Harrison)

Future platform enablement:

- Convert PSS_MODE2 to multicast register (Gustavo Sousa)
- Move/adjust register definitions related to Wa_22011450934 (Matt Roper)
- Move LSC_CHICKEN_BIT* workarounds to correct function (Gustavo Sousa)
- Document where to implement register workarounds (Gustavo Sousa)
- Use uabi engines for the default engine map (Tvrtko Ursulin)
- Flush all tiles on test exit (Tvrtko Ursulin)
- Annotate a couple more workaround registers as MCR (Matt Roper)

Driver refactors:

- Add and use GuC oriented print macros (Michal Wajdeczko)

Miscellaneous:

- Fix intel_selftest_modify_policy argument types (Arnd Bergmann)

Backmerges:

Merge drm/drm-next into drm-intel-gt-next (for conflict resolution) (Tvrtko Ursulin)

----------------------------------------------------------------
Arnd Bergmann (1):
      drm/i915/selftest: fix intel_selftest_modify_policy argument types

Gustavo Sousa (3):
      drm/i915/doc: Document where to implement register workarounds
      drm/i915/gt: Move LSC_CHICKEN_BIT* workarounds to correct function
      drm/i915/gt: Convert PSS_MODE2 to multicast register

John Harrison (9):
      drm/i915/guc: Fix locking when searching for a hung request
      drm/i915: Fix request ref counting during error capture & debugfs dump
      drm/i915: Fix up locking around dumping requests lists
      drm/i915: Allow error capture without a request
      drm/i915: Allow error capture of a pending request
      drm/i915/guc: Look for a guilty context when an engine reset fails
      drm/i915/guc: Add a debug print on GuC triggered reset
      drm/i915/guc: Rename GuC register state capture node to be more obvious
      drm/i915/mtl: Wa_22011802037: don't complain about missing regs on MTL

Lucas De Marchi (1):
      drm/i915/mtl: Fix bcs default context

Matt Roper (4):
      drm/i915: Move/adjust register definitions related to Wa_22011450934
      drm/i915/xehp: GAM registers don't need to be re-applied on engine resets
      drm/i915/mtl: Correct implementation of Wa_18018781329
      drm/i915/xehp: Annotate a couple more workaround registers as MCR

Michal Wajdeczko (8):
      drm/i915/guc: Add GuC oriented print macros
      drm/i915/guc: Update GuC messages in intel_guc.c
      drm/i915/guc: Update GuC messages in intel_guc_ads.c
      drm/i915/guc: Update GuC messages in intel_guc_ct.c
      drm/i915/guc: Update GuC messages in intel_guc_fw.c
      drm/i915/guc: Update GuC messages in intel_guc_log.c
      drm/i915/guc: Update GuC messages in intel_guc_submission.c
      drm/i915/guc: Update GT/GuC messages in intel_uc.c

Rob Clark (2):
      drm/i915: Avoid potential vm use-after-free
      drm/i915: Fix potential bit_17 double-free

Tvrtko Ursulin (3):
      drm/i915: Use uabi engines for the default engine map
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915/selftests: Flush all tiles on test exit

 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  23 ++-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   9 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   4 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  79 +++++-----
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   1 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  27 ++++
 .../gpu/drm/i915/gt/intel_execlists_submission.h   |   4 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  17 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  43 +-----
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 172 +++++++++++++--------
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  31 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  23 +--
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  17 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  38 ++---
 drivers/gpu/drm/i915/gt/uc/intel_guc_print.h       |  48 ++++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  96 +++++++-----
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  80 +++++-----
 drivers/gpu/drm/i915/i915_drv.h                    |   4 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  92 +++++------
 drivers/gpu/drm/i915/i915_gpu_error.h              |   2 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   4 -
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |  28 ++--
 .../drm/i915/selftests/intel_scheduler_helpers.c   |   3 +-
 27 files changed, 491 insertions(+), 377 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_print.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2023-01-18 11:24 Tvrtko Ursulin
@ 2023-01-24 15:32 ` Daniel Vetter
  0 siblings, 0 replies; 68+ messages in thread
From: Daniel Vetter @ 2023-01-24 15:32 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: dim-tools, Daniel Vetter, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

On Wed, Jan 18, 2023 at 11:24:44AM +0000, Tvrtko Ursulin wrote:
> Hi Dave, Daniel,
> 
> Here goes the first pull request for 6.3.
> 
> What sticks out most is the amount of fixes, majority of which if not all
> would have already landed via gt/next fixes pull requests though, so I
> will only mention them here briefly.
> 
> Most impactful ones are probably in the area of DG2 TLB invalidation,
> followed by eviction, both platform agnostic (userspace crashes due
> eviction failures after object locking changes) and a couple DG2 ones
> (visual glitches due CCS aux data not always handled).
> 
> Then we have a bunch of crashes and simiar issues fixed which would have
> been triggerable under more like edge conditions. On older platforms,
> RC6p gets disabled on Sandybridge to avoid GPU hangs and visual glitches.
> 
> Finally there is a bunch of log noise getting disabled, mostly over-
> zealouos log level use or misleadingly logging failures which are
> otherwise handled.
> 
> In terms of new features there isn't that much. We have some new
> workarounds which can affect performance and an improvement to suspend-
> resume times especially significant on modern slow CPU systems like some
> Chromebooks.
> 
> Outside of immediate visibility to end users, early enablement for
> Meteorlake and Ponte Vecchio is carrying on. Former especially has had
> support for loading the GSC firmware, OA and initial GT workarounds added.
> 
> And of course as always there are some random cleanups, selftest tweaks
> and misc refactorings, which feels less than the usual amount in this
> round.
> 
> Regards,
> 
> Tvrtko
> 
> drm-intel-gt-next-2023-01-18:
> Driver Changes:
> 
> Fixes/improvements/new stuff:
> 
> - Fix workarounds on Gen2-3 (Tvrtko Ursulin)
> - Fix HuC delayed load memory leaks (Daniele Ceraolo Spurio)
> - Fix a BUG caused by impendance mismatch in dma_fence_wait_timeout and GuC (Janusz Krzysztofik)
> - Add DG2 workarounds Wa_18018764978 and Wa_18019271663 (Matt Atwood)
> - Apply recommended L3 hashing mask tuning parameters (Gen12+) (Matt Roper)
> - Improve suspend / resume times with VT-d scanout workaround active (Andi Shyti, Chris Wilson)
> - Silence misleading "mailbox access failed" warning in snb_pcode_read (Ashutosh Dixit)
> - Fix null pointer dereference on HSW perf/OA (Umesh Nerlige Ramappa)
> - Avoid trampling the ring during buffer migration (and selftests) (Chris Wilson, Matthew Auld)
> - Fix DG2 visual corruption on small BAR systems by not forgetting to copy CCS aux state (Matthew Auld)
> - More fixing of DG2 visual corruption by not forgetting to copy CCS aux state of backup objects (Matthew Auld)
> - Fix TLB invalidation for Gen12.50 video and compute engines (Andrzej Hajda)
> - Limit Wa_22012654132 to just specific steppings (Matt Roper)
> - Fix userspace crashes due eviction not working under lock contention after the object locking conversion (Matthew Auld)
> - Avoid double free is user deploys a corrupt GuC firmware (John Harrison)
> - Fix 32-bit builds by using "%zu" to format size_t (Nirmoy Das)
> - Fix a possible BUG in TTM async unbind due not reserving enough fence slots (Nirmoy Das)
> - Fix potential use after free by not exposing the GEM context id to userspace too early (Rob Clark)
> - Show clamped PL1 limit to the user (hwmon) (Ashutosh Dixit)
> - Workaround unreliable reset on Jasperlake (Chris Wilson)
> - Cover rest of SVG unit MCR registers (Gustavo Sousa)
> - Avoid PXP log spam on platforms which do not support the feature (Alan Previn)
> - Re-disable RC6p on Sandy Bridge to avoid GPU hangs and visual glitches (Sasa Dragic)
> 
> Future platform enablement:
> 
> - Manage uncore->lock while waiting on MCR register (Matt Roper)
> - Enable Idle Messaging for GSC CS (Vinay Belgaumkar)
> - Only initialize GSC in tile 0 (José Roberto de Souza)
> - Media GT and Render GT share common GGTT (Aravind Iddamsetty)
> - Add dedicated MCR lock (Matt Roper)
> - Implement recommended caching policy (PVC) (Wayne Boyer)
> - Add hardware-level lock for steering (Matt Roper)
> - Check full IP version when applying hw steering semaphore (Matt Roper)
> - Enable GuC GGTT invalidation from the start (Daniele Ceraolo Spurio)
> - MTL GSC firmware support (Daniele Ceraolo Spurio, Jonathan Cavitt)
> - MTL OA support (Umesh Nerlige Ramappa)
> - MTL initial gt workarounds (Matt Roper)
> 
> Driver refactors:
> 
> - Hold forcewake and MCR lock over PPAT setup (Matt Roper)
> - Acquire fw before loop in intel_uncore_read64_2x32 (Umesh Nerlige Ramappa)
> - GuC filename cleanups and use submission API version number (John Harrison)
> - Promote pxp subsystem to top-level of i915 (Alan Previn)
> - Finish proofing the code agains object size overflows (Chris Wilson, Gwan-gyeong Mun)
> - Start adding module oriented dmesg output (John Harrison)
> 
> Miscellaneous:
> 
> - Correct kerneldoc for intel_gt_mcr_wait_for_reg() (Matt Roper)
> - Bump up sample period for busy stats selftest (Umesh Nerlige Ramappa)
> - Make GuC default_lists const data (Jani Nikula)
> - Fix table order verification to check all FW types (John Harrison)
> - Remove some limited use register access wrappers (Jani Nikula)
> - Remove struct_member macro (Andrzej Hajda)
> - Remove hardcoded value with a macro (Nirmoy Das)
> - Use helper func to find out map type (Nirmoy Das)
> - Fix a static analysis warning (John Harrison)
> - Consolidate VMA active tracking helpers (Andrzej Hajda)
> - Do not cover all future platforms in TLB invalidation (Tvrtko Ursulin)
> - Replace zero-length arrays with flexible-array members (Gustavo A. R. Silva)
> - Unwind hugepages to drop wakeref on error (Chris Wilson)
> - Remove a couple of superfluous i915_drm.h includes (Jani Nikula)
> 
> Merges:
> 
> - Merge drm/drm-next into drm-intel-gt-next (Rodrigo Vivi)
> The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:
> 
>   Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-01-18

Pulled, but there was an entertaining (silent?) git merge conflict in
intel_uc_fw.c with a duplicated try_firmware_load.c. I fixed it up after
Rodrigo and dim-rerere confirmed it's not just me :-)

Thanks, Daniel

> 
> for you to fetch changes up to 378e04f7cb24aad124a8e55e7a36b689fb63ac17:
> 
>   drm/i915: remove a couple of superfluous i915_drm.h includes (2023-01-18 11:55:08 +0200)
> 
> ----------------------------------------------------------------
> Driver Changes:
> 
> Fixes/improvements/new stuff:
> 
> - Fix workarounds on Gen2-3 (Tvrtko Ursulin)
> - Fix HuC delayed load memory leaks (Daniele Ceraolo Spurio)
> - Fix a BUG caused by impendance mismatch in dma_fence_wait_timeout and GuC (Janusz Krzysztofik)
> - Add DG2 workarounds Wa_18018764978 and Wa_18019271663 (Matt Atwood)
> - Apply recommended L3 hashing mask tuning parameters (Gen12+) (Matt Roper)
> - Improve suspend / resume times with VT-d scanout workaround active (Andi Shyti, Chris Wilson)
> - Silence misleading "mailbox access failed" warning in snb_pcode_read (Ashutosh Dixit)
> - Fix null pointer dereference on HSW perf/OA (Umesh Nerlige Ramappa)
> - Avoid trampling the ring during buffer migration (and selftests) (Chris Wilson, Matthew Auld)
> - Fix DG2 visual corruption on small BAR systems by not forgetting to copy CCS aux state (Matthew Auld)
> - More fixing of DG2 visual corruption by not forgetting to copy CCS aux state of backup objects (Matthew Auld)
> - Fix TLB invalidation for Gen12.50 video and compute engines (Andrzej Hajda)
> - Limit Wa_22012654132 to just specific steppings (Matt Roper)
> - Fix userspace crashes due eviction not working under lock contention after the object locking conversion (Matthew Auld)
> - Avoid double free is user deploys a corrupt GuC firmware (John Harrison)
> - Fix 32-bit builds by using "%zu" to format size_t (Nirmoy Das)
> - Fix a possible BUG in TTM async unbind due not reserving enough fence slots (Nirmoy Das)
> - Fix potential use after free by not exposing the GEM context id to userspace too early (Rob Clark)
> - Show clamped PL1 limit to the user (hwmon) (Ashutosh Dixit)
> - Workaround unreliable reset on Jasperlake (Chris Wilson)
> - Cover rest of SVG unit MCR registers (Gustavo Sousa)
> - Avoid PXP log spam on platforms which do not support the feature (Alan Previn)
> - Re-disable RC6p on Sandy Bridge to avoid GPU hangs and visual glitches (Sasa Dragic)
> 
> Future platform enablement:
> 
> - Manage uncore->lock while waiting on MCR register (Matt Roper)
> - Enable Idle Messaging for GSC CS (Vinay Belgaumkar)
> - Only initialize GSC in tile 0 (José Roberto de Souza)
> - Media GT and Render GT share common GGTT (Aravind Iddamsetty)
> - Add dedicated MCR lock (Matt Roper)
> - Implement recommended caching policy (PVC) (Wayne Boyer)
> - Add hardware-level lock for steering (Matt Roper)
> - Check full IP version when applying hw steering semaphore (Matt Roper)
> - Enable GuC GGTT invalidation from the start (Daniele Ceraolo Spurio)
> - MTL GSC firmware support (Daniele Ceraolo Spurio, Jonathan Cavitt)
> - MTL OA support (Umesh Nerlige Ramappa)
> - MTL initial gt workarounds (Matt Roper)
> 
> Driver refactors:
> 
> - Hold forcewake and MCR lock over PPAT setup (Matt Roper)
> - Acquire fw before loop in intel_uncore_read64_2x32 (Umesh Nerlige Ramappa)
> - GuC filename cleanups and use submission API version number (John Harrison)
> - Promote pxp subsystem to top-level of i915 (Alan Previn)
> - Finish proofing the code agains object size overflows (Chris Wilson, Gwan-gyeong Mun)
> - Start adding module oriented dmesg output (John Harrison)
> 
> Miscellaneous:
> 
> - Correct kerneldoc for intel_gt_mcr_wait_for_reg() (Matt Roper)
> - Bump up sample period for busy stats selftest (Umesh Nerlige Ramappa)
> - Make GuC default_lists const data (Jani Nikula)
> - Fix table order verification to check all FW types (John Harrison)
> - Remove some limited use register access wrappers (Jani Nikula)
> - Remove struct_member macro (Andrzej Hajda)
> - Remove hardcoded value with a macro (Nirmoy Das)
> - Use helper func to find out map type (Nirmoy Das)
> - Fix a static analysis warning (John Harrison)
> - Consolidate VMA active tracking helpers (Andrzej Hajda)
> - Do not cover all future platforms in TLB invalidation (Tvrtko Ursulin)
> - Replace zero-length arrays with flexible-array members (Gustavo A. R. Silva)
> - Unwind hugepages to drop wakeref on error (Chris Wilson)
> - Remove a couple of superfluous i915_drm.h includes (Jani Nikula)
> 
> Merges:
> 
> - Merge drm/drm-next into drm-intel-gt-next (Rodrigo Vivi)
> 
> ----------------------------------------------------------------
> Alan Previn (2):
>       drm/i915/pxp: Promote pxp subsystem to top-level of i915
>       drm/i915/pxp: Use drm_dbg if arb session failed due to fw version
> 
> Andi Shyti (2):
>       drm/i915: Limit the display memory alignment to 32 bit instead of 64
>       Revert "drm/i915: Improve on suspend / resume time with VT-d enabled"
> 
> Andrzej Hajda (4):
>       drm/i915: remove struct_member macro
>       drm/i915: fix TLB invalidation for Gen12.50 video and compute engines
>       drm/i915: use proper helper in igt_vma_move_to_active_unlocked
>       drm/i915/selftest: use igt_vma_move_to_active_unlocked if possible
> 
> Aravind Iddamsetty (1):
>       drm/i915/mtl: Media GT and Render GT share common GGTT
> 
> Ashutosh Dixit (2):
>       drm/i915/hwmon: Silence "mailbox access failed" warning in snb_pcode_read
>       drm/i915/hwmon: Display clamped PL1 limit
> 
> Chris Wilson (9):
>       drm/i915: Wrap all access to i915_vma.node.start|size
>       drm/i915: Introduce guard pages to i915_vma
>       drm/i915: Refine VT-d scanout workaround
>       drm/i915/migrate: Account for the reserved_space
>       drm/i915/gem: Typecheck page lookups
>       drm/i915: Check for integer truncation on scatterlist creation
>       drm/i915: Remove truncation warning for large objects
>       drm/i915/gt: Reset twice
>       drm/i915/selftests: Unwind hugepages to drop wakeref on error
> 
> Daniele Ceraolo Spurio (8):
>       drm/i915/huc: fix leak of debug object in huc load fence on driver unload
>       drm/i915/huc: always init the delayed load fence
>       drm/i915/guc: enable GuC GGTT invalidation from the start
>       drm/i915/uc: Introduce GSC FW
>       drm/i915/gsc: Skip the version check when fetching the GSC FW
>       drm/i915/gsc: GSC firmware loading
>       drm/i915/gsc: Do a driver-FLR on unload if GSC was loaded
>       drm/i915/mtl: MTL has one GSC CS on the media GT
> 
> Gustavo A. R. Silva (1):
>       drm/i915/guc: Replace zero-length arrays with flexible-array members
> 
> Gustavo Sousa (1):
>       drm/i915/gt: Cover rest of SVG unit MCR registers
> 
> Gwan-gyeong Mun (3):
>       drm/i915: Check for integer truncation on the configuration of ttm place
>       drm/i915: Check if the size is too big while creating shmem file
>       drm/i915: Use error code as -E2BIG when the size of gem ttm object is too large
> 
> Jani Nikula (3):
>       drm/i915/guc: make default_lists const data
>       drm/i915/gt: remove some limited use register access wrappers
>       drm/i915: remove a couple of superfluous i915_drm.h includes
> 
> Janusz Krzysztofik (2):
>       drm/i915: Fix negative value passed as remaining time
>       drm/i915: Never return 0 if not all requests retired
> 
> John Harrison (7):
>       drm/i915/uc: Fix table order verification to check all FW types
>       drm/i915/uc: Rationalise delimiters in filename macros
>       drm/i915/uc: More refactoring of UC version numbers
>       drm/i915/guc: Use GuC submission API version number
>       drm/i915/guc: Fix a static analysis warning
>       drm/i915/uc: Fix two issues with over-size firmware files
>       drm/i915/gt: Start adding module oriented dmesg output
> 
> Jonathan Cavitt (1):
>       drm/i915/gsc: Disable GSC engine and power well if FW is not selected
> 
> José Roberto de Souza (1):
>       drm/i915/gsc: Only initialize GSC in tile 0
> 
> Matt Atwood (2):
>       drm/i915/dg2: Introduce Wa_18018764978
>       drm/i915/dg2: Introduce Wa_18019271663
> 
> Matt Roper (10):
>       drm/i915/gt: Manage uncore->lock while waiting on MCR register
>       drm/i915/gt: Correct kerneldoc for intel_gt_mcr_wait_for_reg()
>       drm/i915/gt: Pass gt rather than uncore to lowest-level reads/writes
>       drm/i915/gt: Add dedicated MCR lock
>       drm/i915/mcr: Hold forcewake and MCR lock over PPAT setup
>       drm/i915/mtl: Add hardware-level lock for steering
>       drm/i915/mtl: Check full IP version when applying hw steering semaphore
>       drm/i915/gen12: Apply recommended L3 hashing mask
>       drm/i915/dg2: Return Wa_22012654132 to just specific steppings
>       drm/i915/mtl: Add initial gt workarounds
> 
> Matthew Auld (5):
>       drm/i915/selftests: use live_subtests for live_migrate
>       drm/i915/selftests: exercise emit_pte() with nearly full ring
>       drm/i915/migrate: fix corner case in CCS aux copying
>       drm/i915/ttm: consider CCS for backup objects
>       drm/i915: improve the catch-all evict to handle lock contention
> 
> Nirmoy Das (4):
>       drm/i915/selftests: Remove hardcoded value with a macro
>       drm/i915: Use helper func to find out map type
>       drm/i915: Use "%zu" to format size_t
>       drm/i915: Reserve enough fence slot for i915_vma_unbind_async
> 
> Rob Clark (1):
>       drm/i915: Fix potential context UAFs
> 
> Rodrigo Vivi (1):
>       Merge drm/drm-next into drm-intel-gt-next
> 
> Sasa Dragic (1):
>       drm/i915: re-disable RC6p on Sandy Bridge
> 
> Tvrtko Ursulin (2):
>       drm/i915: Fix workarounds on Gen2-3
>       drm/i915: Do not cover all future platforms in TLB invalidation
> 
> Umesh Nerlige Ramappa (7):
>       i915/uncore: Acquire fw before loop in intel_uncore_read64_2x32
>       drm/i915/selftest: Bump up sample period for busy stats selftest
>       drm/i915/perf: Do not parse context image for HSW
>       drm/i915/mtl: Resize noa_wait BO size to save restore GPR regs
>       drm/i915/mtl: Add Wa_14015846243 to fix OA vs CS timestamp mismatch
>       drm/i915/mtl: Update OA mux whitelist for MTL
>       drm/i915/mtl: Add OA support by enabling 32 bit OAG formats for MTL
> 
> Vinay Belgaumkar (1):
>       drm/i915/mtl: Enable Idle Messaging for GSC CS
> 
> Wayne Boyer (1):
>       drm/i915/pvc: Implement recommended caching policy
> 
>  drivers/gpu/drm/i915/Makefile                      |  11 +-
>  drivers/gpu/drm/i915/display/intel_fb_pin.c        |   2 +-
>  drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
>  drivers/gpu/drm/i915/display/skl_universal_plane.c |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |  30 +-
>  drivers/gpu/drm/i915/gem/i915_gem_create.c         |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  15 +-
>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  94 ++++--
>  drivers/gpu/drm/i915/gem/i915_gem_internal.c       |   7 +-
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |   7 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.h         | 303 ++++++++++++++++---
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  27 +-
>  drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   4 +
>  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  25 +-
>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  20 +-
>  drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   6 +-
>  .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |   6 +-
>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  18 +-
>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  23 +-
>  .../drm/i915/gem/selftests/i915_gem_coherency.c    |   2 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  35 +--
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  10 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   8 +-
>  drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |  15 +-
>  drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h |   2 +-
>  drivers/gpu/drm/i915/gt/gen7_renderclear.c         |   2 +-
>  drivers/gpu/drm/i915/gt/intel_engine.h             |   2 +
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  24 +-
>  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  18 ++
>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt.c               | 186 ++++--------
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   3 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c          |   1 -
>  drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   7 +
>  drivers/gpu/drm/i915/gt/intel_gsc.c                |   8 +
>  drivers/gpu/drm/i915/gt/intel_gt.c                 | 175 +++++------
>  drivers/gpu/drm/i915/gt/intel_gt.h                 |   5 +
>  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   8 +-
>  drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   2 -
>  drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  11 +-
>  drivers/gpu/drm/i915/gt/intel_gt_mcr.c             | 141 ++++++++-
>  drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |   2 +
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  17 +-
>  drivers/gpu/drm/i915/gt/intel_gt_print.h           |  51 ++++
>  drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  33 +-
>  drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |   4 +-
>  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  34 +--
>  drivers/gpu/drm/i915/gt/intel_gt_types.h           |  20 +-
>  drivers/gpu/drm/i915/gt/intel_gtt.c                |  34 ++-
>  drivers/gpu/drm/i915/gt/intel_gtt.h                |  30 +-
>  drivers/gpu/drm/i915/gt/intel_migrate.c            |   6 +-
>  drivers/gpu/drm/i915/gt/intel_mocs.c               |   3 +
>  drivers/gpu/drm/i915/gt/intel_renderstate.c        |   2 +-
>  drivers/gpu/drm/i915/gt/intel_reset.c              |  52 ++--
>  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   2 +-
>  drivers/gpu/drm/i915/gt/intel_workarounds.c        | 172 +++++++----
>  drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   8 +-
>  drivers/gpu/drm/i915/gt/selftest_execlists.c       |  30 +-
>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  15 +-
>  drivers/gpu/drm/i915/gt/selftest_lrc.c             |  20 +-
>  drivers/gpu/drm/i915/gt/selftest_migrate.c         | 173 ++++++++++-
>  drivers/gpu/drm/i915/gt/selftest_mocs.c            |   4 +-
>  drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_rps.c             |  12 +-
>  drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  20 +-
>  drivers/gpu/drm/i915/gt/shmem_utils.c              |   7 +-
>  drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |   6 +-
>  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          | 210 +++++++++++++
>  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h          |  15 +
>  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          | 137 +++++++++
>  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h          |  47 +++
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  16 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  11 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  24 +-
>  drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |   2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  29 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   3 +
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 333 +++++++++++++++------
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  23 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |   3 +-
>  drivers/gpu/drm/i915/gvt/dmabuf.c                  |  10 +-
>  drivers/gpu/drm/i915/i915_cmd_parser.c             |   4 +-
>  drivers/gpu/drm/i915/i915_debugfs.c                |   2 +-
>  drivers/gpu/drm/i915/i915_driver.c                 |  46 +--
>  drivers/gpu/drm/i915/i915_drv.h                    |   7 +-
>  drivers/gpu/drm/i915/i915_gem.c                    |  20 +-
>  drivers/gpu/drm/i915/i915_gem_evict.c              |  88 ++++--
>  drivers/gpu/drm/i915/i915_gem_evict.h              |   4 +-
>  drivers/gpu/drm/i915/i915_gem_gtt.h                |   3 +-
>  drivers/gpu/drm/i915/i915_hwmon.c                  |  43 ++-
>  drivers/gpu/drm/i915/i915_params.c                 |   3 +
>  drivers/gpu/drm/i915/i915_params.h                 |   1 +
>  drivers/gpu/drm/i915/i915_pci.c                    |   5 +-
>  drivers/gpu/drm/i915/i915_perf.c                   |  51 +++-
>  drivers/gpu/drm/i915/i915_reg.h                    |   3 +
>  drivers/gpu/drm/i915/i915_scatterlist.c            |   9 +
>  drivers/gpu/drm/i915/i915_utils.h                  |   4 +-
>  drivers/gpu/drm/i915/i915_vma.c                    |  83 +++--
>  drivers/gpu/drm/i915/i915_vma.h                    |  52 +++-
>  drivers/gpu/drm/i915/i915_vma_resource.c           |   4 +-
>  drivers/gpu/drm/i915/i915_vma_resource.h           |  17 +-
>  drivers/gpu/drm/i915/i915_vma_types.h              |   3 +-
>  drivers/gpu/drm/i915/intel_device_info.c           |   6 +
>  drivers/gpu/drm/i915/intel_mchbar_regs.h           |   2 +
>  drivers/gpu/drm/i915/intel_region_ttm.c            |  14 +
>  drivers/gpu/drm/i915/intel_runtime_pm.h            |   2 +-
>  drivers/gpu/drm/i915/intel_uncore.c                |  59 ++++
>  drivers/gpu/drm/i915/intel_uncore.h                |  13 +
>  drivers/gpu/drm/i915/pxp/intel_pxp.c               | 128 ++++++--
>  drivers/gpu/drm/i915/pxp/intel_pxp.h               |   9 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c           |   8 +-
>  .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h |   1 +
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c       |  36 ++-
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h       |   4 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |  11 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_irq.c           |  18 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_pm.c            |   6 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |  10 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |  35 ++-
>  drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   8 +
>  drivers/gpu/drm/i915/selftests/i915_gem.c          |   2 +
>  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   4 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   4 +
>  drivers/gpu/drm/i915/selftests/i915_request.c      |  20 +-
>  drivers/gpu/drm/i915/selftests/igt_spinner.c       |   8 +-
>  drivers/gpu/drm/i915/selftests/scatterlist.c       |   4 +
>  129 files changed, 2778 insertions(+), 993 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_print.h
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2023-01-18 11:24 Tvrtko Ursulin
  2023-01-24 15:32 ` Daniel Vetter
  0 siblings, 1 reply; 68+ messages in thread
From: Tvrtko Ursulin @ 2023-01-18 11:24 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave, Daniel,

Here goes the first pull request for 6.3.

What sticks out most is the amount of fixes, majority of which if not all
would have already landed via gt/next fixes pull requests though, so I
will only mention them here briefly.

Most impactful ones are probably in the area of DG2 TLB invalidation,
followed by eviction, both platform agnostic (userspace crashes due
eviction failures after object locking changes) and a couple DG2 ones
(visual glitches due CCS aux data not always handled).

Then we have a bunch of crashes and simiar issues fixed which would have
been triggerable under more like edge conditions. On older platforms,
RC6p gets disabled on Sandybridge to avoid GPU hangs and visual glitches.

Finally there is a bunch of log noise getting disabled, mostly over-
zealouos log level use or misleadingly logging failures which are
otherwise handled.

In terms of new features there isn't that much. We have some new
workarounds which can affect performance and an improvement to suspend-
resume times especially significant on modern slow CPU systems like some
Chromebooks.

Outside of immediate visibility to end users, early enablement for
Meteorlake and Ponte Vecchio is carrying on. Former especially has had
support for loading the GSC firmware, OA and initial GT workarounds added.

And of course as always there are some random cleanups, selftest tweaks
and misc refactorings, which feels less than the usual amount in this
round.

Regards,

Tvrtko

drm-intel-gt-next-2023-01-18:
Driver Changes:

Fixes/improvements/new stuff:

- Fix workarounds on Gen2-3 (Tvrtko Ursulin)
- Fix HuC delayed load memory leaks (Daniele Ceraolo Spurio)
- Fix a BUG caused by impendance mismatch in dma_fence_wait_timeout and GuC (Janusz Krzysztofik)
- Add DG2 workarounds Wa_18018764978 and Wa_18019271663 (Matt Atwood)
- Apply recommended L3 hashing mask tuning parameters (Gen12+) (Matt Roper)
- Improve suspend / resume times with VT-d scanout workaround active (Andi Shyti, Chris Wilson)
- Silence misleading "mailbox access failed" warning in snb_pcode_read (Ashutosh Dixit)
- Fix null pointer dereference on HSW perf/OA (Umesh Nerlige Ramappa)
- Avoid trampling the ring during buffer migration (and selftests) (Chris Wilson, Matthew Auld)
- Fix DG2 visual corruption on small BAR systems by not forgetting to copy CCS aux state (Matthew Auld)
- More fixing of DG2 visual corruption by not forgetting to copy CCS aux state of backup objects (Matthew Auld)
- Fix TLB invalidation for Gen12.50 video and compute engines (Andrzej Hajda)
- Limit Wa_22012654132 to just specific steppings (Matt Roper)
- Fix userspace crashes due eviction not working under lock contention after the object locking conversion (Matthew Auld)
- Avoid double free is user deploys a corrupt GuC firmware (John Harrison)
- Fix 32-bit builds by using "%zu" to format size_t (Nirmoy Das)
- Fix a possible BUG in TTM async unbind due not reserving enough fence slots (Nirmoy Das)
- Fix potential use after free by not exposing the GEM context id to userspace too early (Rob Clark)
- Show clamped PL1 limit to the user (hwmon) (Ashutosh Dixit)
- Workaround unreliable reset on Jasperlake (Chris Wilson)
- Cover rest of SVG unit MCR registers (Gustavo Sousa)
- Avoid PXP log spam on platforms which do not support the feature (Alan Previn)
- Re-disable RC6p on Sandy Bridge to avoid GPU hangs and visual glitches (Sasa Dragic)

Future platform enablement:

- Manage uncore->lock while waiting on MCR register (Matt Roper)
- Enable Idle Messaging for GSC CS (Vinay Belgaumkar)
- Only initialize GSC in tile 0 (José Roberto de Souza)
- Media GT and Render GT share common GGTT (Aravind Iddamsetty)
- Add dedicated MCR lock (Matt Roper)
- Implement recommended caching policy (PVC) (Wayne Boyer)
- Add hardware-level lock for steering (Matt Roper)
- Check full IP version when applying hw steering semaphore (Matt Roper)
- Enable GuC GGTT invalidation from the start (Daniele Ceraolo Spurio)
- MTL GSC firmware support (Daniele Ceraolo Spurio, Jonathan Cavitt)
- MTL OA support (Umesh Nerlige Ramappa)
- MTL initial gt workarounds (Matt Roper)

Driver refactors:

- Hold forcewake and MCR lock over PPAT setup (Matt Roper)
- Acquire fw before loop in intel_uncore_read64_2x32 (Umesh Nerlige Ramappa)
- GuC filename cleanups and use submission API version number (John Harrison)
- Promote pxp subsystem to top-level of i915 (Alan Previn)
- Finish proofing the code agains object size overflows (Chris Wilson, Gwan-gyeong Mun)
- Start adding module oriented dmesg output (John Harrison)

Miscellaneous:

- Correct kerneldoc for intel_gt_mcr_wait_for_reg() (Matt Roper)
- Bump up sample period for busy stats selftest (Umesh Nerlige Ramappa)
- Make GuC default_lists const data (Jani Nikula)
- Fix table order verification to check all FW types (John Harrison)
- Remove some limited use register access wrappers (Jani Nikula)
- Remove struct_member macro (Andrzej Hajda)
- Remove hardcoded value with a macro (Nirmoy Das)
- Use helper func to find out map type (Nirmoy Das)
- Fix a static analysis warning (John Harrison)
- Consolidate VMA active tracking helpers (Andrzej Hajda)
- Do not cover all future platforms in TLB invalidation (Tvrtko Ursulin)
- Replace zero-length arrays with flexible-array members (Gustavo A. R. Silva)
- Unwind hugepages to drop wakeref on error (Chris Wilson)
- Remove a couple of superfluous i915_drm.h includes (Jani Nikula)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Rodrigo Vivi)
The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:

  Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2023-01-18

for you to fetch changes up to 378e04f7cb24aad124a8e55e7a36b689fb63ac17:

  drm/i915: remove a couple of superfluous i915_drm.h includes (2023-01-18 11:55:08 +0200)

----------------------------------------------------------------
Driver Changes:

Fixes/improvements/new stuff:

- Fix workarounds on Gen2-3 (Tvrtko Ursulin)
- Fix HuC delayed load memory leaks (Daniele Ceraolo Spurio)
- Fix a BUG caused by impendance mismatch in dma_fence_wait_timeout and GuC (Janusz Krzysztofik)
- Add DG2 workarounds Wa_18018764978 and Wa_18019271663 (Matt Atwood)
- Apply recommended L3 hashing mask tuning parameters (Gen12+) (Matt Roper)
- Improve suspend / resume times with VT-d scanout workaround active (Andi Shyti, Chris Wilson)
- Silence misleading "mailbox access failed" warning in snb_pcode_read (Ashutosh Dixit)
- Fix null pointer dereference on HSW perf/OA (Umesh Nerlige Ramappa)
- Avoid trampling the ring during buffer migration (and selftests) (Chris Wilson, Matthew Auld)
- Fix DG2 visual corruption on small BAR systems by not forgetting to copy CCS aux state (Matthew Auld)
- More fixing of DG2 visual corruption by not forgetting to copy CCS aux state of backup objects (Matthew Auld)
- Fix TLB invalidation for Gen12.50 video and compute engines (Andrzej Hajda)
- Limit Wa_22012654132 to just specific steppings (Matt Roper)
- Fix userspace crashes due eviction not working under lock contention after the object locking conversion (Matthew Auld)
- Avoid double free is user deploys a corrupt GuC firmware (John Harrison)
- Fix 32-bit builds by using "%zu" to format size_t (Nirmoy Das)
- Fix a possible BUG in TTM async unbind due not reserving enough fence slots (Nirmoy Das)
- Fix potential use after free by not exposing the GEM context id to userspace too early (Rob Clark)
- Show clamped PL1 limit to the user (hwmon) (Ashutosh Dixit)
- Workaround unreliable reset on Jasperlake (Chris Wilson)
- Cover rest of SVG unit MCR registers (Gustavo Sousa)
- Avoid PXP log spam on platforms which do not support the feature (Alan Previn)
- Re-disable RC6p on Sandy Bridge to avoid GPU hangs and visual glitches (Sasa Dragic)

Future platform enablement:

- Manage uncore->lock while waiting on MCR register (Matt Roper)
- Enable Idle Messaging for GSC CS (Vinay Belgaumkar)
- Only initialize GSC in tile 0 (José Roberto de Souza)
- Media GT and Render GT share common GGTT (Aravind Iddamsetty)
- Add dedicated MCR lock (Matt Roper)
- Implement recommended caching policy (PVC) (Wayne Boyer)
- Add hardware-level lock for steering (Matt Roper)
- Check full IP version when applying hw steering semaphore (Matt Roper)
- Enable GuC GGTT invalidation from the start (Daniele Ceraolo Spurio)
- MTL GSC firmware support (Daniele Ceraolo Spurio, Jonathan Cavitt)
- MTL OA support (Umesh Nerlige Ramappa)
- MTL initial gt workarounds (Matt Roper)

Driver refactors:

- Hold forcewake and MCR lock over PPAT setup (Matt Roper)
- Acquire fw before loop in intel_uncore_read64_2x32 (Umesh Nerlige Ramappa)
- GuC filename cleanups and use submission API version number (John Harrison)
- Promote pxp subsystem to top-level of i915 (Alan Previn)
- Finish proofing the code agains object size overflows (Chris Wilson, Gwan-gyeong Mun)
- Start adding module oriented dmesg output (John Harrison)

Miscellaneous:

- Correct kerneldoc for intel_gt_mcr_wait_for_reg() (Matt Roper)
- Bump up sample period for busy stats selftest (Umesh Nerlige Ramappa)
- Make GuC default_lists const data (Jani Nikula)
- Fix table order verification to check all FW types (John Harrison)
- Remove some limited use register access wrappers (Jani Nikula)
- Remove struct_member macro (Andrzej Hajda)
- Remove hardcoded value with a macro (Nirmoy Das)
- Use helper func to find out map type (Nirmoy Das)
- Fix a static analysis warning (John Harrison)
- Consolidate VMA active tracking helpers (Andrzej Hajda)
- Do not cover all future platforms in TLB invalidation (Tvrtko Ursulin)
- Replace zero-length arrays with flexible-array members (Gustavo A. R. Silva)
- Unwind hugepages to drop wakeref on error (Chris Wilson)
- Remove a couple of superfluous i915_drm.h includes (Jani Nikula)

Merges:

- Merge drm/drm-next into drm-intel-gt-next (Rodrigo Vivi)

----------------------------------------------------------------
Alan Previn (2):
      drm/i915/pxp: Promote pxp subsystem to top-level of i915
      drm/i915/pxp: Use drm_dbg if arb session failed due to fw version

Andi Shyti (2):
      drm/i915: Limit the display memory alignment to 32 bit instead of 64
      Revert "drm/i915: Improve on suspend / resume time with VT-d enabled"

Andrzej Hajda (4):
      drm/i915: remove struct_member macro
      drm/i915: fix TLB invalidation for Gen12.50 video and compute engines
      drm/i915: use proper helper in igt_vma_move_to_active_unlocked
      drm/i915/selftest: use igt_vma_move_to_active_unlocked if possible

Aravind Iddamsetty (1):
      drm/i915/mtl: Media GT and Render GT share common GGTT

Ashutosh Dixit (2):
      drm/i915/hwmon: Silence "mailbox access failed" warning in snb_pcode_read
      drm/i915/hwmon: Display clamped PL1 limit

Chris Wilson (9):
      drm/i915: Wrap all access to i915_vma.node.start|size
      drm/i915: Introduce guard pages to i915_vma
      drm/i915: Refine VT-d scanout workaround
      drm/i915/migrate: Account for the reserved_space
      drm/i915/gem: Typecheck page lookups
      drm/i915: Check for integer truncation on scatterlist creation
      drm/i915: Remove truncation warning for large objects
      drm/i915/gt: Reset twice
      drm/i915/selftests: Unwind hugepages to drop wakeref on error

Daniele Ceraolo Spurio (8):
      drm/i915/huc: fix leak of debug object in huc load fence on driver unload
      drm/i915/huc: always init the delayed load fence
      drm/i915/guc: enable GuC GGTT invalidation from the start
      drm/i915/uc: Introduce GSC FW
      drm/i915/gsc: Skip the version check when fetching the GSC FW
      drm/i915/gsc: GSC firmware loading
      drm/i915/gsc: Do a driver-FLR on unload if GSC was loaded
      drm/i915/mtl: MTL has one GSC CS on the media GT

Gustavo A. R. Silva (1):
      drm/i915/guc: Replace zero-length arrays with flexible-array members

Gustavo Sousa (1):
      drm/i915/gt: Cover rest of SVG unit MCR registers

Gwan-gyeong Mun (3):
      drm/i915: Check for integer truncation on the configuration of ttm place
      drm/i915: Check if the size is too big while creating shmem file
      drm/i915: Use error code as -E2BIG when the size of gem ttm object is too large

Jani Nikula (3):
      drm/i915/guc: make default_lists const data
      drm/i915/gt: remove some limited use register access wrappers
      drm/i915: remove a couple of superfluous i915_drm.h includes

Janusz Krzysztofik (2):
      drm/i915: Fix negative value passed as remaining time
      drm/i915: Never return 0 if not all requests retired

John Harrison (7):
      drm/i915/uc: Fix table order verification to check all FW types
      drm/i915/uc: Rationalise delimiters in filename macros
      drm/i915/uc: More refactoring of UC version numbers
      drm/i915/guc: Use GuC submission API version number
      drm/i915/guc: Fix a static analysis warning
      drm/i915/uc: Fix two issues with over-size firmware files
      drm/i915/gt: Start adding module oriented dmesg output

Jonathan Cavitt (1):
      drm/i915/gsc: Disable GSC engine and power well if FW is not selected

José Roberto de Souza (1):
      drm/i915/gsc: Only initialize GSC in tile 0

Matt Atwood (2):
      drm/i915/dg2: Introduce Wa_18018764978
      drm/i915/dg2: Introduce Wa_18019271663

Matt Roper (10):
      drm/i915/gt: Manage uncore->lock while waiting on MCR register
      drm/i915/gt: Correct kerneldoc for intel_gt_mcr_wait_for_reg()
      drm/i915/gt: Pass gt rather than uncore to lowest-level reads/writes
      drm/i915/gt: Add dedicated MCR lock
      drm/i915/mcr: Hold forcewake and MCR lock over PPAT setup
      drm/i915/mtl: Add hardware-level lock for steering
      drm/i915/mtl: Check full IP version when applying hw steering semaphore
      drm/i915/gen12: Apply recommended L3 hashing mask
      drm/i915/dg2: Return Wa_22012654132 to just specific steppings
      drm/i915/mtl: Add initial gt workarounds

Matthew Auld (5):
      drm/i915/selftests: use live_subtests for live_migrate
      drm/i915/selftests: exercise emit_pte() with nearly full ring
      drm/i915/migrate: fix corner case in CCS aux copying
      drm/i915/ttm: consider CCS for backup objects
      drm/i915: improve the catch-all evict to handle lock contention

Nirmoy Das (4):
      drm/i915/selftests: Remove hardcoded value with a macro
      drm/i915: Use helper func to find out map type
      drm/i915: Use "%zu" to format size_t
      drm/i915: Reserve enough fence slot for i915_vma_unbind_async

Rob Clark (1):
      drm/i915: Fix potential context UAFs

Rodrigo Vivi (1):
      Merge drm/drm-next into drm-intel-gt-next

Sasa Dragic (1):
      drm/i915: re-disable RC6p on Sandy Bridge

Tvrtko Ursulin (2):
      drm/i915: Fix workarounds on Gen2-3
      drm/i915: Do not cover all future platforms in TLB invalidation

Umesh Nerlige Ramappa (7):
      i915/uncore: Acquire fw before loop in intel_uncore_read64_2x32
      drm/i915/selftest: Bump up sample period for busy stats selftest
      drm/i915/perf: Do not parse context image for HSW
      drm/i915/mtl: Resize noa_wait BO size to save restore GPR regs
      drm/i915/mtl: Add Wa_14015846243 to fix OA vs CS timestamp mismatch
      drm/i915/mtl: Update OA mux whitelist for MTL
      drm/i915/mtl: Add OA support by enabling 32 bit OAG formats for MTL

Vinay Belgaumkar (1):
      drm/i915/mtl: Enable Idle Messaging for GSC CS

Wayne Boyer (1):
      drm/i915/pvc: Implement recommended caching policy

 drivers/gpu/drm/i915/Makefile                      |  11 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |   2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
 drivers/gpu/drm/i915/display/skl_universal_plane.c |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  30 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  94 ++++--
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         | 303 ++++++++++++++++---
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  27 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   4 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  25 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  20 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   6 +-
 .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |   6 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  18 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  23 +-
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |   2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  35 +--
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  10 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   8 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |  15 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h |   2 +-
 drivers/gpu/drm/i915/gt/gen7_renderclear.c         |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  24 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  18 ++
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               | 186 ++++--------
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   3 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c          |   1 -
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   7 +
 drivers/gpu/drm/i915/gt/intel_gsc.c                |   8 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 | 175 +++++------
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   5 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   8 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   2 -
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  11 +-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             | 141 ++++++++-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |   2 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  17 +-
 drivers/gpu/drm/i915/gt/intel_gt_print.h           |  51 ++++
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  33 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  34 +--
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |  20 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  34 ++-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  30 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |   6 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   3 +
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  52 ++--
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 172 +++++++----
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   8 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  30 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  15 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  20 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         | 173 ++++++++++-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   4 +-
 drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  12 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  20 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c              |   7 +-
 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c          | 210 +++++++++++++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h          |  15 +
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c          | 137 +++++++++
 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h          |  47 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  16 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  11 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  24 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  29 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 333 +++++++++++++++------
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  23 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |   3 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c                  |  10 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   4 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   2 +-
 drivers/gpu/drm/i915/i915_driver.c                 |  46 +--
 drivers/gpu/drm/i915/i915_drv.h                    |   7 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  20 +-
 drivers/gpu/drm/i915/i915_gem_evict.c              |  88 ++++--
 drivers/gpu/drm/i915/i915_gem_evict.h              |   4 +-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |   3 +-
 drivers/gpu/drm/i915/i915_hwmon.c                  |  43 ++-
 drivers/gpu/drm/i915/i915_params.c                 |   3 +
 drivers/gpu/drm/i915/i915_params.h                 |   1 +
 drivers/gpu/drm/i915/i915_pci.c                    |   5 +-
 drivers/gpu/drm/i915/i915_perf.c                   |  51 +++-
 drivers/gpu/drm/i915/i915_reg.h                    |   3 +
 drivers/gpu/drm/i915/i915_scatterlist.c            |   9 +
 drivers/gpu/drm/i915/i915_utils.h                  |   4 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  83 +++--
 drivers/gpu/drm/i915/i915_vma.h                    |  52 +++-
 drivers/gpu/drm/i915/i915_vma_resource.c           |   4 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |  17 +-
 drivers/gpu/drm/i915/i915_vma_types.h              |   3 +-
 drivers/gpu/drm/i915/intel_device_info.c           |   6 +
 drivers/gpu/drm/i915/intel_mchbar_regs.h           |   2 +
 drivers/gpu/drm/i915/intel_region_ttm.c            |  14 +
 drivers/gpu/drm/i915/intel_runtime_pm.h            |   2 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  59 ++++
 drivers/gpu/drm/i915/intel_uncore.h                |  13 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               | 128 ++++++--
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |   9 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c           |   8 +-
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h |   1 +
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c       |  36 ++-
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h       |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |  11 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c           |  18 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c            |   6 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |  10 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |  35 ++-
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   8 +
 drivers/gpu/drm/i915/selftests/i915_gem.c          |   2 +
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   4 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   4 +
 drivers/gpu/drm/i915/selftests/i915_request.c      |  20 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |   8 +-
 drivers/gpu/drm/i915/selftests/scatterlist.c       |   4 +
 129 files changed, 2778 insertions(+), 993 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_print.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-11-18  9:12 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-11-18  9:12 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes the last drm-intel-gt-next feature pull req for v6.2.

We have a couple of important fixes around memory management (TTM
and userptr), then demoting GuC kernel contexts to normal priority and
Meteorlake enabling.

Beyond that it's smaller fixes to code structure and corner cases.

Note the backmerge of drm-next to bring in v6.1-rc1 which had needed
dependencies for which I gave heads-up in IRC.

Regards, Joonas

**

drm-intel-gt-next-2022-11-18:

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Restore probe_range behaviour for userptr (Matt A)
- Fix use-after-free on lmem_userfault_list (Matt A)
- Never purge busy TTM objects (Matt A)
- Meteorlake enabling (Daniele, Badal, Daniele, Stuart, Aravind, Alan)
- Demote GuC kernel contexts to normal priority (John)

- Use RC6 residency types as arguments to residency functions (Ashutosh,
  Rodrigo, Jani)
- Convert some legacy DRM debugging macros to new ones (Tvrtko)
- Don't deadlock GuC busyness stats vs reset (John)
- Remove excessive line feeds in GuC state dumps (John)
- Use i915_sg_dma_sizes() for all backends (Matt A)
- Prefer REG_FIELD_GET in intel_rps_get_cagf (Ashutosh, Rodrigo)
- Use GEN12_RPSTAT register for GT freq (Don, Badal, Ashutosh)
- Remove unwanted TTM ghost obj check (Matt A)
- Update workaround documentation (Lucas)

- Coding style and static checker fixes and cleanups
  (Jani, Umesh, Tvrtko, Lucas, Andrzej)
- Selftest improvements (Chris, Daniele, Riana, Andrzej)

The following changes since commit 60ba8c5bd94e17ab4b024f5cecf8b48e2cf36412:

  Merge tag 'drm-intel-gt-next-2022-11-03' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2022-11-04 17:33:34 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-11-18

for you to fetch changes up to 4bb9ca7ee07455bec0a802ecf0aa5b09496888e2:

  drm/i915/mtl: C6 residency and C state type for MTL SAMedia (2022-11-17 10:47:12 -0500)

----------------------------------------------------------------
Core Changes:

- Backmerge of drm-next

Driver Changes:

- Restore probe_range behaviour for userptr (Matt A)
- Fix use-after-free on lmem_userfault_list (Matt A)
- Never purge busy TTM objects (Matt A)
- Meteorlake enabling (Daniele, Badal, Daniele, Stuart, Aravind, Alan)
- Demote GuC kernel contexts to normal priority (John)

- Use RC6 residency types as arguments to residency functions (Ashutosh,
  Rodrigo, Jani)
- Convert some legacy DRM debugging macros to new ones (Tvrtko)
- Don't deadlock GuC busyness stats vs reset (John)
- Remove excessive line feeds in GuC state dumps (John)
- Use i915_sg_dma_sizes() for all backends (Matt A)
- Prefer REG_FIELD_GET in intel_rps_get_cagf (Ashutosh, Rodrigo)
- Use GEN12_RPSTAT register for GT freq (Don, Badal, Ashutosh)
- Remove unwanted TTM ghost obj check (Matt A)
- Update workaround documentation (Lucas)

- Coding style and static checker fixes and cleanups
  (Jani, Umesh, Tvrtko, Lucas, Andrzej)
- Selftest improvements (Chris, Daniele, Riana, Andrzej)

----------------------------------------------------------------
Alan Previn (1):
      drm/i915/pxp: Separate PXP FW interface structures for both v42 and 43

Andrzej Hajda (2):
      drm/i915: call i915_request_await_object from _i915_vma_move_to_active
      drm/i915/selftests: add igt_vma_move_to_active_unlocked

Aravind Iddamsetty (1):
      drm/i915/mtl: Handle wopcm per-GT and limit calculations.

Ashutosh Dixit (2):
      drm/i915/rps: Prefer REG_FIELD_GET in intel_rps_get_cagf
      drm/i915/gt: Use RC6 residency types as arguments to residency functions

Badal Nilawar (3):
      drm/i915/mtl: Add Wa_14017073508 for SAMedia
      drm/i915/mtl: Modify CAGF functions for MTL
      drm/i915/mtl: C6 residency and C state type for MTL SAMedia

Chris Wilson (1):
      drm/i915/selftests: Reduce oversaturation of request smoketesting

Daniele Ceraolo Spurio (12):
      drm/i915/mtl: add initial definitions for GSC CS
      drm/i915/mtl: pass the GSC CS info to the GuC
      drm/i915/mtl: add GSC CS interrupt support
      drm/i915/mtl: add GSC CS reset support
      drm/i915/mtl: don't expose GSC command streamer to the user
      drm/i915/guc: don't hardcode BCS0 in guc_hang selftest
      drm/i915/huc: only load HuC on GTs that have VCS engines
      drm/i915/uc: fetch uc firmwares for each GT
      drm/i915/uc: use different ggtt pin offsets for uc loads
      drm/i915/guc: define media GT GuC send regs
      drm/i915/guc: handle interrupts from media GuC
      drm/i915/guc: add the GSC CS to the GuC capture list

Don Hiatt (1):
      drm/i915: Use GEN12_RPSTAT register for GT freq

Jani Nikula (1):
      drm/i915/pxp: use <> instead of "" for headers in include/

John Harrison (3):
      drm/i915/guc: Remove excessive line feeds in state dumps
      drm/i915/guc: Properly initialise kernel contexts
      drm/i915/guc: Don't deadlock busyness stats vs reset

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

Lucas De Marchi (2):
      Documentation/gpu: Fix section in the wrong scope
      drm/i915: Update workaround documentation

Matthew Auld (5):
      drm/i915/userptr: restore probe_range behaviour
      drm/i915/ttm: fix uaf with lmem_userfault_list handling
      drm/i915/ttm: add some sanity checks for lmem_userfault_list
      drm/i915: use i915_sg_dma_sizes() for all backends
      drm/i915/ttm: never purge busy objects

Nirmoy Das (1):
      drm/i915: Remove unwanted ghost obj check

Riana Tauro (1):
      drm/i915/guc/slpc: Add selftest for slpc tile-tile interaction

Stuart Summers (1):
      drm/i915/guc: Add GuC deprivilege feature to MTL

Tvrtko Ursulin (3):
      drm/i915: Partial abandonment of legacy DRM logging macros
      drm/i915: Simplify internal helper function signature
      drm/i915: Fix vma allocator debug

Umesh Nerlige Ramappa (1):
      drm/i915/perf: Fix kernel-doc warning

 Documentation/gpu/drm-usage-stats.rst              |   1 -
 Documentation/gpu/i915.rst                         |   2 +-
 drivers/gpu/drm/i915/Makefile                      |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  43 ++++---
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   9 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  20 +--
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   9 +-
 .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |   2 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  10 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  22 +---
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |   4 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  16 +--
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  10 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |   8 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h |  14 +++
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 ++
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |  28 ++++-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  13 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   5 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             | 104 +++++++++-------
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  27 +++++
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |  88 ++++++++++----
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  25 ++--
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  12 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   2 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  64 ++++++----
 drivers/gpu/drm/i915/gt/intel_rc6.h                |  11 +-
 drivers/gpu/drm/i915/gt/intel_rc6_types.h          |  15 ++-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |   4 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  18 ++-
 drivers/gpu/drm/i915/gt/intel_reset.h              |   1 +
 drivers/gpu/drm/i915/gt/intel_rps.c                |  57 +++++++--
 drivers/gpu/drm/i915/gt/intel_rps.h                |   2 +
 drivers/gpu/drm/i915/{ => gt}/intel_wopcm.c        |  43 +++++--
 drivers/gpu/drm/i915/{ => gt}/intel_wopcm.h        |   0
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 134 ++++++++++++---------
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |   3 +
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  14 +--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  35 +-----
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  33 ++---
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   5 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   6 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |   8 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |  70 ++++++++++-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  26 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  47 +++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  11 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  15 ++-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  29 +++++
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  12 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  46 +++++--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  14 +++
 .../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c    |   8 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   5 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   2 -
 drivers/gpu/drm/i915/i915_drv.h                    |  16 ++-
 drivers/gpu/drm/i915/i915_gem.c                    |   8 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
 drivers/gpu/drm/i915/i915_irq.c                    |  12 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   1 +
 drivers/gpu/drm/i915/i915_perf.c                   |  18 +--
 drivers/gpu/drm/i915/i915_perf_types.h             |   4 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   9 +-
 drivers/gpu/drm/i915/i915_query.c                  |  12 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  10 ++
 drivers/gpu/drm/i915/i915_sysfs.c                  |   3 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  21 ++--
 drivers/gpu/drm/i915/i915_vma.h                    |   1 +
 drivers/gpu/drm/i915/intel_uncore.c                |  21 ++--
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h  |  28 +++++
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h  |  26 ++++
 .../gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h |  35 ++++++
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |  13 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |  12 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h |  57 ---------
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   5 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |  14 +--
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |  20 +--
 drivers/gpu/drm/i915/selftests/mock_region.c       |   2 +-
 97 files changed, 1023 insertions(+), 631 deletions(-)
 rename drivers/gpu/drm/i915/{ => gt}/intel_wopcm.c (87%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_wopcm.h (100%)
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h
 delete mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-11-03  8:03 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-11-03  8:03 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

This amends the previous PR that did cause a build error with clang:

https://lists.freedesktop.org/archives/dri-devel/2022-October/377713.html

Quite naturally, it includes a fix to the hwmon code tested with Clang
version 14.0.5 and GCC 12.2.1.

Additionally there is a screen flickering fix for DG2 (#7306) abd one more
DG2 W/A. Eliminating spurious WARN on DG1.

Dust up Gen2-Gen5 machines to apply and test the latest CS timestamping
fixes for from Ville (archeologist, neutral, human).

Then a few more smaller cleanups and selftest additions.

Regards, Joonas

***

drm-intel-gt-next-2022-11-03:

Driver Changes:

- Fix for #7306: [Arc A380] white flickering when using arc as a
  secondary gpu (Matt A)
- Add Wa_18017747507 for DG2 (Wayne)
- Avoid spurious WARN on DG1 due to incorrect cache_dirty flag
  (Niranjana, Matt A)
- Corrections to CS timestamp support for Gen5 and earlier (Ville)

- Fix a build error used with clang compiler on hwmon (GG)
- Improvements to LMEM handling with RPM (Anshuman, Matt A)
- Cleanups in dmabuf code (Mike)

- Selftest improvements (Matt A)

The following changes since commit 7860d720a84c74b2761c6b7995392a798ab0a3cb:

  drm/msm: Fix build break with recent mm tree (2022-09-30 10:13:49 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-11-03

for you to fetch changes up to 8f956e9a2c9bdb22ac50c8b7656e2ea29c2e656c:

  drm/i915/hwmon: Fix a build error used with clang compiler (2022-11-03 09:34:22 +0200)

----------------------------------------------------------------
Driver Changes:

- Fix for #7306: [Arc A380] white flickering when using arc as a
  secondary gpu (Matt A)
- Add Wa_18017747507 for DG2 (Wayne)
- Avoid spurious WARN on DG1 due to incorrect cache_dirty flag
  (Niranjana, Matt A)
- Corrections to CS timestamp support for Gen5 and earlier (Ville)

- Fix a build error used with clang compiler on hwmon (GG)
- Improvements to LMEM handling with RPM (Anshuman, Matt A)
- Cleanups in dmabuf code (Mike)

- Selftest improvements (Matt A)

----------------------------------------------------------------
Alan Previn (4):
      drm/i915/guc: Add error-capture init warnings when needed
      drm/i915/guc: Add compute reglist for guc err capture
      drm/i915/guc: Fix GuC error capture sizing estimation and reporting
      drm/i915/guc: Remove intel_context:number_committed_requests counter

Andi Shyti (1):
      drm/i915/trace: Remove unused frequency trace

Andrzej Hajda (2):
      drm/i915: use intel_uncore_rmw when appropriate
      drm/i915/gt: use intel_uncore_rmw when appropriate

Anshuman Gupta (2):
      drm/i915: Encapsulate lmem rpm stuff in intel_runtime_pm
      drm/i915/dgfx: Grab wakeref at i915_ttm_unmap_virtual

Aravind Iddamsetty (1):
      drm/i915/mtl: enable local stolen memory

Ashutosh Dixit (5):
      drm/i915/mtl: PERF_LIMIT_REASONS changes for MTL
      drm/i915/rps: Freq caps for MTL
      drm/i915: Perf_limit_reasons are only available for Gen11+
      drm/i915/hwmon: Expose card reactive critical power
      drm/i915/hwmon: Expose power1_max_interval

Chris Wilson (6):
      drm/i915/gt: Cleanup partial engine discovery failures
      drm/i915/gem: Really move i915_gem_context.link under ref protection
      drm/i915/gt: Restrict forced preemption to the active context
      drm/i915/gt: Use i915_vm_put on ppgtt_create error paths
      drm/i915/gt: Move scratch page into system memory on all platforms
      drm/i915/gt: Bump the reset-failure timeout to 60s

Colin Ian King (2):
      drm/i915/gem: remove redundant assignments to variable ret
      drm/i915/perf: remove redundant variable 'taken'

Dale B Stimson (4):
      drm/i915/hwmon: Add HWMON infrastructure
      drm/i915/hwmon: Power PL1 limit and TDP setting
      drm/i915/hwmon: Show device level energy usage
      drm/i915/hwmon: Extend power/energy for XEHPSDV

Daniele Ceraolo Spurio (7):
      drm/i915/pxp: load the pxp module when we have a gsc-loaded huc
      drm/i915/dg2: setup HuC loading via GSC
      drm/i915/huc: track delayed HuC load with a fence
      drm/i915/huc: stall media submission until HuC is loaded
      drm/i915/huc: better define HuC status getparam possible return values.
      drm/i915/huc: define gsc-compatible HuC fw for DG2
      drm/i915/huc: bump timeout for delayed load and reduce print verbosity

Gustavo Sousa (1):
      drm/i915/xelp: Add Wa_1806527549

Gwan-gyeong Mun (2):
      drm/i915/gt: Remove unused function prototype
      drm/i915/hwmon: Fix a build error used with clang compiler

Jani Nikula (1):
      drm/i915: move i915_coherent_map_type() to i915_gem_pages.c and un-inline

Janusz Krzysztofik (1):
      drm/i915/gem: Flush contexts on driver release

John Harrison (6):
      drm/i915/guc: Fix release build bug in 'remove log size module parameters'
      drm/i915/guc: Enable compute scheduling on DG2
      drm/i915/guc: Limit scheduling properties to avoid overflow
      drm/i915: Fix compute pre-emption w/a to apply to compute engines
      drm/i915: Make the heartbeat play nice with long pre-emption timeouts
      drm/i915: Improve long running compute w/a for GuC submission

Karolina Drobnik (1):
      i915/i915_gem_context: Remove debug message in i915_gem_context_create_ioctl

Lionel Landwerlin (1):
      drm/i915/perf: complete programming whitelisting for XEHPSDV

Lucas De Marchi (7):
      drm/i915: Add missing mask when reading GEN12_DSMBASE
      drm/i915: Split i915_gem_init_stolen()
      drm/i915/dgfx: Make failure to setup stolen non-fatal
      drm/i915: Noop lrc_init_wa_ctx() on recent/future platforms
      drm/i915: Fix __gen125_emit_bb_start() without WA
      drm/i915/gt: Document function to decode register state context
      drm/i915/gt: Fix platform prefix

Matt Atwood (1):
      drm/i915/dg2: introduce Wa_22015475538

Matt Roper (21):
      drm/i915/mtl: Add MTL forcewake support
      drm/i915: Split GAM and MSLICE steering
      drm/i915/mtl: Define engine context layouts
      drm/i915: Document and future-proof preemption control policy
      drm/i915/gen8: Create separate reg definitions for new MCR registers
      drm/i915/xehp: Create separate reg definitions for new MCR registers
      drm/i915/gt: Drop a few unused register definitions
      drm/i915/gt: Correct prefix on a few registers
      drm/i915/gt: Add intel_gt_mcr_multicast_rmw() operation
      drm/i915/xehp: Check for faults on primary GAM
      drm/i915/gt: Add intel_gt_mcr_wait_for_reg_fw()
      drm/i915: Define MCR registers explicitly
      drm/i915/gt: Always use MCR functions on multicast registers
      drm/i915/guc: Handle save/restore of MCR registers explicitly
      drm/i915/gt: Add MCR-specific workaround initializers
      drm/i915: Define multicast registers as a new type
      drm/i915/xelpg: Add multicast steering
      drm/i915/xelpmp: Add multicast steering for media GT
      drm/i915/pvc: Update forcewake domain for CCS register ranges
      drm/i915/xelpg: Fix write to MTL_MCR_SELECTOR
      drm/i915/mtl: Add missing steering table terminators

Matthew Auld (13):
      drm/i915/ttm: implement access_memory
      drm/i915: remove the TODO in pin_and_fence_fb_obj
      drm/i915/display: handle migration for dpt
      drm/i915: allow control over the flags when migrating
      drm/i915/display: consider DG2_RC_CCS_CC when migrating buffers
      drm/i915: check memory is mappable in read_from_page
      drm/i915: add back GEN12_BDSM_MASK
      drm/i915: restore stolen memory behaviour for DG2
      drm/i915: enable PS64 support for DG2
      drm/i915/uapi: expose GTT alignment
      Revert "drm/i915/uapi: expose GTT alignment"
      drm/i915/dmabuf: fix sg_table handling in map_dma_buf
      drm/i915/selftests: exercise GPU access from the importer

Matthew Brost (1):
      drm/i915/guc: Delay disabling guc_id scheduling for better hysteresis

Michael J. Ruhl (2):
      drm/i915/dmabuf: dmabuf cleanup
      drm/i915/dmabuf: Use scatterlist for_each_sg API

Nathan Chancellor (1):
      drm/i915: Fix CFI violations in gt_sysfs

Niranjana Vishwanathapura (2):
      drm/i915: Remove unwanted pointer unpacking
      drm/i915: Do not set cache_dirty for DGFX

Nirmoy Das (5):
      drm/i915: Do not cleanup obj with NULL bo->resource
      drm/i915: Improve debug print in vm_fault_ttm
      drm/i915: Fix a potential UAF at device unload
      drm/i915: remove excessive i915_gem_drain_freed_objects
      drm/i915: Refactor ttm ghost obj detection

Prathap Kumar Valsan (1):
      drm/i915/gt: Flush to global observation point before breadcrumb write

Riana Tauro (4):
      drm/i915/guc/slpc: Run SLPC selftests on all tiles
      drm/i915/selftests: Add helper function measure_power
      drm/i915/guc/slpc: Add SLPC selftest live_slpc_power
      drm/i915/hwmon: Add HWMON current voltage support

Robert Beckett (1):
      drm/i915: stop abusing swiotlb_max_segment

Tejas Upadhyay (1):
      drm/i915/ehl: Update MOCS table for EHL

Thomas Hellström (1):
      drm/i915: Fix display problems after resume

Tilak Tangudu (1):
      drm/i915/debugfs: Add perf_limit_reasons in debugfs

Tomas Winkler (5):
      mei: add support to GSC extended header
      mei: bus: enable sending gsc commands
      mei: adjust extended header kdocs
      mei: pxp: support matching with a gfx discrete card
      drm/i915/pxp: add huc authentication and loading command

Tvrtko Ursulin (7):
      drm/i915: Make GEM resume all engines
      drm/i915: Make GEM suspend all GTs
      drm/i915: Handle all GTs on driver (un)load paths
      drm/i915/selftests: Remove flush_scheduled_work() from live_execlists
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915/guc: Fix revocation of non-persistent contexts
      drm/i915/selftests: Stop using kthread_stop()

Umesh Nerlige Ramappa (14):
      drm/i915/perf: Fix OA filtering logic for GuC mode
      drm/i915/perf: Add 32-bit OAG and OAR formats for DG2
      drm/i915/perf: Fix noa wait predication for DG2
      drm/i915/perf: Determine gen12 oa ctx offset at runtime
      drm/i915/perf: Enable bytes per clock reporting in OA
      drm/i915/perf: Simply use stream->ctx
      drm/i915/perf: Move gt-specific data from i915->perf to gt->perf
      drm/i915/perf: Replace gt->perf.lock with stream->lock for file ops
      drm/i915/perf: Use gt-specific ggtt for OA and noa-wait buffers
      drm/i915/perf: Store a pointer to oa_format in oa_buffer
      drm/i915/perf: Add Wa_1508761755:dg2
      drm/i915/perf: Apply Wa_18013179988
      drm/i915/perf: Save/restore EU flex counters across reset
      drm/i915/perf: Enable OA for DG2

Ville Syrjälä (9):
      drm/i915: Extract intel_mmio_bar()
      drm/i915: Name our BARs based on the spec
      drm/i915: s/HAS_BAR2_SMEM_STOLEN/HAS_LMEMBAR_SMEM_STOLEN/
      drm/i915: Fix cs timestamp frequency for ctg/elk/ilk
      drm/i915: Stop claiming cs timestamp frquency on gen2/3
      drm/i915: Fix cs timestamp frequency for cl/bw
      drm/i915/selftests: Run MI_BB perf selftests on SNB
      drm/i915/selftests: Test RING_TIMESTAMP on gen4/5
      drm/i915/selftests: Run the perf MI_BB tests on gen4/5

Vinay Belgaumkar (5):
      drm/i915: Add a wrapper for frequency debugfs
      drm/i915/slpc: Update the frequency debugfs
      drm/i915/slpc: Optmize waitboost for SLPC
      drm/i915/slpc: Use platform limits for min/max frequency
      drm/i915/guc: Support OA when Wa_16011777198 is enabled

Vitaly Lubart (3):
      mei: bus: extend bus API to support command streamer API
      mei: pxp: add command streamer API to the PXP driver
      drm/i915/pxp: implement function for sending tee stream command

Wayne Boyer (1):
      drm/i915/dg2: Introduce Wa_18017747507

 .../ABI/testing/sysfs-driver-intel-i915-hwmon      |  75 +++
 MAINTAINERS                                        |   1 +
 drivers/gpu/drm/i915/Kconfig.profile               |  26 +-
 drivers/gpu/drm/i915/Makefile                      |  14 +-
 drivers/gpu/drm/i915/display/intel_dpt.c           |   1 +
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |  63 +-
 drivers/gpu/drm/i915/display/intel_lpe_audio.c     |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |  51 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   5 -
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  21 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  49 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   8 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  12 +
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |  35 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 261 +++++---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            | 120 +++-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   5 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    | 157 ++++-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  | 118 ++--
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |  79 ++-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |   1 +
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  55 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  12 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  92 +--
 drivers/gpu/drm/i915/gt/intel_context.c            |   5 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |  11 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   9 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   6 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          | 113 +++-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |  39 ++
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  15 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  25 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  26 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   4 +
 drivers/gpu/drm/i915/gt/intel_gsc.c                |  23 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 | 141 +++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  38 +-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             | 305 ++++++++-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |  24 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      | 196 ++----
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            | 181 +++--
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        | 480 +++++++-------
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |  23 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  43 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 143 +++-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_migrate.c            |   1 +
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  20 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                | 265 +++++++-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   3 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   4 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 577 ++++++++++------
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |   9 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |  22 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  50 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |  36 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  51 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |   1 +
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  12 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            | 190 +++++-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   2 +-
 drivers/gpu/drm/i915/gt/sysfs_engines.c            |  25 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   1 +
 .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  |   9 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   9 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  16 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  71 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 119 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c     |  61 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  12 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  43 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        | 103 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 358 ++++++++--
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             | 262 +++++++-
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |  31 +
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |  34 +
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h          |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  24 +-
 drivers/gpu/drm/i915/gvt/cfg_space.c               |   4 +-
 drivers/gpu/drm/i915/gvt/handlers.c                |   4 +-
 drivers/gpu/drm/i915/gvt/mmio_context.c            |  14 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   8 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  30 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  52 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   3 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  12 +-
 drivers/gpu/drm/i915/i915_hwmon.c                  | 732 +++++++++++++++++++++
 drivers/gpu/drm/i915/i915_hwmon.h                  |  20 +
 drivers/gpu/drm/i915/i915_pci.c                    |   9 +-
 drivers/gpu/drm/i915/i915_perf.c                   | 582 ++++++++++++----
 drivers/gpu/drm/i915/i915_perf.h                   |   2 +
 drivers/gpu/drm/i915/i915_perf_oa_regs.h           |   6 +-
 drivers/gpu/drm/i915/i915_perf_types.h             |  47 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  22 +
 drivers/gpu/drm/i915/i915_reg_defs.h               |  27 +-
 drivers/gpu/drm/i915/i915_request.c                |  24 +
 drivers/gpu/drm/i915/i915_request.h                |   5 +
 drivers/gpu/drm/i915/i915_scatterlist.h            |  34 +-
 drivers/gpu/drm/i915/i915_selftest.h               |   2 +
 drivers/gpu/drm/i915/i915_trace.h                  |  15 -
 drivers/gpu/drm/i915/i915_vma.c                    |   9 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   3 +-
 drivers/gpu/drm/i915/intel_gvt_mmio_table.c        |   2 +-
 drivers/gpu/drm/i915/intel_mchbar_regs.h           |  21 +
 drivers/gpu/drm/i915/intel_pci_config.h            |  28 +-
 drivers/gpu/drm/i915/intel_pm.c                    | 205 +++---
 drivers/gpu/drm/i915/intel_runtime_pm.c            |   5 +
 drivers/gpu/drm/i915/intel_runtime_pm.h            |  22 +
 drivers/gpu/drm/i915/intel_uncore.c                | 280 +++++++-
 drivers/gpu/drm/i915/intel_uncore.h                |   2 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |  32 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |  32 -
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |  69 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.h           |  13 +
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h           |   8 +
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |   8 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.h       |  11 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           | 139 +++-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h           |   5 +
 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h |  23 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   6 +
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |  16 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      | 252 ++++---
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |   4 +
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   1 -
 drivers/misc/mei/bus.c                             | 146 +++-
 drivers/misc/mei/client.c                          |  55 +-
 drivers/misc/mei/hbm.c                             |  13 +
 drivers/misc/mei/hw-me.c                           |   7 +-
 drivers/misc/mei/hw.h                              |  89 ++-
 drivers/misc/mei/interrupt.c                       |  47 +-
 drivers/misc/mei/mei_dev.h                         |   8 +
 drivers/misc/mei/pxp/mei_pxp.c                     |  38 +-
 include/drm/i915_pxp_tee_interface.h               |   5 +
 include/linux/mei_cl_bus.h                         |   6 +
 include/uapi/drm/i915_drm.h                        |  62 +-
 153 files changed, 6868 insertions(+), 2117 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-i915-hwmon
 create mode 100644 drivers/gpu/drm/i915/i915_hwmon.c
 create mode 100644 drivers/gpu/drm/i915/i915_hwmon.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-10-31 11:07 Joonas Lahtinen
@ 2022-11-01 19:33 ` Dave Airlie
  0 siblings, 0 replies; 68+ messages in thread
From: Dave Airlie @ 2022-11-01 19:33 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: Tvrtko Ursulin, dim-tools, Daniel Vetter, dri-devel,
	Thomas Zimmermann, Rodrigo Vivi, intel-gfx

On Mon, 31 Oct 2022 at 21:07, Joonas Lahtinen
<joonas.lahtinen@linux.intel.com> wrote:
>
> Hi Dave & Daniel,
>
> Here goes first drm-intel-gt-next pull req towards 6.2.
>
> We have a fix for #6222 (kernel memory corruption issue) and fix for
> display regression after resume. A missing W/A for Gen12 iGPUs and
> extension of compute pre-emption timeout to 7.5 seconds to account for
> compute corner cases. Improvements to GuC compute error capture,
> scheduling hysteresis and SLPC. Fixes to EHL MOCS tables. Better docs
> for I915_PARAM_HUC_STATUS and pre-emption control policy. Extending the
> grace period for full GPU reset timeout to 60 seconds to better capture
> logs or recover, as opposed to just giving up on whole device in 5 seconds.
>
> We're starting to add HWMON metrics for recent devices. More MTL
> enabling, DG2 workarounds, DG2 HuC support, OA for DG2 is enabled. Small
> bar enabling, PS64 support added for DG2 page tables. ptrace support for
> local memory objects, local-memory migration for display surfaces.
>
> Note that there is drm/drm-next backmerge and then MEI subsystem patches
> around GSC/PXP which are intertwined with i915 change so merged here as
> agreed with Tomas and Greg.
>
> Additionally the usual amount of refactoring, cleanups, debugging
> improvements and static checker fixes.

Fails to build with clang here.
  CC [M]  drivers/gpu/drm/i915/i915_hwmon.o
/home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/i915_hwmon.c:115:16:
error: result of comparison of constant 18446744073709551615 with
expression of type 'typeof (_Generic((field_msk), char: (unsigned
char)0, unsigned char: (unsigned char)0, signed char: (unsigned
char)0, unsigned short: (unsigned short)0, short: (unsigned short)0,
unsigned int: (unsigned int)0, int: (unsigned int)0, unsigned long:
(unsigned long)0, long: (unsigned long)0, unsigned long long:
(unsigned long long)0, long long: (unsigned long long)0, default:
(field_msk)))' (aka 'unsigned int') is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
        bits_to_set = FIELD_PREP(field_msk, nval);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/bitfield.h:114:3:
note: expanded from macro 'FIELD_PREP'
                __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: ");    \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/bitfield.h:71:53:
note: expanded from macro '__BF_FIELD_CHECK'
                BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask) >     \
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/build_bug.h:39:58:
note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                    ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/compiler_types.h:357:22:
note: expanded from macro 'compiletime_assert'
        _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/compiler_types.h:345:23:
note: expanded from macro '_compiletime_assert'
        __compiletime_assert(condition, msg, prefix, suffix)
        ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/include/linux/compiler_types.h:337:9:
note: expanded from macro '__compiletime_assert'
                if (!(condition))                                       \
                      ^~~~~~~~~
1 error generated.

clang -v
clang version 14.0.5 (Fedora 14.0.5-1.fc36)

Dave.

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-10-31 11:07 Joonas Lahtinen
  2022-11-01 19:33 ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2022-10-31 11:07 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes first drm-intel-gt-next pull req towards 6.2.

We have a fix for #6222 (kernel memory corruption issue) and fix for
display regression after resume. A missing W/A for Gen12 iGPUs and
extension of compute pre-emption timeout to 7.5 seconds to account for
compute corner cases. Improvements to GuC compute error capture,
scheduling hysteresis and SLPC. Fixes to EHL MOCS tables. Better docs
for I915_PARAM_HUC_STATUS and pre-emption control policy. Extending the
grace period for full GPU reset timeout to 60 seconds to better capture
logs or recover, as opposed to just giving up on whole device in 5 seconds.

We're starting to add HWMON metrics for recent devices. More MTL
enabling, DG2 workarounds, DG2 HuC support, OA for DG2 is enabled. Small
bar enabling, PS64 support added for DG2 page tables. ptrace support for
local memory objects, local-memory migration for display surfaces.

Note that there is drm/drm-next backmerge and then MEI subsystem patches
around GSC/PXP which are intertwined with i915 change so merged here as
agreed with Tomas and Greg.

Additionally the usual amount of refactoring, cleanups, debugging
improvements and static checker fixes.

Regards, Joonas

PS. Once you have pulled this, I will backmerge drm-next to bring in
more dependencies for upcoming patches.

***

drm-intel-gt-next-2022-10-31:

- Start adding HWMON metrics (Dale, Ashutosh, Riana, Badal)

  See Documentation/ABI/testing/sysfs-driver-intel-i915-hwmon

Cross-subsystem Changes:

- MEI subsystem patches for GSC/PXP (Vitaly, Tomas)
	* R-b'd by Greg, agreed to merge via drm-intel-gt-next
- Backmerge of drm/drm-next to pull misc/mei changes for DG2 HuC

Driver Changes:

- Fix for #6222: Kernel memory corruption when running piglit with OA
  enabled (Chris)
- Add Wa_1806527549 for Gen12 iGPU (Gustavo)
- Fix display problems after resume regression (Thomas)
- Extend pre-emption timeout to 7.5 seconds on compute capable engines
  on Gen12 (John)
- Add error compute registers to GuC error capture list (Alan)
- Delay disabling guc_id scheduling for better hysteresis (Matt B)
- Use platform min/max frequency with GuC SLPC (Vinay)
- Meteorlake (MTL) enabling (Ashutosh, Matt R, Aravind)
- Add more DG2 workarounds (Matt A)
- DG2 HuC loading (Daniele)
- Enable OA support for DG2 (Umesh, Vinay, Lionel)
- Better document I915_PARAM_HUC_STATUS error codes (Daniele)
- Enable compute scheduling on DG2 (John)
- Small bar enabling for dGPU (Matt A)
- Enable PS64 support for DG2 (Matt A)
- Handle migration to local-memory for display surfaces (Matt A)
- Update MOCS table for EHL (Tejas)
- Limit GuC scheduling properties to avoid overflow (John)
- Update forcewake domain for CCS register ranges for PVC (Matt R)
- Implement access_memory for local memory to enable ptrace (Matt A)
- Document and future-proof preemption control policy (Matt R)
- Restrict forced preemption to the active context (Chris)
- Move scratch page into system memory on all platforms (Chris)
- Flush to global observation point before breadcrumb write (Prathap, Nirmoy)
- Bump the reset-failure timeout to 60s (Chris)

- Codebase restructuring for more clarity (Lucas, Jani, Vinay, Nirmoy,
  Ville, Andrzej)
- Stop abusing swiotlb_max_segment (Robert, Christoph)
- Fix a potential UAF at device unload (Nirmoy, Chris)
- Fix revocation of non-persistent contexts with GuC (Tvrtko)
- Fix GuC error capture sizing estimation and reporting (Alan)
- Make failure to setup stolen non-fatal on dGPU (Lucas)
- Fixes to perf_limit_reasons and add to debugfs (Ashutosh, Tilak)
- Release build fix for GuC log size removal (John)
- Cleanup partial engine discovery failures (Chris)
- Do not cleanup obj with NULL bo->resource (Nirmoy)
- Split GAM and MSLICE steering (Matt R)
- Flush GEM contexts on driver release (Janusz, Chris)
- Multi GT suspend and resume enabling (Tvrtko)
- Use i915_vm_put on ppgtt_create error paths (Chris)

- Remove leftover code from previous cleanups (Niranjana, Nirmoy,
  Gwan-gyeong, Matt A, Andi, Alan, Karolina)
- Selftest and debugging improvements (Tvrtko, Nirmoy, Riana, Vinay)
- Static checker fixups (Colin, Nathan)
- Documentation improvements (Lucas)

The following changes since commit 7860d720a84c74b2761c6b7995392a798ab0a3cb:

  drm/msm: Fix build break with recent mm tree (2022-09-30 10:13:49 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-10-31

for you to fetch changes up to 876e9047a91839ee5be0ba099036d19883e52ca2:

  drm/i915/mtl: Add missing steering table terminators (2022-10-28 17:36:56 -0700)

----------------------------------------------------------------
- Start adding HWMON metrics (Dale, Ashutosh, Riana, Badal)

  See Documentation/ABI/testing/sysfs-driver-intel-i915-hwmon

Cross-subsystem Changes:

- MEI subsystem patches for GSC/PXP (Vitaly, Tomas)
	* R-b'd by Greg, agreed to merge via drm-intel-gt-next
- Backmerge of drm/drm-next to pull misc/mei changes for DG2 HuC

Driver Changes:

- Fix for #6222: Kernel memory corruption when running piglit with OA
  enabled (Chris)
- Add Wa_1806527549 for Gen12 iGPU (Gustavo)
- Fix display problems after resume regression (Thomas)
- Extend pre-emption timeout to 7.5 seconds on compute capable engines
  on Gen12 (John)
- Add error compute registers to GuC error capture list (Alan)
- Delay disabling guc_id scheduling for better hysteresis (Matt B)
- Use platform min/max frequency with GuC SLPC (Vinay)
- Meteorlake (MTL) enabling (Ashutosh, Matt R, Aravind)
- Add more DG2 workarounds (Matt A)
- DG2 HuC loading (Daniele)
- Enable OA support for DG2 (Umesh, Vinay, Lionel)
- Better document I915_PARAM_HUC_STATUS error codes (Daniele)
- Enable compute scheduling on DG2 (John)
- Small bar enabling for dGPU (Matt A)
- Enable PS64 support for DG2 (Matt A)
- Handle migration to local-memory for display surfaces (Matt A)
- Update MOCS table for EHL (Tejas)
- Limit GuC scheduling properties to avoid overflow (John)
- Update forcewake domain for CCS register ranges for PVC (Matt R)
- Implement access_memory for local memory to enable ptrace (Matt A)
- Document and future-proof preemption control policy (Matt R)
- Restrict forced preemption to the active context (Chris)
- Move scratch page into system memory on all platforms (Chris)
- Flush to global observation point before breadcrumb write (Prathap, Nirmoy)
- Bump the reset-failure timeout to 60s (Chris)

- Codebase restructuring for more clarity (Lucas, Jani, Vinay, Nirmoy,
  Ville, Andrzej)
- Stop abusing swiotlb_max_segment (Robert, Christoph)
- Fix a potential UAF at device unload (Nirmoy, Chris)
- Fix revocation of non-persistent contexts with GuC (Tvrtko)
- Fix GuC error capture sizing estimation and reporting (Alan)
- Make failure to setup stolen non-fatal on dGPU (Lucas)
- Fixes to perf_limit_reasons and add to debugfs (Ashutosh, Tilak)
- Release build fix for GuC log size removal (John)
- Cleanup partial engine discovery failures (Chris)
- Do not cleanup obj with NULL bo->resource (Nirmoy)
- Split GAM and MSLICE steering (Matt R)
- Flush GEM contexts on driver release (Janusz, Chris)
- Multi GT suspend and resume enabling (Tvrtko)
- Use i915_vm_put on ppgtt_create error paths (Chris)

- Remove leftover code from previous cleanups (Niranjana, Nirmoy,
  Gwan-gyeong, Matt A, Andi, Alan, Karolina)
- Selftest and debugging improvements (Tvrtko, Nirmoy, Riana, Vinay)
- Static checker fixups (Colin, Nathan)
- Documentation improvements (Lucas)

----------------------------------------------------------------
Alan Previn (4):
      drm/i915/guc: Add error-capture init warnings when needed
      drm/i915/guc: Add compute reglist for guc err capture
      drm/i915/guc: Fix GuC error capture sizing estimation and reporting
      drm/i915/guc: Remove intel_context:number_committed_requests counter

Andi Shyti (1):
      drm/i915/trace: Remove unused frequency trace

Andrzej Hajda (2):
      drm/i915: use intel_uncore_rmw when appropriate
      drm/i915/gt: use intel_uncore_rmw when appropriate

Aravind Iddamsetty (1):
      drm/i915/mtl: enable local stolen memory

Ashutosh Dixit (5):
      drm/i915/mtl: PERF_LIMIT_REASONS changes for MTL
      drm/i915/rps: Freq caps for MTL
      drm/i915: Perf_limit_reasons are only available for Gen11+
      drm/i915/hwmon: Expose card reactive critical power
      drm/i915/hwmon: Expose power1_max_interval

Chris Wilson (6):
      drm/i915/gt: Cleanup partial engine discovery failures
      drm/i915/gem: Really move i915_gem_context.link under ref protection
      drm/i915/gt: Restrict forced preemption to the active context
      drm/i915/gt: Use i915_vm_put on ppgtt_create error paths
      drm/i915/gt: Move scratch page into system memory on all platforms
      drm/i915/gt: Bump the reset-failure timeout to 60s

Colin Ian King (2):
      drm/i915/gem: remove redundant assignments to variable ret
      drm/i915/perf: remove redundant variable 'taken'

Dale B Stimson (4):
      drm/i915/hwmon: Add HWMON infrastructure
      drm/i915/hwmon: Power PL1 limit and TDP setting
      drm/i915/hwmon: Show device level energy usage
      drm/i915/hwmon: Extend power/energy for XEHPSDV

Daniele Ceraolo Spurio (7):
      drm/i915/pxp: load the pxp module when we have a gsc-loaded huc
      drm/i915/dg2: setup HuC loading via GSC
      drm/i915/huc: track delayed HuC load with a fence
      drm/i915/huc: stall media submission until HuC is loaded
      drm/i915/huc: better define HuC status getparam possible return values.
      drm/i915/huc: define gsc-compatible HuC fw for DG2
      drm/i915/huc: bump timeout for delayed load and reduce print verbosity

Gustavo Sousa (1):
      drm/i915/xelp: Add Wa_1806527549

Gwan-gyeong Mun (1):
      drm/i915/gt: Remove unused function prototype

Jani Nikula (1):
      drm/i915: move i915_coherent_map_type() to i915_gem_pages.c and un-inline

Janusz Krzysztofik (1):
      drm/i915/gem: Flush contexts on driver release

John Harrison (6):
      drm/i915/guc: Fix release build bug in 'remove log size module parameters'
      drm/i915/guc: Enable compute scheduling on DG2
      drm/i915/guc: Limit scheduling properties to avoid overflow
      drm/i915: Fix compute pre-emption w/a to apply to compute engines
      drm/i915: Make the heartbeat play nice with long pre-emption timeouts
      drm/i915: Improve long running compute w/a for GuC submission

Karolina Drobnik (1):
      i915/i915_gem_context: Remove debug message in i915_gem_context_create_ioctl

Lionel Landwerlin (1):
      drm/i915/perf: complete programming whitelisting for XEHPSDV

Lucas De Marchi (7):
      drm/i915: Add missing mask when reading GEN12_DSMBASE
      drm/i915: Split i915_gem_init_stolen()
      drm/i915/dgfx: Make failure to setup stolen non-fatal
      drm/i915: Noop lrc_init_wa_ctx() on recent/future platforms
      drm/i915: Fix __gen125_emit_bb_start() without WA
      drm/i915/gt: Document function to decode register state context
      drm/i915/gt: Fix platform prefix

Matt Atwood (1):
      drm/i915/dg2: introduce Wa_22015475538

Matt Roper (21):
      drm/i915/mtl: Add MTL forcewake support
      drm/i915: Split GAM and MSLICE steering
      drm/i915/mtl: Define engine context layouts
      drm/i915: Document and future-proof preemption control policy
      drm/i915/gen8: Create separate reg definitions for new MCR registers
      drm/i915/xehp: Create separate reg definitions for new MCR registers
      drm/i915/gt: Drop a few unused register definitions
      drm/i915/gt: Correct prefix on a few registers
      drm/i915/gt: Add intel_gt_mcr_multicast_rmw() operation
      drm/i915/xehp: Check for faults on primary GAM
      drm/i915/gt: Add intel_gt_mcr_wait_for_reg_fw()
      drm/i915: Define MCR registers explicitly
      drm/i915/gt: Always use MCR functions on multicast registers
      drm/i915/guc: Handle save/restore of MCR registers explicitly
      drm/i915/gt: Add MCR-specific workaround initializers
      drm/i915: Define multicast registers as a new type
      drm/i915/xelpg: Add multicast steering
      drm/i915/xelpmp: Add multicast steering for media GT
      drm/i915/pvc: Update forcewake domain for CCS register ranges
      drm/i915/xelpg: Fix write to MTL_MCR_SELECTOR
      drm/i915/mtl: Add missing steering table terminators

Matthew Auld (11):
      drm/i915/ttm: implement access_memory
      drm/i915: remove the TODO in pin_and_fence_fb_obj
      drm/i915/display: handle migration for dpt
      drm/i915: allow control over the flags when migrating
      drm/i915/display: consider DG2_RC_CCS_CC when migrating buffers
      drm/i915: check memory is mappable in read_from_page
      drm/i915: add back GEN12_BDSM_MASK
      drm/i915: restore stolen memory behaviour for DG2
      drm/i915: enable PS64 support for DG2
      drm/i915/uapi: expose GTT alignment
      Revert "drm/i915/uapi: expose GTT alignment"

Matthew Brost (1):
      drm/i915/guc: Delay disabling guc_id scheduling for better hysteresis

Nathan Chancellor (1):
      drm/i915: Fix CFI violations in gt_sysfs

Niranjana Vishwanathapura (1):
      drm/i915: Remove unwanted pointer unpacking

Nirmoy Das (5):
      drm/i915: Do not cleanup obj with NULL bo->resource
      drm/i915: Improve debug print in vm_fault_ttm
      drm/i915: Fix a potential UAF at device unload
      drm/i915: remove excessive i915_gem_drain_freed_objects
      drm/i915: Refactor ttm ghost obj detection

Prathap Kumar Valsan (1):
      drm/i915/gt: Flush to global observation point before breadcrumb write

Riana Tauro (4):
      drm/i915/guc/slpc: Run SLPC selftests on all tiles
      drm/i915/selftests: Add helper function measure_power
      drm/i915/guc/slpc: Add SLPC selftest live_slpc_power
      drm/i915/hwmon: Add HWMON current voltage support

Robert Beckett (1):
      drm/i915: stop abusing swiotlb_max_segment

Tejas Upadhyay (1):
      drm/i915/ehl: Update MOCS table for EHL

Thomas Hellström (1):
      drm/i915: Fix display problems after resume

Tilak Tangudu (1):
      drm/i915/debugfs: Add perf_limit_reasons in debugfs

Tomas Winkler (5):
      mei: add support to GSC extended header
      mei: bus: enable sending gsc commands
      mei: adjust extended header kdocs
      mei: pxp: support matching with a gfx discrete card
      drm/i915/pxp: add huc authentication and loading command

Tvrtko Ursulin (7):
      drm/i915: Make GEM resume all engines
      drm/i915: Make GEM suspend all GTs
      drm/i915: Handle all GTs on driver (un)load paths
      drm/i915/selftests: Remove flush_scheduled_work() from live_execlists
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915/guc: Fix revocation of non-persistent contexts
      drm/i915/selftests: Stop using kthread_stop()

Umesh Nerlige Ramappa (14):
      drm/i915/perf: Fix OA filtering logic for GuC mode
      drm/i915/perf: Add 32-bit OAG and OAR formats for DG2
      drm/i915/perf: Fix noa wait predication for DG2
      drm/i915/perf: Determine gen12 oa ctx offset at runtime
      drm/i915/perf: Enable bytes per clock reporting in OA
      drm/i915/perf: Simply use stream->ctx
      drm/i915/perf: Move gt-specific data from i915->perf to gt->perf
      drm/i915/perf: Replace gt->perf.lock with stream->lock for file ops
      drm/i915/perf: Use gt-specific ggtt for OA and noa-wait buffers
      drm/i915/perf: Store a pointer to oa_format in oa_buffer
      drm/i915/perf: Add Wa_1508761755:dg2
      drm/i915/perf: Apply Wa_18013179988
      drm/i915/perf: Save/restore EU flex counters across reset
      drm/i915/perf: Enable OA for DG2

Ville Syrjälä (3):
      drm/i915: Extract intel_mmio_bar()
      drm/i915: Name our BARs based on the spec
      drm/i915: s/HAS_BAR2_SMEM_STOLEN/HAS_LMEMBAR_SMEM_STOLEN/

Vinay Belgaumkar (5):
      drm/i915: Add a wrapper for frequency debugfs
      drm/i915/slpc: Update the frequency debugfs
      drm/i915/slpc: Optmize waitboost for SLPC
      drm/i915/slpc: Use platform limits for min/max frequency
      drm/i915/guc: Support OA when Wa_16011777198 is enabled

Vitaly Lubart (3):
      mei: bus: extend bus API to support command streamer API
      mei: pxp: add command streamer API to the PXP driver
      drm/i915/pxp: implement function for sending tee stream command

 .../ABI/testing/sysfs-driver-intel-i915-hwmon      |  75 +++
 MAINTAINERS                                        |   1 +
 drivers/gpu/drm/i915/Kconfig.profile               |  26 +-
 drivers/gpu/drm/i915/Makefile                      |  14 +-
 drivers/gpu/drm/i915/display/intel_dpt.c           |   1 +
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |  63 +-
 drivers/gpu/drm/i915/display/intel_lpe_audio.c     |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   5 -
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  49 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   8 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  12 +
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |  33 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 261 +++++---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  78 ++-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   5 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    | 157 ++++-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  | 118 ++--
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |   1 +
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  55 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  12 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  92 +--
 drivers/gpu/drm/i915/gt/intel_context.c            |   5 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |  11 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   9 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   6 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          | 113 +++-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |  39 ++
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  15 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  25 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  26 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   4 +
 drivers/gpu/drm/i915/gt/intel_gsc.c                |  23 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 | 138 +++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             | 305 ++++++++-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |  24 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      | 196 ++----
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            | 178 +++--
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        | 480 +++++++-------
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   6 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  43 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 143 +++-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_migrate.c            |   1 +
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  20 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                | 265 +++++++-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   3 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   4 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 574 ++++++++++------
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |   9 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  50 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  51 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |   1 +
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  12 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            | 190 +++++-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   2 +-
 drivers/gpu/drm/i915/gt/sysfs_engines.c            |  25 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   1 +
 .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  |   9 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   9 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  16 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  71 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 119 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c     |  61 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  12 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  43 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        | 103 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 358 ++++++++--
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             | 262 +++++++-
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |  31 +
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |  34 +
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h          |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  24 +-
 drivers/gpu/drm/i915/gvt/cfg_space.c               |   4 +-
 drivers/gpu/drm/i915/gvt/handlers.c                |   4 +-
 drivers/gpu/drm/i915/gvt/mmio_context.c            |  14 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   8 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  30 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  50 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   3 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  12 +-
 drivers/gpu/drm/i915/i915_hwmon.c                  | 738 +++++++++++++++++++++
 drivers/gpu/drm/i915/i915_hwmon.h                  |  20 +
 drivers/gpu/drm/i915/i915_pci.c                    |   9 +-
 drivers/gpu/drm/i915/i915_perf.c                   | 582 ++++++++++++----
 drivers/gpu/drm/i915/i915_perf.h                   |   2 +
 drivers/gpu/drm/i915/i915_perf_oa_regs.h           |   6 +-
 drivers/gpu/drm/i915/i915_perf_types.h             |  47 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  22 +
 drivers/gpu/drm/i915/i915_reg_defs.h               |  27 +-
 drivers/gpu/drm/i915/i915_request.c                |  24 +
 drivers/gpu/drm/i915/i915_request.h                |   5 +
 drivers/gpu/drm/i915/i915_scatterlist.h            |  34 +-
 drivers/gpu/drm/i915/i915_selftest.h               |   2 +
 drivers/gpu/drm/i915/i915_trace.h                  |  15 -
 drivers/gpu/drm/i915/i915_vma.c                    |   9 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   3 +-
 drivers/gpu/drm/i915/intel_gvt_mmio_table.c        |   2 +-
 drivers/gpu/drm/i915/intel_mchbar_regs.h           |  21 +
 drivers/gpu/drm/i915/intel_pci_config.h            |  28 +-
 drivers/gpu/drm/i915/intel_pm.c                    | 205 +++---
 drivers/gpu/drm/i915/intel_uncore.c                | 280 +++++++-
 drivers/gpu/drm/i915/intel_uncore.h                |   2 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |  32 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |  32 -
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c           |  69 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_huc.h           |  13 +
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h           |   8 +
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       |   8 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.h       |  11 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           | 139 +++-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h           |   5 +
 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h |  23 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |   6 +
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |  16 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      | 252 ++++---
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |   4 +
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   1 -
 drivers/misc/mei/bus.c                             | 146 +++-
 drivers/misc/mei/client.c                          |  55 +-
 drivers/misc/mei/hbm.c                             |  13 +
 drivers/misc/mei/hw-me.c                           |   7 +-
 drivers/misc/mei/hw.h                              |  89 ++-
 drivers/misc/mei/interrupt.c                       |  47 +-
 drivers/misc/mei/mei_dev.h                         |   8 +
 drivers/misc/mei/pxp/mei_pxp.c                     |  38 +-
 include/drm/i915_pxp_tee_interface.h               |   5 +
 include/linux/mei_cl_bus.h                         |   6 +
 include/uapi/drm/i915_drm.h                        |  62 +-
 145 files changed, 6631 insertions(+), 2010 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-i915-hwmon
 create mode 100644 drivers/gpu/drm/i915/i915_hwmon.c
 create mode 100644 drivers/gpu/drm/i915/i915_hwmon.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-09-16  8:47 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-09-16  8:47 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes the final drm-intel-gt-next towards 6.1.

For stable platforms we have fixes for throttle reasons decoding to sysfs, GuC
version update to 7.5, XeHP SDV GSC support and the usual pile of smaller fixes.

DG2 and DG1 runtime PM is now mostly fixed for LMEM access via mmap, but kernel
internal usages still need to be reviewed. There's also at least one LMEM code
NULL deref bug to resolve [1]. Finally a bunch of Meteorlake (MTL) enabling
patches.

Note that this PR includes patches going to mei subsystem, due to the tight
coupling of the MEI/GSC code. Those are Acked-by Greg.

Regards, Joonas

[1] https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12135/bat-dg2-11/igt@gem_lmem_swapping@basic@lmem0.html

***

drm-intel-gt-next-2022-09-16:

Cross-subsystem Changes:

- MEI subsystem pieces for XeHP SDV GSC support
  These are Acked-by Greg.

Driver Changes:

- Release mmaps on RPM suspend on discrete GPUs (Anshuman)
- Update GuC version to 7.5 on DG1, DG2 and ADL
- Revert "drm/i915/dg2: extend Wa_1409120013 to DG2" (Lucas)
- MTL enabling incl. standalone media (Matt R, Lucas)
- Explicitly clear BB_OFFSET for new contexts on Gen8+ (Chris)
- Fix throttling / perf limit reason decoding (Ashutosh)
- XeHP SDV GSC support (Vitaly, Alexander, Tomas)

- Fix issues with overrding firmware file paths (John)
- Invert if-else ladders to check latest version first (Lucas)
- Cancel GuC engine busyness worker synchronously (Umesh)

- Skip applying copy engine fuses outside PVC (Lucas)
- Eliminate Gen10 frequency read function (Lucas)
- Static code checker fixes (Gaosheng)
- Selftest improvements (Chris)

The following changes since commit 04f7eb3d4582a0a4da67c86e55fda7de2df86d91:

  drm/i915: Set correct domains values at _i915_vma_move_to_active (2022-09-08 11:06:35 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-09-16

for you to fetch changes up to 8adc718881e0a70127f8843dd70e69a80de39352:

  drm/i915/uc: Update to latest GuC and use new-format GuC/HuC names (2022-09-15 18:43:33 -0700)

----------------------------------------------------------------
Cross-subsystem Changes:

- MEI subsystem pieces for XeHP SDV GSC support
  These are Acked-by Greg.

Driver Changes:

- Release mmaps on RPM suspend on discrete GPUs (Anshuman)
- Update GuC version to 7.5 on DG1, DG2 and ADL
- Revert "drm/i915/dg2: extend Wa_1409120013 to DG2" (Lucas)
- MTL enabling incl. standalone media (Matt R, Lucas)
- Explicitly clear BB_OFFSET for new contexts on Gen8+ (Chris)
- Fix throttling / perf limit reason decoding (Ashutosh)
- XeHP SDV GSC support (Vitaly, Alexander, Tomas)

- Fix issues with overrding firmware file paths (John)
- Invert if-else ladders to check latest version first (Lucas)
- Cancel GuC engine busyness worker synchronously (Umesh)

- Skip applying copy engine fuses outside PVC (Lucas)
- Eliminate Gen10 frequency read function (Lucas)
- Static code checker fixes (Gaosheng)
- Selftest improvements (Chris)

----------------------------------------------------------------
Alexander Usyskin (5):
      drm/i915/gsc: add slow_firmware flag to the gsc device definition
      drm/i915/gsc: add GSC XeHP SDV platform definition
      mei: gsc: wait for reset thread on stop
      mei: extend timeouts on slow devices
      mei: drop ready bits check after start

Anshuman Gupta (2):
      drm/i915: Refactor userfault_wakeref to re-use
      drm/i915/dgfx: Release mmap on rpm suspend

Ashutosh Dixit (1):
      drm/i915/gt: Fix perf limit reasons bit positions

Chris Wilson (4):
      drm/i915/gt: Explicitly clear BB_OFFSET for new contexts
      drm/i915/selftests: Check for incomplete LRI from the context image
      drm/i915/selftest: Always cancel semaphore on error
      drm/i915/selftest: Clear the output buffers before GPU writes

Gaosheng Cui (1):
      drm/i915: remove unused i915_gem_lmem_obj_ops declaration

John Harrison (2):
      drm/i915/uc: Fix issues with overriding firmware files
      drm/i915/uc: Update to latest GuC and use new-format GuC/HuC names

Lucas De Marchi (7):
      Revert "drm/i915/dg2: extend Wa_1409120013 to DG2"
      drm/i915/gt: Use MEDIA_VER() when handling media fuses
      drm/i915/gt: Extract function to apply media fuses
      drm/i915: Skip applying copy engine fuses
      drm/i915: Invert if/else ladder for frequency read
      drm/i915/gt: Extract per-platform function for frequency read
      drm/i915: Invert if/else ladder for stolen init

Matt Roper (14):
      drm/i915: Move locking and unclaimed check into mmio_debug_{suspend, resume}
      drm/i915: Only hook up uncore->debug for primary uncore
      drm/i915: Use managed allocations for extra uncore objects
      drm/i915: Drop intel_gt_tile_cleanup()
      drm/i915: Prepare more multi-GT initialization
      drm/i915: Rename and expose common GT early init routine
      drm/i915: Use a DRM-managed action to release the PCI bridge device
      drm/i915: Initialize MMIO access for each GT
      drm/i915: Handle each GT on init/release and suspend/resume
      drm/i915/uncore: Add GSI offset to uncore
      drm/i915/mtl: Add gsi_offset when emitting aux table invalidation
      drm/i915/xelpmp: Expose media as another GT
      drm/i915/mtl: Use primary GT's irq lock for media GT
      drm/i915/mtl: Hook up interrupts for standalone media

Tomas Winkler (7):
      mei: add kdoc for struct mei_aux_device
      mei: add slow_firmware flag to the mei auxiliary device
      mei: gsc: use polling instead of interrupts
      mei: mkhi: add memory ready command
      mei: gsc: setup gsc extended operational memory
      mei: debugfs: add pxp mode to devstate in debugfs
      drm/i915/gsc: allocate extended operational memory in LMEM

Umesh Nerlige Ramappa (1):
      drm/i915/guc: Cancel GuC engine busyness worker synchronously

Vitaly Lubart (3):
      drm/i915/gsc: skip irq initialization if using polling
      mei: bus: export common mkhi definitions into a separate header
      mei: gsc: add transition to PXP mode in resume flow

 drivers/gpu/drm/i915/Makefile                     |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h          |   2 -
 drivers/gpu/drm/i915/gem/i915_gem_mman.c          |  23 ++-
 drivers/gpu/drm/i915/gem/i915_gem_mman.h          |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_object.c        |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h  |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_pm.c            |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c        |  51 ++-----
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c           |  36 ++++-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c          |  15 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c         | 156 ++++++++++---------
 drivers/gpu/drm/i915/gt/intel_engine_regs.h       |   1 +
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c      |   1 -
 drivers/gpu/drm/i915/gt/intel_gsc.c               | 106 +++++++++++--
 drivers/gpu/drm/i915/gt/intel_gsc.h               |   3 +
 drivers/gpu/drm/i915/gt/intel_gt.c                | 111 ++++++++++----
 drivers/gpu/drm/i915/gt/intel_gt.h                |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c    | 174 ++++++++++------------
 drivers/gpu/drm/i915/gt/intel_gt_irq.c            |  35 ++++-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c         |   8 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h           |  10 ++
 drivers/gpu/drm/i915/gt/intel_gt_types.h          |  36 ++++-
 drivers/gpu/drm/i915/gt/intel_gtt.h               |   3 -
 drivers/gpu/drm/i915/gt/intel_lrc.c               |  29 +++-
 drivers/gpu/drm/i915/gt/intel_rps.c               |  26 ++--
 drivers/gpu/drm/i915/gt/intel_sa_media.c          |  47 ++++++
 drivers/gpu/drm/i915/gt/intel_sa_media.h          |  15 ++
 drivers/gpu/drm/i915/gt/selftest_lrc.c            | 115 +++++++++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc.c            |  24 +--
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c |  11 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c             |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c          |  30 +++-
 drivers/gpu/drm/i915/i915_driver.c                | 105 +++++++++----
 drivers/gpu/drm/i915/i915_drv.h                   |   5 +
 drivers/gpu/drm/i915/i915_gem.c                   |   6 +-
 drivers/gpu/drm/i915/i915_irq.c                   |   4 +-
 drivers/gpu/drm/i915/i915_pci.c                   |  14 ++
 drivers/gpu/drm/i915/i915_reg.h                   |  16 +-
 drivers/gpu/drm/i915/intel_device_info.h          |   3 +
 drivers/gpu/drm/i915/intel_pm.c                   |   5 +-
 drivers/gpu/drm/i915/intel_uncore.c               |  92 +++++++-----
 drivers/gpu/drm/i915/intel_uncore.h               |  40 ++++-
 drivers/gpu/drm/i915/pxp/intel_pxp.c              |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c      |   4 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c          |  14 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c      |   4 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c  |   1 +
 drivers/misc/mei/bus-fixup.c                      | 106 ++++++++-----
 drivers/misc/mei/client.c                         |  16 +-
 drivers/misc/mei/debugfs.c                        |  19 ++-
 drivers/misc/mei/gsc-me.c                         |  77 ++++++++--
 drivers/misc/mei/hbm.c                            |  14 +-
 drivers/misc/mei/hw-me-regs.h                     |   9 +-
 drivers/misc/mei/hw-me.c                          | 138 ++++++++++++++---
 drivers/misc/mei/hw-me.h                          |  17 ++-
 drivers/misc/mei/hw-txe.c                         |   4 +-
 drivers/misc/mei/hw.h                             |   7 +-
 drivers/misc/mei/init.c                           |  35 +++--
 drivers/misc/mei/main.c                           |   4 +-
 drivers/misc/mei/mei_dev.h                        |  35 ++++-
 drivers/misc/mei/mkhi.h                           |  55 +++++++
 drivers/misc/mei/pci-me.c                         |   4 +-
 include/linux/mei_aux.h                           |  12 ++
 64 files changed, 1423 insertions(+), 534 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_sa_media.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_sa_media.h
 create mode 100644 drivers/misc/mei/mkhi.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-09-09 11:20 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-09-09 11:20 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes second drm-intel-gt-next PR towards 6.1.

As the top item we're now aligning the GuC/HuC firmware versioning
to meet the expectations recorded under firmware-usage-guidelines.rst.
A revert of a previous (incorrect) userspace register removal for DG2
and addition of new DG2 workaround. Reject suspend on DG2 on low
system memory condition.

Fix for Gitlab #6639 h264 hardware video decoding regression, GuC SLPC
improvements, PXP fix, ATS-M thread tuning settings and tiny bit of
Meteorlake enabling, 

Regards, Joonas

PS. Still not the top of drm-intel-gt-next as need your comments on
fixing(?) the Acked-by's on the MEI/GSC patches.

***

drm-intel-gt-next-2022-09-09:

UAPI Changes:

- Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709"

  The intent of Wa_14015141709 was to inform us that userspace can no
  longer control object-level preemption as it has on past platforms
  (i.e., by twiddling register bit CS_CHICKEN1[0]).  The description of
  the workaround in the spec wasn't terribly well-written, and when we
  requested clarification from the hardware teams we were told that on the
  kernel side we should also probably stop setting
  FF_SLICE_CS_CHICKEN1[14], which is the register bit that directs the
  hardware to honor the settings in per-context register CS_CHICKEN1.  It
  turns out that this guidance about FF_SLICE_CS_CHICKEN1[14] was a
  mistake; even though CS_CHICKEN1[0] is non-operational and useless to
  userspace, there are other bits in the register that do still work and
  might need to be adjusted by userspace in the future (e.g., to implement
  other workarounds that show up).  If we don't set
  FF_SLICE_CS_CHICKEN1[14] in i915, then those future workarounds would
  not take effect.

  Even more details at:

  https://lists.freedesktop.org/archives/intel-gfx/2022-September/305478.html

Driver Changes:

- Align GuC/HuC firmware versioning scheme to kernel practices (John)
- Fix #6639: h264 hardware video decoding broken in 5.19 on Intel(R)
  Celeron(R) N3060 (Nirmoy)
- Meteorlake (MTL) enabling (Matt R)
- GuC SLPC improvements (Vinay, Rodrigo)
- Add thread execution tuning setting for ATS-M (Matt R)
- Don't start PXP without mei_pxp bind (Juston)
- Remove leftover verbose debug logging from GuC error capture (John)
- Abort suspend on low system memory conditions (Nirmoy, Matt A, Chris)
- Add DG2 Wa_16014892111 (Matt R)

- Rename ggtt_view as gtt_view (Niranjana)
- Consider HAS_FLAT_CCS() in needs_ccs_pages (Matt A)
- Don't try to disable host RPS when this was never enabled. (Rodrigo)
- Clear stalled GuC CT request after a reset (Daniele)
- Remove runtime info printing from GuC time stamp logging (Jani)
- Skip Bit12 fw domain reset for gen12+ (Sushma, Radhakrishna)

- Make GuC log sizes runtime configurable (John)
- Selftest improvements (Daniele, Matt B, Andrzej)

The following changes since commit 5ece208ab05e4042c80ed1e6fe6d7ce236eee89b:

  drm/i915/guc: Use streaming loads to speed up dumping the guc log (2022-08-17 10:07:03 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-09-09

for you to fetch changes up to 04f7eb3d4582a0a4da67c86e55fda7de2df86d91:

  drm/i915: Set correct domains values at _i915_vma_move_to_active (2022-09-08 11:06:35 +0100)

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

- Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709"

  The intent of Wa_14015141709 was to inform us that userspace can no
  longer control object-level preemption as it has on past platforms
  (i.e., by twiddling register bit CS_CHICKEN1[0]).  The description of
  the workaround in the spec wasn't terribly well-written, and when we
  requested clarification from the hardware teams we were told that on the
  kernel side we should also probably stop setting
  FF_SLICE_CS_CHICKEN1[14], which is the register bit that directs the
  hardware to honor the settings in per-context register CS_CHICKEN1.  It
  turns out that this guidance about FF_SLICE_CS_CHICKEN1[14] was a
  mistake; even though CS_CHICKEN1[0] is non-operational and useless to
  userspace, there are other bits in the register that do still work and
  might need to be adjusted by userspace in the future (e.g., to implement
  other workarounds that show up).  If we don't set
  FF_SLICE_CS_CHICKEN1[14] in i915, then those future workarounds would
  not take effect.

  Even more details at:

  https://lists.freedesktop.org/archives/intel-gfx/2022-September/305478.html

Driver Changes:

- Align GuC/HuC firmware versioning scheme to kernel practices (John)
- Fix #6639: h264 hardware video decoding broken in 5.19 on Intel(R)
  Celeron(R) N3060 (Nirmoy)
- Meteorlake (MTL) enabling (Matt R)
- GuC SLPC improvements (Vinay, Rodrigo)
- Add thread execution tuning setting for ATS-M (Matt R)
- Don't start PXP without mei_pxp bind (Juston)
- Remove leftover verbose debug logging from GuC error capture (John)
- Abort suspend on low system memory conditions (Nirmoy, Matt A, Chris)
- Add DG2 Wa_16014892111 (Matt R)

- Rename ggtt_view as gtt_view (Niranjana)
- Consider HAS_FLAT_CCS() in needs_ccs_pages (Matt A)
- Don't try to disable host RPS when this was never enabled. (Rodrigo)
- Clear stalled GuC CT request after a reset (Daniele)
- Remove runtime info printing from GuC time stamp logging (Jani)
- Skip Bit12 fw domain reset for gen12+ (Sushma, Radhakrishna)

- Make GuC log sizes runtime configurable (John)
- Selftest improvements (Daniele, Matt B, Andrzej)

----------------------------------------------------------------
Andrzej Hajda (1):
      drm/i915/selftests: allow misaligned_pin test work with unmappable memory

Daniele Ceraolo Spurio (2):
      drm/i915/guc: skip scrub_ctbs selftest if reset is disabled
      drm/i915/guc: clear stalled request after a reset

Jani Nikula (1):
      drm/i915/guc: remove runtime info printing from time stamp logging

John Harrison (4):
      drm/i915/guc: Make GuC log sizes runtime configurable
      drm/i915/guc: Reduce spam from error capture
      drm/i915/uc: Support for version reduced and multiple firmware files
      drm/i915/uc: Add patch level version number support

Joonas Lahtinen (1):
      drm/i915/guc: Remove log size module parameters

Juston Li (1):
      drm/i915/pxp: don't start pxp without mei_pxp bind

Matt Roper (5):
      drm/i915/mtl: MMIO range is now 4MB
      drm/i915/mtl: Don't mask off CCS according to DSS fusing
      drm/i915/dg2: Incorporate Wa_16014892111 into DRAW_WATERMARK tuning
      Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709"
      drm/i915/ats-m: Add thread execution tuning setting

Matthew Auld (2):
      Revert "drm/i915/guc: Add delay to disable scheduling after pin count goes to zero"
      drm/i915: consider HAS_FLAT_CCS() in needs_ccs_pages

Matthew Brost (2):
      drm/i915/selftests: Use correct selfest calls for live tests
      drm/i915/guc: Add delay to disable scheduling after pin count goes to zero

Niranjana Vishwanathapura (1):
      drm/i915: Rename ggtt_view as gtt_view

Nirmoy Das (2):
      drm/i915/ttm: Abort suspend on i915_ttm_backup failure
      drm/i915: Set correct domains values at _i915_vma_move_to_active

Radhakrishna Sripada (1):
      drm/i915: Skip Bit12 fw domain reset for gen12+

Rodrigo Vivi (3):
      drm/i915/slpc: Fix inconsistent locked return
      drm/i915/slpc: Let's fix the PCODE min freq table setup for SLPC
      drm/i915: Don't try to disable host RPS when this was never enabled.

Vinay Belgaumkar (1):
      drm/i915/guc/slpc: Allow SLPC to use efficient frequency

 drivers/gpu/drm/i915/display/intel_display.c       |   2 +-
 drivers/gpu/drm/i915/display/intel_display.h       |   2 +-
 drivers/gpu/drm/i915/display/intel_display_types.h |   2 +-
 drivers/gpu/drm/i915/display/intel_fb.c            |  18 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |   4 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.h        |   4 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c         |   7 +-
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |   2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |   2 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |   6 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   2 +
 drivers/gpu/drm/i915/gt/intel_llc.c                |  19 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  21 +
 drivers/gpu/drm/i915/gt/intel_reset.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  60 ++-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  13 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |   9 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  55 +--
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  81 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         | 175 +++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |  42 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  86 +---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  17 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 462 ++++++++++++++-------
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  39 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |   8 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   3 +
 drivers/gpu/drm/i915/i915_debugfs.c                |  56 +--
 drivers/gpu/drm/i915/i915_drv.h                    |   7 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   6 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  16 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   1 +
 drivers/gpu/drm/i915/i915_vma.c                    |  43 +-
 drivers/gpu/drm/i915/i915_vma.h                    |  18 +-
 drivers/gpu/drm/i915/i915_vma_types.h              |  42 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   1 +
 drivers/gpu/drm/i915/intel_mchbar_regs.h           |   3 +
 drivers/gpu/drm/i915/intel_uncore.c                |  18 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |  15 +
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   4 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |   2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |   2 +-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |  70 ++--
 53 files changed, 937 insertions(+), 555 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-08-24 12:01 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-08-24 12:01 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here goes the first drm-intel-gt-next PR towards 6.1. Quite a small one.

As primary things, there's the parallel support of GuC v69 and v70
which already went in via -fixes, improvements to the TLB invalidation
performance regressions, further DG2 enabling and improved debugging
for GuC errors.

On top of that, locking simplification for freeing objects to avoid
potential system freeze, addition of gt/gtN/.defaults (including freq
to start), silencing some messages that are not errors.

Regards, Joonas

PS. I left a few commits out from top of drm-intel-gt-next as there is fixup
needed for at least one. I will include those in the next PR.

***

drm-intel-gt-next-2022-08-24:

UAPI Changes:

- Create gt/gtN/.defaults/ for per gt sysfs defaults

  Create a gt/gtN/.defaults/ directory (similar to
  engine/<engine-name>/.defaults/) to expose default parameter values for
  each gt in sysfs. This allows userspace to restore default parameter values
  after they have changed.

Driver Changes:

- Support GuC v69 in parallel to v70 (Daniele)
- Improve TLB invalidation to limit performance regression (Chris, Mauro)
- Expose per-gt RPS defaults in sysfs (Ashutosh)
- Suppress OOM warning for shmemfs object allocation failure (Chris, Nirmoy)
- Disable PCI resize on 32-bit machines (Nirmoy)
- Update DG2 to GuC v70.4.1 (John)
- Fix CCS data copying on DG2 during swapping (Matt A)
- Add DG2 performance tuning setting recommended by spec (Matt R)
- Add GuC <-> kernel time stamp translation information to error logs (John)
- Record GuC CTB info in error logs (John)

- Route semaphores to GuC for Gen12+ when enabled (Michal Wi, John)
- Improve resilency to bug #3575: Handle reset timeouts under unrelated kernel hangs (Chris, Ashutosh)
- Avoid system freeze by removing shared locking on freeing objects (Chris, Nirmoy)
- Demote GuC error "No response for request" into debug when expected (Zhanjun)
- Fix GuC capture size warning and bump the size (John)
- Use streaming loads to speed up dumping the GuC log (Chris, John)
- Don't abort on CTB_UNUSED status from GuC (John)
- Don't send spurious policy update for GuC child contexts (Daniele)
- Don't leak the CCS state (Matt A)

- Prefer drm_err over pr_err (John)
- Eliminate unused calc_ctrl_surf_instr_size (Matt A)
- Add dedicated function for non-ctx register tuning settings (Matt R)
- Style and typo fixes, documentation improvements (Jason Wang, Mauro)
- Selftest improvements (Matt B, Rahul, John)

The following changes since commit 17cd10a44a8962860ff4ba351b2a290e752dbbde:

  drm/i915: Add lmem_bar_size modparam (2022-07-13 17:47:51 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-08-24

for you to fetch changes up to 5ece208ab05e4042c80ed1e6fe6d7ce236eee89b:

  drm/i915/guc: Use streaming loads to speed up dumping the guc log (2022-08-17 10:07:03 -0700)

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

- Create gt/gtN/.defaults/ for per gt sysfs defaults

  Create a gt/gtN/.defaults/ directory (similar to
  engine/<engine-name>/.defaults/) to expose default parameter values for
  each gt in sysfs. This allows userspace to restore default parameter values
  after they have changed.

Driver Changes:

- Support GuC v69 in parallel to v70 (Daniele)
- Improve TLB invalidation to limit performance regression (Chris, Mauro)
- Expose per-gt RPS defaults in sysfs (Ashutosh)
- Suppress OOM warning for shmemfs object allocation failure (Chris, Nirmoy)
- Disable PCI resize on 32-bit machines (Nirmoy)
- Update DG2 to GuC v70.4.1 (John)
- Fix CCS data copying on DG2 during swapping (Matt A)
- Add DG2 performance tuning setting recommended by spec (Matt R)
- Add GuC <-> kernel time stamp translation information to error logs (John)
- Record GuC CTB info in error logs (John)

- Route semaphores to GuC for Gen12+ when enabled (Michal Wi, John)
- Improve resilency to bug #3575: Handle reset timeouts under unrelated kernel hangs (Chris, Ashutosh)
- Avoid system freeze by removing shared locking on freeing objects (Chris, Nirmoy)
- Demote GuC error "No response for request" into debug when expected (Zhanjun)
- Fix GuC capture size warning and bump the size (John)
- Use streaming loads to speed up dumping the GuC log (Chris, John)
- Don't abort on CTB_UNUSED status from GuC (John)
- Don't send spurious policy update for GuC child contexts (Daniele)
- Don't leak the CCS state (Matt A)

- Prefer drm_err over pr_err (John)
- Eliminate unused calc_ctrl_surf_instr_size (Matt A)
- Add dedicated function for non-ctx register tuning settings (Matt R)
- Style and typo fixes, documentation improvements (Jason Wang, Mauro)
- Selftest improvements (Matt B, Rahul, John)

----------------------------------------------------------------
Alan Previn (1):
      drm/i915/guc: Add a helper for log buffer size

Ashutosh Dixit (2):
      drm/i915/gt: Create gt/gtN/.defaults/ for per gt sysfs defaults
      drm/i915/gt: Expose per-gt RPS defaults in sysfs

Chris Wilson (8):
      drm/i915/reset: Handle reset timeouts under unrelated kernel hangs
      drm/i915: Suppress oom warning for shmemfs object allocation failure
      drm/i915/gt: Ignore TLB invalidations on idle engines
      drm/i915/gt: Invalidate TLB of the OA unit at TLB invalidations
      drm/i915/gt: Skip TLB invalidations once wedged
      drm/i915/gt: Batch TLB invalidations
      drm/i915/gem: Remove shared locking on freeing objects
      drm/i915/guc: Use streaming loads to speed up dumping the guc log

Daniele Ceraolo Spurio (2):
      drm/i915/guc: support v69 in parallel to v70
      drm/i915/guc: Don't send policy update for child contexts.

Harish Chegondi (1):
      drm/i915/dg2: Add Wa_1509727124

Jason Wang (2):
      drm/i915/gt: Remove unneeded semicolon
      drm/i915/selftests: Fix comment typo

John Harrison (7):
      drm/i915/guc: Don't use pr_err when not necessary
      drm/i915/selftest: Cope with not having an RCS engine
      drm/i915/guc: Don't abort on CTB_UNUSED status
      drm/i915/dg2: Update DG2 to GuC v70.4.1
      drm/i915/guc: Fix capture size warning and bump the size
      drm/i915/guc: Add GuC <-> kernel time stamp translation information
      drm/i915/guc: Record CTB info in error logs

Matt Roper (2):
      drm/i915/gt: Add dedicated function for non-ctx register tuning settings
      drm/i915/dg2: Add additional tuning settings

Matthew Auld (3):
      drm/i915/ttm: don't leak the ccs state
      drm/i915/ttm: remove calc_ctrl_surf_instr_size
      drm/i915/ttm: fix CCS handling

Matthew Brost (2):
      drm/i915/guc: Fix issues with live_preempt_cancel
      drm/i915/guc: Support larger contexts on newer hardware

Mauro Carvalho Chehab (3):
      drm/i915/gt: document with_intel_gt_pm_if_awake()
      drm/i915/gt: describe the new tlb parameter at i915_vma_resource
      drm/i915: pass a pointer for tlb seqno at vma_invalidate_tlb()

Michał Winiarski (1):
      drm/i915/guc: Route semaphores to GuC for Gen12+

Nirmoy Das (1):
      drm/i915: disable pci resize on 32-bit machine

Rahul Kumar Singh (1):
      drm/i915/guc: Add selftest for a hung GuC

Zhanjun Dong (1):
      drm/i915/guc: Check for ct enabled while waiting for response

 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  25 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   6 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |  11 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  77 +++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |  12 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |  11 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  11 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  10 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   6 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  34 ++
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |  27 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            | 104 +++---
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   8 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +
 drivers/gpu/drm/i915/gt/intel_reset.c              |   6 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  76 ++--
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  16 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  12 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   3 +
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  19 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   7 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  40 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h     |   1 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  45 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  45 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  79 +++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  12 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 393 ++++++++++++++++-----
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  68 +++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   7 +
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |  37 +-
 .../gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c    | 159 +++++++++
 .../gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c    |  10 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  67 +++-
 drivers/gpu/drm/i915/i915_gpu_error.h              |  21 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  33 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   1 +
 drivers/gpu/drm/i915/i915_vma_resource.c           |   9 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |   6 +-
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |   1 +
 drivers/gpu/drm/i915/selftests/i915_request.c      |   2 +-
 49 files changed, 1227 insertions(+), 345 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/selftest_guc_hangcheck.c

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-07-13 21:31 Rodrigo Vivi
@ 2022-07-21 15:06 ` Vivi, Rodrigo
  0 siblings, 0 replies; 68+ messages in thread
From: Vivi, Rodrigo @ 2022-07-21 15:06 UTC (permalink / raw)
  To: daniel.vetter, airlied
  Cc: tvrtko.ursulin, dim-tools, intel-gfx, dri-devel, tzimmermann

On Wed, 2022-07-13 at 17:31 -0400, Rodrigo Vivi wrote:
> Hi Dave and Daniel,
> 
> On behalf of Tvrtko, who is recovering from Covid,
> here goes the latest drm-intel-gt-next pull request
> targeting 5.20.

Hi Folks,

any particular issue with this pull request?

We just realized it is not yet part of the drm-next.


Thanks,
Rodrigo.

> 
> Thanks,
> Rodrigo.
> 
> Driver uAPI changes:
> - All related to the Small BAR support: (and all by Matt Auld)
>  * add probed_cpu_visible_size
>  * expose the avail memory region tracking
>  * apply ALLOC_GPU only by default
>  * add NEEDS_CPU_ACCESS hint
>  * tweak error capture on recoverable contexts
> 
> Driver highlights:
> - Add Small BAR support (Matt)
> - Add MeteorLake support (RK)
> - Add support for LMEM PCIe resizable BAR (Akeem)
> 
> Driver important fixes:
> - ttm related fixes (Matt Auld)
> - Fix a performance regression related to waitboost (Chris)
> - Fix GT resets (Chris)
> 
> Driver others:
> - Adding GuC SLPC selftest (Vinay)
> - Fix ADL-N GuC load (Daniele)
> - Add platform workaround (Gustavo, Matt Roper)
> - DG2 and ATS-M device ID updates (Matt Roper)
> - Add VM_BIND doc rfc with uAPI documentation (Niranjana)
> - Fix user-after-free in vma destruction (Thomas)
> - Async flush of GuC log regions (Alan)
> - Fixes in selftests (Chris, Dan, Andrzej)
> - Convert to drm_dbg (Umesh)
> - Disable OA sseu config param for newer hardware (Umesh)
> - Multi-cast register steering changes (Matt Roper)
> - Add lmem_bar_size modparam (Priyanka)
> 
> Thanks,
> Rodrigo.
> 
> The following changes since commit
> a06968563775181690125091f470a8655742dcbf:
> 
>   drm/i915: Fix a lockdep warning at error capture (2022-06-29
> 14:52:50 +0530)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-
> 2022-07-13
> 
> for you to fetch changes up to
> 17cd10a44a8962860ff4ba351b2a290e752dbbde:
> 
>   drm/i915: Add lmem_bar_size modparam (2022-07-13 17:47:51 +0100)
> 
> ----------------------------------------------------------------
> Driver uAPI changes:
> - All related to the Small BAR support: (and all by Matt Auld)
>  * add probed_cpu_visible_size
>  * expose the avail memory region tracking
>  * apply ALLOC_GPU only by default
>  * add NEEDS_CPU_ACCESS hint
>  * tweak error capture on recoverable contexts
> 
> Driver highlights:
> - Add Small BAR support (Matt)
> - Add MeteorLake support (RK)
> - Add support for LMEM PCIe resizable BAR (Akeem)
> 
> Driver important fixes:
> - ttm related fixes (Matt Auld)
> - Fix a performance regression related to waitboost (Chris)
> - Fix GT resets (Chris)
> 
> Driver others:
> - Adding GuC SLPC selftest (Vinay)
> - Fix ADL-N GuC load (Daniele)
> - Add platform workaround (Gustavo, Matt Roper)
> - DG2 and ATS-M device ID updates (Matt Roper)
> - Add VM_BIND doc rfc with uAPI documentation (Niranjana)
> - Fix user-after-free in vma destruction (Thomas)
> - Async flush of GuC log regions (Alan)
> - Fixes in selftests (Chris, Dan, Andrzej)
> - Convert to drm_dbg (Umesh)
> - Disable OA sseu config param for newer hardware (Umesh)
> - Multi-cast register steering changes (Matt Roper)
> - Add lmem_bar_size modparam (Priyanka)
> 
> ----------------------------------------------------------------
> Akeem G Abodunrin (1):
>       drm/i915: Add support for LMEM PCIe resizable bar
> 
> Alan Previn (1):
>       drm/i915/guc: Asynchronous flush of GuC log regions
> 
> Andrzej Hajda (1):
>       drm/i915/selftests: fix subtraction overflow bug
> 
> Chris Wilson (6):
>       drm/i915/selftests: Grab the runtime pm in shrink_thp
>       drm/i915/gt: Serialize GRDOM access between multiple engine
> resets
>       drm/i915/gt: Serialize TLB invalidates with GT resets
>       drm/i915/gem: Look for waitboosting across the whole object
> prior to individual waits
>       drm/i915: Bump GT idling delay to 2 jiffies
>       drm/i915/gt: Only kick the signal worker if there's been an
> update
> 
> Dan Carpenter (1):
>       drm/i915/selftests: fix a couple IS_ERR() vs NULL tests
> 
> Daniele Ceraolo Spurio (1):
>       drm/i915/guc: ADL-N should use the same GuC FW as ADL-S
> 
> Gustavo Sousa (1):
>       drm/i915/pvc: Implement w/a 16016694945
> 
> Matt Roper (4):
>       drm/i915: DG2 and ATS-M device ID updates
>       drm/i915/gt: Add general DSS steering iterator to intel_gt_mcr
>       drm/i915/dg2: Add Wa_15010599737
>       drm/i915: Correct ss -> steering calculation for pre-Xe_HP
> platforms
> 
> Matthew Auld (15):
>       drm/doc: add rfc section for small BAR uapi
>       drm/i915/uapi: add probed_cpu_visible_size
>       drm/i915/uapi: expose the avail tracking
>       drm/i915: remove intel_memory_region avail
>       drm/i915/uapi: apply ALLOC_GPU_ONLY by default
>       drm/i915/uapi: add NEEDS_CPU_ACCESS hint
>       drm/i915/error: skip non-mappable pages
>       drm/i915/uapi: tweak error capture on recoverable contexts
>       drm/i915/selftests: skip the mman tests for stolen
>       drm/i915/selftests: ensure we reserve a fence slot
>       drm/i915/ttm: handle blitter failure on DG2
>       drm/i915/ttm: disallow CPU fallback mode for ccs pages
>       drm/i915: turn on small BAR support
>       drm/i915/ttm: fix sg_table construction
>       drm/i915/ttm: fix 32b build
> 
> Niranjana Vishwanathapura (3):
>       drm/doc/rfc: VM_BIND feature design document
>       drm/i915: Update i915 uapi documentation
>       drm/doc/rfc: VM_BIND uapi definition
> 
> Priyanka Dandamudi (1):
>       drm/i915: Add lmem_bar_size modparam
> 
> Radhakrishna Sripada (2):
>       drm/i915/mtl: Add MeteorLake platform info
>       drm/i915/mtl: Add MeteorLake PCI IDs
> 
> Thomas Hellström (1):
>       drm/i915: Fix vm use-after-free in vma destruction
> 
> Umesh Nerlige Ramappa (2):
>       i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
>       i915/perf: Disable OA sseu config param for gfx12.50+
> 
> Vinay Belgaumkar (1):
>       drm/i915/guc/slpc: Add a new SLPC selftest
> 
>  Documentation/gpu/rfc/i915_small_bar.h             | 189 +++++++++++
>  Documentation/gpu/rfc/i915_small_bar.rst           |  47 +++
>  Documentation/gpu/rfc/i915_vm_bind.h               | 291
> ++++++++++++++++
>  Documentation/gpu/rfc/i915_vm_bind.rst             | 245
> ++++++++++++++
>  Documentation/gpu/rfc/index.rst                    |   8 +
>  drivers/gpu/drm/i915/gem/i915_gem_create.c         |  20 +-
>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  15 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  47 +++
>  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   3 +
>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  18 +
>  drivers/gpu/drm/i915/gem/i915_gem_region.c         |   2 +
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  55 +--
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |   3 +
>  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  99 +++++-
>  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h       |   1 +
>  drivers/gpu/drm/i915/gem/i915_gem_wait.c           |  34 ++
>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   7 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 141 ++++++--
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  87 ++++-
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |   3 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  34 +-
>  drivers/gpu/drm/i915/gt/intel_engine_types.h       |  22 --
>  drivers/gpu/drm/i915/gt/intel_gt.c                 |  15 +-
>  drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |  25 ++
>  drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |  24 ++
>  drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   7 +
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c        | 109 +++++-
>  drivers/gpu/drm/i915/gt/intel_reset.c              |  37 +-
>  drivers/gpu/drm/i915/gt/intel_workarounds.c        |   6 +
>  drivers/gpu/drm/i915/gt/selftest_lrc.c             |   8 +-
>  drivers/gpu/drm/i915/gt/selftest_slpc.c            | 323 +++++++++--
> -------
>  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  16 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   9 +
>  drivers/gpu/drm/i915/i915_active.c                 |   2 +-
>  drivers/gpu/drm/i915/i915_drv.h                    |   5 +
>  drivers/gpu/drm/i915/i915_gpu_error.c              |  42 +--
>  drivers/gpu/drm/i915/i915_params.c                 |   2 +
>  drivers/gpu/drm/i915/i915_params.h                 |   1 +
>  drivers/gpu/drm/i915/i915_pci.c                    |  28 +-
>  drivers/gpu/drm/i915/i915_perf.c                   | 158 ++++++---
>  drivers/gpu/drm/i915/i915_query.c                  |  16 +-
>  drivers/gpu/drm/i915/i915_scatterlist.c            |  27 +-
>  drivers/gpu/drm/i915/i915_scatterlist.h            |   6 +-
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  31 +-
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.h      |   3 +
>  drivers/gpu/drm/i915/i915_vma.c                    |  37 +-
>  drivers/gpu/drm/i915/intel_device_info.c           |  17 +
>  drivers/gpu/drm/i915/intel_device_info.h           |   5 +
>  drivers/gpu/drm/i915/intel_memory_region.c         |  18 +-
>  drivers/gpu/drm/i915/intel_memory_region.h         |   4 +-
>  drivers/gpu/drm/i915/intel_region_ttm.c            |  10 +-
>  drivers/gpu/drm/i915/intel_region_ttm.h            |   3 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   2 +-
>  .../gpu/drm/i915/selftests/intel_memory_region.c   |  21 +-
>  drivers/gpu/drm/i915/selftests/mock_region.c       |   3 +-
>  include/drm/i915_pciids.h                          |  39 ++-
>  include/uapi/drm/i915_drm.h                        | 371
> ++++++++++++++++-----
>  58 files changed, 2281 insertions(+), 522 deletions(-)
>  create mode 100644 Documentation/gpu/rfc/i915_small_bar.h
>  create mode 100644 Documentation/gpu/rfc/i915_small_bar.rst
>  create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
>  create mode 100644 Documentation/gpu/rfc/i915_vm_bind.rst


^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-07-13 21:31 Rodrigo Vivi
  2022-07-21 15:06 ` Vivi, Rodrigo
  0 siblings, 1 reply; 68+ messages in thread
From: Rodrigo Vivi @ 2022-07-13 21:31 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave and Daniel,

On behalf of Tvrtko, who is recovering from Covid,
here goes the latest drm-intel-gt-next pull request
targeting 5.20.

Thanks,
Rodrigo.

Driver uAPI changes:
- All related to the Small BAR support: (and all by Matt Auld)
 * add probed_cpu_visible_size
 * expose the avail memory region tracking
 * apply ALLOC_GPU only by default
 * add NEEDS_CPU_ACCESS hint
 * tweak error capture on recoverable contexts

Driver highlights:
- Add Small BAR support (Matt)
- Add MeteorLake support (RK)
- Add support for LMEM PCIe resizable BAR (Akeem)

Driver important fixes:
- ttm related fixes (Matt Auld)
- Fix a performance regression related to waitboost (Chris)
- Fix GT resets (Chris)

Driver others:
- Adding GuC SLPC selftest (Vinay)
- Fix ADL-N GuC load (Daniele)
- Add platform workaround (Gustavo, Matt Roper)
- DG2 and ATS-M device ID updates (Matt Roper)
- Add VM_BIND doc rfc with uAPI documentation (Niranjana)
- Fix user-after-free in vma destruction (Thomas)
- Async flush of GuC log regions (Alan)
- Fixes in selftests (Chris, Dan, Andrzej)
- Convert to drm_dbg (Umesh)
- Disable OA sseu config param for newer hardware (Umesh)
- Multi-cast register steering changes (Matt Roper)
- Add lmem_bar_size modparam (Priyanka)

Thanks,
Rodrigo.

The following changes since commit a06968563775181690125091f470a8655742dcbf:

  drm/i915: Fix a lockdep warning at error capture (2022-06-29 14:52:50 +0530)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-07-13

for you to fetch changes up to 17cd10a44a8962860ff4ba351b2a290e752dbbde:

  drm/i915: Add lmem_bar_size modparam (2022-07-13 17:47:51 +0100)

----------------------------------------------------------------
Driver uAPI changes:
- All related to the Small BAR support: (and all by Matt Auld)
 * add probed_cpu_visible_size
 * expose the avail memory region tracking
 * apply ALLOC_GPU only by default
 * add NEEDS_CPU_ACCESS hint
 * tweak error capture on recoverable contexts

Driver highlights:
- Add Small BAR support (Matt)
- Add MeteorLake support (RK)
- Add support for LMEM PCIe resizable BAR (Akeem)

Driver important fixes:
- ttm related fixes (Matt Auld)
- Fix a performance regression related to waitboost (Chris)
- Fix GT resets (Chris)

Driver others:
- Adding GuC SLPC selftest (Vinay)
- Fix ADL-N GuC load (Daniele)
- Add platform workaround (Gustavo, Matt Roper)
- DG2 and ATS-M device ID updates (Matt Roper)
- Add VM_BIND doc rfc with uAPI documentation (Niranjana)
- Fix user-after-free in vma destruction (Thomas)
- Async flush of GuC log regions (Alan)
- Fixes in selftests (Chris, Dan, Andrzej)
- Convert to drm_dbg (Umesh)
- Disable OA sseu config param for newer hardware (Umesh)
- Multi-cast register steering changes (Matt Roper)
- Add lmem_bar_size modparam (Priyanka)

----------------------------------------------------------------
Akeem G Abodunrin (1):
      drm/i915: Add support for LMEM PCIe resizable bar

Alan Previn (1):
      drm/i915/guc: Asynchronous flush of GuC log regions

Andrzej Hajda (1):
      drm/i915/selftests: fix subtraction overflow bug

Chris Wilson (6):
      drm/i915/selftests: Grab the runtime pm in shrink_thp
      drm/i915/gt: Serialize GRDOM access between multiple engine resets
      drm/i915/gt: Serialize TLB invalidates with GT resets
      drm/i915/gem: Look for waitboosting across the whole object prior to individual waits
      drm/i915: Bump GT idling delay to 2 jiffies
      drm/i915/gt: Only kick the signal worker if there's been an update

Dan Carpenter (1):
      drm/i915/selftests: fix a couple IS_ERR() vs NULL tests

Daniele Ceraolo Spurio (1):
      drm/i915/guc: ADL-N should use the same GuC FW as ADL-S

Gustavo Sousa (1):
      drm/i915/pvc: Implement w/a 16016694945

Matt Roper (4):
      drm/i915: DG2 and ATS-M device ID updates
      drm/i915/gt: Add general DSS steering iterator to intel_gt_mcr
      drm/i915/dg2: Add Wa_15010599737
      drm/i915: Correct ss -> steering calculation for pre-Xe_HP platforms

Matthew Auld (15):
      drm/doc: add rfc section for small BAR uapi
      drm/i915/uapi: add probed_cpu_visible_size
      drm/i915/uapi: expose the avail tracking
      drm/i915: remove intel_memory_region avail
      drm/i915/uapi: apply ALLOC_GPU_ONLY by default
      drm/i915/uapi: add NEEDS_CPU_ACCESS hint
      drm/i915/error: skip non-mappable pages
      drm/i915/uapi: tweak error capture on recoverable contexts
      drm/i915/selftests: skip the mman tests for stolen
      drm/i915/selftests: ensure we reserve a fence slot
      drm/i915/ttm: handle blitter failure on DG2
      drm/i915/ttm: disallow CPU fallback mode for ccs pages
      drm/i915: turn on small BAR support
      drm/i915/ttm: fix sg_table construction
      drm/i915/ttm: fix 32b build

Niranjana Vishwanathapura (3):
      drm/doc/rfc: VM_BIND feature design document
      drm/i915: Update i915 uapi documentation
      drm/doc/rfc: VM_BIND uapi definition

Priyanka Dandamudi (1):
      drm/i915: Add lmem_bar_size modparam

Radhakrishna Sripada (2):
      drm/i915/mtl: Add MeteorLake platform info
      drm/i915/mtl: Add MeteorLake PCI IDs

Thomas Hellström (1):
      drm/i915: Fix vm use-after-free in vma destruction

Umesh Nerlige Ramappa (2):
      i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
      i915/perf: Disable OA sseu config param for gfx12.50+

Vinay Belgaumkar (1):
      drm/i915/guc/slpc: Add a new SLPC selftest

 Documentation/gpu/rfc/i915_small_bar.h             | 189 +++++++++++
 Documentation/gpu/rfc/i915_small_bar.rst           |  47 +++
 Documentation/gpu/rfc/i915_vm_bind.h               | 291 ++++++++++++++++
 Documentation/gpu/rfc/i915_vm_bind.rst             | 245 ++++++++++++++
 Documentation/gpu/rfc/index.rst                    |   8 +
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |  20 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  47 +++
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  18 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   2 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  55 +--
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  99 +++++-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h       |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |  34 ++
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   7 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 141 ++++++--
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  87 ++++-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  34 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  22 --
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |  25 ++
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |  24 ++
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   7 +
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        | 109 +++++-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  37 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   6 +
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   8 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            | 323 +++++++++---------
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     |  16 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   9 +
 drivers/gpu/drm/i915/i915_active.c                 |   2 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   5 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  42 +--
 drivers/gpu/drm/i915/i915_params.c                 |   2 +
 drivers/gpu/drm/i915/i915_params.h                 |   1 +
 drivers/gpu/drm/i915/i915_pci.c                    |  28 +-
 drivers/gpu/drm/i915/i915_perf.c                   | 158 ++++++---
 drivers/gpu/drm/i915/i915_query.c                  |  16 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |  27 +-
 drivers/gpu/drm/i915/i915_scatterlist.h            |   6 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  31 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h      |   3 +
 drivers/gpu/drm/i915/i915_vma.c                    |  37 +-
 drivers/gpu/drm/i915/intel_device_info.c           |  17 +
 drivers/gpu/drm/i915/intel_device_info.h           |   5 +
 drivers/gpu/drm/i915/intel_memory_region.c         |  18 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |   4 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |  10 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |   3 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   2 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  21 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |   3 +-
 include/drm/i915_pciids.h                          |  39 ++-
 include/uapi/drm/i915_drm.h                        | 371 ++++++++++++++++-----
 58 files changed, 2281 insertions(+), 522 deletions(-)
 create mode 100644 Documentation/gpu/rfc/i915_small_bar.h
 create mode 100644 Documentation/gpu/rfc/i915_small_bar.rst
 create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
 create mode 100644 Documentation/gpu/rfc/i915_vm_bind.rst

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-06-29 10:45 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2022-06-29 10:45 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave, Daniel,

This is the first pull request for 5.20 merge window.

A lot of fixes across the board, a few improvements and quite a lot of driver
refactoring to prepare for Ponte Vecchio, and then a bunch of Ponte Vecchio
early enablement on top.

In terms of improvements, we now enable huge pages on Icelake and above
regardless of the IOMMU status. This is after confirming with hardware
architects and measuring the performance regression which we had on older
platforms is gone.

Resume speed on modern integrated platforms has also been improved with around
100ms improvement measured.

DG2 has gained HuC support and some new workarounds.

In terms of fixes, the headline ones are:

* Driver load on DG2 small BAR configurations has been fixed to not crash.

* GuC backend has fixed the EU scheduling priority for DG2 and in general fixed
  reset handling, improved error capture and optimised performance of querying
  engine busyness.

* Rendering corruption on Haswell and older platforms caused by some recent
  refactoring has also been fixed, as was the dma_resv handling in the
  relatively new multi-batch execbuf code.

* Temporary and unintended relaxation of the persistent contexts handling in the
  protocontext code has been fixed up before it hopefully "escaped" into the
  wild.

* Reset handling on Icelake and above has been improved with a new workaround
  which should improve the stability in some corner cases.

* Processes which use non-persistent context and abruptly exit will now be
  allowed to exit gracefuly without triggering resets and error capture in the
  logs.

* A bunch more as mentioned in the tag summary.

On the uapi front we have deprecation of some legacy get params on Xe_HP+ and
media block frequency control exposed in per gt sysfs.

Outside i915 we have a rename in the intel-gtt module and one cross-merge from
drm-intel-next.

Regards,

Tvrtko

drm-intel-gt-next-2022-06-29:
UAPI Changes:

- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Document memory residency and Flat-CCS capability of obj (Ramalingam C)
- Disable GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK on Xe_HP+ (Matt Roper)

Cross-subsystem Changes:

- Rename intel-gtt symbols (Lucas De Marchi)

Core Changes:

Driver Changes:

- Support programming the EU priority in the GuC descriptor (DG2) (Matthew Brost)
- DG2 HuC loading support (Daniele Ceraolo Spurio)
- Fix build error without CONFIG_PM (YueHaibing)
- Enable THP on Icelake and beyond (Tvrtko Ursulin)
- Only setup private tmpfs mount when needed and fix logging (Tvrtko Ursulin)
- Make __guc_reset_context aware of guilty engines (Umesh Nerlige Ramappa)
- DG2 small bar memory probing fixes (Nirmoy Das)
- Remove unnecessary GuC err capture noise (Alan Previn)
- Fix i915_gem_object_ggtt_pin_ww regression on old platforms (Maarten Lankhorst)
- Fix undefined behavior in GuC backend due to shift overflowing the constant (Borislav Petkov)
- New DG2 workarounds (Swathi Dhanavanthri, Anshuman Gupta)
- Report no hwconfig support on ADL-N (Balasubramani Vivekanandan)
- Fix error_state_read ptr + offset use (Alan Previn)
- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Fix memory leaks in per-gt sysfs (Ashutosh Dixit)
- Fix dma_resv fence handling in multi-batch execbuf (Nirmoy Das)
- Add extra registers to GPU error dump on Gen11+ (Stuart Summers)
- More PVC+DG2 workarounds (Matt Roper)
- Improve user experience and driver robustness under SIGINT or similar (Tvrtko Ursulin)
- Don't show engine classes not present (Tvrtko Ursulin)
- Improve on suspend / resume time with VT-d enabled (Thomas Hellström)
- Add missing else (katrinzhou)
- Don't leak lmem mapping in vma_evict (Juha-Pekka Heikkila)
- Add smem fallback allocation for dpt (Juha-Pekka Heikkila)
- Tweak the ordering in cpu_write_needs_clflush (Matthew Auld)
- Do not access rq->engine without a reference (Niranjana Vishwanathapura)
- Revert "drm/i915: Hold reference to intel_context over life of i915_request" (Niranjana Vishwanathapura)
- Don't update engine busyness stats too frequently (Alan Previn)
- Add additional steps for Wa_22011802037 for execlist backend (Umesh Nerlige Ramappa)
- Fix a lockdep warning at error capture (Nirmoy Das)

- Ponte Vecchio prep work and new blitter engines (Matt Roper, John Harrison, Lucas De Marchi)
- Read correct RP_STATE_CAP register (PVC) (Matt Roper)
- Define MOCS table for PVC (Ayaz A Siddiqui)
- Driver refactor and support Ponte Vecchio forcewake handling (Matt Roper)
- Remove additional 3D flags from PIPE_CONTROL (Ponte Vecchio) (Stuart Summers)
- XEHPSDV and PVC do not use HuC (Daniele Ceraolo Spurio)
- Extract stepping information from PCI revid (Ponte Vecchio) (Matt Roper)
- Add initial PVC workarounds (Stuart Summers)
- SSEU handling driver refactor and Ponte Vecchio support (Matt Roper)
- GuC depriv applies to PVC (Matt Roper)
- Add register steering (Ponte Vecchio) (Matt Roper)
- Add recommended MMIO setting (Ponte Vecchio) (Matt Roper)

- Move multicast register handling to a dedicated file (Matt Roper)
- Cleanup interface for MCR operations (Matt Roper)
- Extend i915_vma_pin_iomap() (CQ Tang)
- Re-do the intel-gtt split (Lucas De Marchi)
- Correct duplicated/misplaced GT register definitions (Matt Roper)
- Prefer "XEHP_" prefix for registers (Matt Roper)

- Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config (Tvrtko Ursulin)
- Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle (Tvrtko Ursulin)
- Make drop_pages() return bool (Lucas De Marchi)
- Fix CFI violation with show_dynamic_id() (Nathan Chancellor)
- Use i915_probe_error instead of drm_error in GuC code (Vinay Belgaumkar)
- Fix use of static in macro mismatch (Andi Shyti)
- Update tiled blits selftest (Bommu Krishnaiah)
- Future-proof platform checks (Matt Roper)
- Only include what's needed (Jani Nikula)
- remove accidental static from a local variable (Jani Nikula)
- Add global forcewake request to drpc (Vinay Belgaumkar)
- Fix spelling typo in comment (pengfuyuan)
- Increase timeout for live_parallel_switch selftest (Akeem G Abodunrin)
- Use non-blocking H2G for waitboost (Vinay Belgaumkar)
The following changes since commit 5f38c3fb55ce3814b4353320d7a205068a420e48:

  drm/i915/pcode: Add a couple of pcode helpers (2022-05-20 09:11:45 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-06-29

for you to fetch changes up to a06968563775181690125091f470a8655742dcbf:

  drm/i915: Fix a lockdep warning at error capture (2022-06-29 14:52:50 +0530)

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

- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Document memory residency and Flat-CCS capability of obj (Ramalingam C)
- Disable GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK on Xe_HP+ (Matt Roper)

Cross-subsystem Changes:

- Rename intel-gtt symbols (Lucas De Marchi)

Core Changes:

Driver Changes:

- Support programming the EU priority in the GuC descriptor (DG2) (Matthew Brost)
- DG2 HuC loading support (Daniele Ceraolo Spurio)
- Fix build error without CONFIG_PM (YueHaibing)
- Enable THP on Icelake and beyond (Tvrtko Ursulin)
- Only setup private tmpfs mount when needed and fix logging (Tvrtko Ursulin)
- Make __guc_reset_context aware of guilty engines (Umesh Nerlige Ramappa)
- DG2 small bar memory probing fixes (Nirmoy Das)
- Remove unnecessary GuC err capture noise (Alan Previn)
- Fix i915_gem_object_ggtt_pin_ww regression on old platforms (Maarten Lankhorst)
- Fix undefined behavior in GuC backend due to shift overflowing the constant (Borislav Petkov)
- New DG2 workarounds (Swathi Dhanavanthri, Anshuman Gupta)
- Report no hwconfig support on ADL-N (Balasubramani Vivekanandan)
- Fix error_state_read ptr + offset use (Alan Previn)
- Expose per tile media freq factor in sysfs (Ashutosh Dixit, Dale B Stimson)
- Fix memory leaks in per-gt sysfs (Ashutosh Dixit)
- Fix dma_resv fence handling in multi-batch execbuf (Nirmoy Das)
- Add extra registers to GPU error dump on Gen11+ (Stuart Summers)
- More PVC+DG2 workarounds (Matt Roper)
- Improve user experience and driver robustness under SIGINT or similar (Tvrtko Ursulin)
- Don't show engine classes not present (Tvrtko Ursulin)
- Improve on suspend / resume time with VT-d enabled (Thomas Hellström)
- Add missing else (katrinzhou)
- Don't leak lmem mapping in vma_evict (Juha-Pekka Heikkila)
- Add smem fallback allocation for dpt (Juha-Pekka Heikkila)
- Tweak the ordering in cpu_write_needs_clflush (Matthew Auld)
- Do not access rq->engine without a reference (Niranjana Vishwanathapura)
- Revert "drm/i915: Hold reference to intel_context over life of i915_request" (Niranjana Vishwanathapura)
- Don't update engine busyness stats too frequently (Alan Previn)
- Add additional steps for Wa_22011802037 for execlist backend (Umesh Nerlige Ramappa)
- Fix a lockdep warning at error capture (Nirmoy Das)

- Ponte Vecchio prep work and new blitter engines (Matt Roper, John Harrison, Lucas De Marchi)
- Read correct RP_STATE_CAP register (PVC) (Matt Roper)
- Define MOCS table for PVC (Ayaz A Siddiqui)
- Driver refactor and support Ponte Vecchio forcewake handling (Matt Roper)
- Remove additional 3D flags from PIPE_CONTROL (Ponte Vecchio) (Stuart Summers)
- XEHPSDV and PVC do not use HuC (Daniele Ceraolo Spurio)
- Extract stepping information from PCI revid (Ponte Vecchio) (Matt Roper)
- Add initial PVC workarounds (Stuart Summers)
- SSEU handling driver refactor and Ponte Vecchio support (Matt Roper)
- GuC depriv applies to PVC (Matt Roper)
- Add register steering (Ponte Vecchio) (Matt Roper)
- Add recommended MMIO setting (Ponte Vecchio) (Matt Roper)

- Move multicast register handling to a dedicated file (Matt Roper)
- Cleanup interface for MCR operations (Matt Roper)
- Extend i915_vma_pin_iomap() (CQ Tang)
- Re-do the intel-gtt split (Lucas De Marchi)
- Correct duplicated/misplaced GT register definitions (Matt Roper)
- Prefer "XEHP_" prefix for registers (Matt Roper)

- Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config (Tvrtko Ursulin)
- Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle (Tvrtko Ursulin)
- Make drop_pages() return bool (Lucas De Marchi)
- Fix CFI violation with show_dynamic_id() (Nathan Chancellor)
- Use i915_probe_error instead of drm_error in GuC code (Vinay Belgaumkar)
- Fix use of static in macro mismatch (Andi Shyti)
- Update tiled blits selftest (Bommu Krishnaiah)
- Future-proof platform checks (Matt Roper)
- Only include what's needed (Jani Nikula)
- remove accidental static from a local variable (Jani Nikula)
- Add global forcewake request to drpc (Vinay Belgaumkar)
- Fix spelling typo in comment (pengfuyuan)
- Increase timeout for live_parallel_switch selftest (Akeem G Abodunrin)
- Use non-blocking H2G for waitboost (Vinay Belgaumkar)

----------------------------------------------------------------
Akeem G Abodunrin (1):
      drm/i915/selftests: Increase timeout for live_parallel_switch

Alan Previn (3):
      drm/i915/guc: Remove unnecessary GuC err capture noise
      drm/i915/reset: Fix error_state_read ptr + offset use
      drm/i915/guc: Don't update engine busyness stats too frequently

Andi Shyti (1):
      drm/i915/gt: Fix use of static in macro mismatch

Anshuman Gupta (1):
      drm/i915/dg2: Add Wa_14015795083

Ashutosh Dixit (3):
      drm/i915/gt: Add media freq factor to per-gt sysfs
      drm/i915/pcode: Init pcode on different gt's
      drm/i915/gt: Fix memory leaks in per-gt sysfs

Ayaz A Siddiqui (1):
      drm/i915/pvc: Define MOCS table for PVC

Balasubramani Vivekanandan (1):
      drm/i915/hwconfig: Report no hwconfig support on ADL-N

Bommu Krishnaiah (1):
      drm/i915: Update tiled blits selftest

Borislav Petkov (1):
      drm/i915/uc: Fix undefined behavior due to shift overflowing the constant

CQ Tang (1):
      drm/i915: extend i915_vma_pin_iomap()

Dale B Stimson (1):
      drm/i915/gt: Add media RP0/RPn to per-gt sysfs

Daniele Ceraolo Spurio (5):
      drm/i915/huc: drop intel_huc_is_authenticated
      drm/i915/huc: Add fetch support for gsc-loaded HuC binary
      drm/i915/huc: Prepare for GSC-loaded HuC
      drm/i915/huc: Don't fail the probe if HuC init fails
      drm/i915/guc: XEHPSDV and PVC do not use HuC

Jani Nikula (2):
      drm/i915/client: only include what's needed
      drm/i915/uc: remove accidental static from a local variable

John Harrison (1):
      drm/i915/pvc: Reduce stack usage in reset selftest with extra blitter engine

José Roberto de Souza (7):
      drm/i915: Drop has_gt_uc from device info
      drm/i915: Drop has_rc6 from device info
      drm/i915: Drop has_reset_engine from device info
      drm/i915: Drop has_logical_ring_elsq from device info
      drm/i915: Drop has_ddi from device info
      drm/i915: Drop has_dp_mst from device info
      drm/i915: Drop has_psr from device info

Juha-Pekka Heikkila (2):
      drm/i915: don't leak lmem mapping in vma_evict
      drm/i915/display: Add smem fallback allocation for dpt

Lucas De Marchi (5):
      drm/i915/gem: Make drop_pages() return bool
      drm/i915/pvc: skip all copy engines from aux table invalidate
      drm/i915/pvc: read fuses for link copy engines
      agp/intel: Rename intel-gtt symbols
      drm/i915/gt: Re-do the intel-gtt split

Maarten Lankhorst (1):
      drm/i915: Use i915_gem_object_ggtt_pin_ww for reloc_iomap

Matt Roper (27):
      drm/i915/pvc: Read correct RP_STATE_CAP register
      drm/i915/gvt: Use intel_engine_mask_t for ring mask
      drm/i915/pvc: Engine definitions for new copy engines
      drm/i915/pvc: Interrupt support for new copy engines
      drm/i915/pvc: Reset support for new copy engines
      drm/i915/uncore: Reorganize and document shadow and forcewake tables
      drm/i915/pvc: Add forcewake support
      drm/i915/pvc: Add new BCS engines to GuC engine list
      drm/i915/hwconfig: Future-proof platform checks
      drm/i915/pvc: Extract stepping information from PCI revid
      drm/i915/xehp: Use separate sseu init function
      drm/i915/xehp: Drop GETPARAM lookups of I915_PARAM_[SUB]SLICE_MASK
      drm/i915/sseu: Simplify gen11+ SSEU handling
      drm/i915/sseu: Don't try to store EU mask internally in UAPI format
      drm/i915/sseu: Disassociate internal subslice mask representation from uapi
      drm/i915/pvc: Add SSEU changes
      drm/i915/pvc: GuC depriv applies to PVC
      drm/i915/dg2: Correct DSS check for Wa_1308578152
      drm/i915: More PVC+DG2 workarounds
      drm/i915/xehp: Correct steering initialization
      drm/i915/pvc: Add register steering
      drm/i915/pvc: Adjust EU per SS according to HAS_ONE_EU_PER_FUSE_BIT()
      drm/i915/pvc: Add recommended MMIO setting
      drm/i915/gt: Move multicast register handling to a dedicated file
      drm/i915/gt: Cleanup interface for MCR operations
      drm/i915: Correct duplicated/misplaced GT register definitions
      drm/i915: Prefer "XEHP_" prefix for registers

Matthew Auld (1):
      drm/i915: tweak the ordering in cpu_write_needs_clflush

Matthew Brost (1):
      drm/i915/guc: Support programming the EU priority in the GuC descriptor

Nathan Chancellor (1):
      drm/i915: Fix CFI violation with show_dynamic_id()

Niranjana Vishwanathapura (2):
      drm/i915: Do not access rq->engine without a reference
      Revert "drm/i915: Hold reference to intel_context over life of i915_request"

Nirmoy Das (5):
      drm/i915: return -EIO on lmem setup failure
      drm/i915: determine lmem_size properly
      drm/i915: gracefully error out on platform with small-bar
      drm/i915: Individualize fences before adding to dma_resv obj
      drm/i915: Fix a lockdep warning at error capture

Ramalingam C (1):
      uapi/drm/i915: Document memory residency and Flat-CCS capability of obj

Stuart Summers (3):
      drm/i915/pvc: Remove additional 3D flags from PIPE_CONTROL
      drm/i915/pvc: Add initial PVC workarounds
      drm/i915: Add extra registers to GPU error dump

Swathi Dhanavanthri (2):
      drm/i915/dg2: Add workaround 22014600077
      drm/i915/dg2: Extend Wa_22010954014 to DG2-G11 and DG2-G12

Thomas Hellström (1):
      drm/i915: Improve on suspend / resume time with VT-d enabled

Tvrtko Ursulin (14):
      drm/i915: Don't use DRM_DEBUG_WARN_ON for unexpected l3bank/mslice config
      drm/i915: Don't use DRM_DEBUG_WARN_ON for ring unexpectedly not idle
      drm/i915: Enable THP on Icelake and beyond
      drm/i915: Only setup private tmpfs mount when needed and fix logging
      Revert "drm/i915: Drop has_psr from device info"
      Revert "drm/i915: Drop has_dp_mst from device info"
      Revert "drm/i915: Drop has_ddi from device info"
      Revert "drm/i915: Drop has_logical_ring_elsq from device info"
      Revert "drm/i915: Drop has_reset_engine from device info"
      Revert "drm/i915: Drop has_rc6 from device info"
      Revert "drm/i915: Drop has_gt_uc from device info"
      Merge tag 'drm-intel-next-2022-05-20' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
      drm/i915: Improve user experience and driver robustness under SIGINT or similar
      drm/i915/fdinfo: Don't show engine classes not present

Umesh Nerlige Ramappa (2):
      i915/guc/reset: Make __guc_reset_context aware of guilty engines
      drm/i915/reset: Add additional steps for Wa_22011802037 for execlist backend

Vinay Belgaumkar (3):
      drm/i915/guc/rc: Use i915_probe_error instead of drm_error
      drm/i915: Add global forcewake request to drpc
      drm/i915/guc/slpc: Use non-blocking H2G for waitboost

YueHaibing (1):
      drm/i915/gt: Fix build error without CONFIG_PM

katrinzhou (1):
      drm/i915/gem: add missing else

pengfuyuan (1):
      drm/i915: Fix spelling typo in comment

 Documentation/gpu/drm-usage-stats.rst              |  112 ++
 Documentation/gpu/i915.rst                         |   40 +
 Documentation/gpu/index.rst                        |    1 +
 MAINTAINERS                                        |    1 +
 drivers/char/agp/intel-gtt.c                       |   58 +-
 drivers/gpu/drm/i915/Kconfig                       |    3 +-
 drivers/gpu/drm/i915/Makefile                      |   11 +
 drivers/gpu/drm/i915/display/intel_dpt.c           |   18 +-
 drivers/gpu/drm/i915/display/intel_fb.c            |    2 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |    2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |    4 +-
 drivers/gpu/drm/i915/display/intel_plane_initial.c |   56 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  103 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |    6 +
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   15 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |    6 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   23 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |    2 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   50 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |    7 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   12 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  146 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |    4 -
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   52 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |    1 +
 drivers/gpu/drm/i915/gem/i915_gemfs.c              |   50 +-
 drivers/gpu/drm/i915/gem/i915_gemfs.h              |    3 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  250 ++-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |    6 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |   12 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |    5 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |    2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  186 ++-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |   11 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   12 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   53 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   40 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   28 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   15 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  251 +++-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   25 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   13 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   89 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  238 ++-
 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c          |  132 ++
 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h          |   27 +
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   68 +-
 drivers/gpu/drm/i915/gt/intel_gsc.c                |  224 +++
 drivers/gpu/drm/i915/gt/intel_gsc.h                |   37 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  294 ++--
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   31 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |    4 +
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   21 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.h         |    2 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   29 +
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c             |  497 ++++++
 drivers/gpu/drm/i915/gt/intel_gt_mcr.h             |   34 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   18 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   48 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h      |    4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   98 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  117 ++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   30 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  779 ++++++++++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h        |   15 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   29 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   56 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   96 +-
 drivers/gpu/drm/i915/gt/intel_hwconfig.h           |   21 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  114 +-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   36 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  385 ++++-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   24 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |    8 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   31 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |    9 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   13 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  128 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |    6 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   15 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  478 +++---
 drivers/gpu/drm/i915/gt/intel_sseu.h               |  122 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |   60 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  201 ++-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   86 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |    9 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   63 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |  259 +++-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   16 +-
 .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  |    6 +
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |    2 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |    4 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   15 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |    2 +-
 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |  218 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   52 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   29 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  188 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 1584 ++++++++++++++++++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h     |   33 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |   93 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c    |  164 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  125 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |    7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |    5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |    3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  114 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |    3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  661 +++++---
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   97 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |    5 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |    5 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   28 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.h              |    2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  137 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |    2 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |    9 +
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |    2 +-
 drivers/gpu/drm/i915/gvt/cmd_parser.c              |    2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   12 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   73 +-
 drivers/gpu/drm/i915/i915_drm_client.c             |  160 ++
 drivers/gpu/drm/i915/i915_drm_client.h             |   68 +
 drivers/gpu/drm/i915/i915_drv.h                    |   51 +-
 drivers/gpu/drm/i915/i915_file_private.h           |    3 +
 drivers/gpu/drm/i915/i915_gem.c                    |   89 +-
 drivers/gpu/drm/i915/i915_getparam.c               |   11 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  324 ++--
 drivers/gpu/drm/i915/i915_gpu_error.h              |   44 +-
 drivers/gpu/drm/i915/i915_params.c                 |    3 +
 drivers/gpu/drm/i915/i915_params.h                 |    1 +
 drivers/gpu/drm/i915/i915_pci.c                    |   47 +-
 drivers/gpu/drm/i915/i915_perf.c                   |    4 +-
 drivers/gpu/drm/i915/i915_perf_types.h             |    2 +-
 drivers/gpu/drm/i915/i915_query.c                  |  108 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   46 +-
 drivers/gpu/drm/i915/i915_reg_defs.h               |    2 -
 drivers/gpu/drm/i915/i915_request.c                |   57 +-
 drivers/gpu/drm/i915/i915_request.h                |    2 +
 drivers/gpu/drm/i915/i915_sysfs.c                  |  327 +---
 drivers/gpu/drm/i915/i915_sysfs.h                  |    3 +
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |    4 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  214 +--
 drivers/gpu/drm/i915/i915_vma.h                    |   15 -
 drivers/gpu/drm/i915/i915_vma_resource.c           |    2 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |    6 +
 drivers/gpu/drm/i915/i915_vma_types.h              |    8 +-
 drivers/gpu/drm/i915/intel_device_info.c           |    1 +
 drivers/gpu/drm/i915/intel_device_info.h           |    8 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |    2 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |    8 +-
 drivers/gpu/drm/i915/intel_pm.c                    |   23 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |    7 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |    1 +
 drivers/gpu/drm/i915/intel_step.c                  |   70 +-
 drivers/gpu/drm/i915/intel_step.h                  |    4 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  332 ++--
 drivers/gpu/drm/i915/intel_uncore.h                |    9 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   18 +-
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |    2 +
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   13 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |    4 +
 drivers/misc/mei/Kconfig                           |   14 +
 drivers/misc/mei/Makefile                          |    3 +
 drivers/misc/mei/bus-fixup.c                       |   25 +
 drivers/misc/mei/gsc-me.c                          |  259 ++++
 drivers/misc/mei/hw-me.c                           |   29 +-
 drivers/misc/mei/hw-me.h                           |    2 +
 include/drm/intel-gtt.h                            |   24 +-
 include/linux/mei_aux.h                            |   19 +
 include/uapi/drm/i915_drm.h                        |  369 ++++-
 181 files changed, 10550 insertions(+), 2810 deletions(-)
 create mode 100644 Documentation/gpu/drm-usage-stats.rst
 create mode 100644 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_mcr.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_mcr.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_hwconfig.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.h
 create mode 100644 drivers/misc/mei/gsc-me.c
 create mode 100644 include/linux/mei_aux.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-04-27 10:49 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2022-04-27 10:49 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx


Hi Dave, Daniel,

Here goes the first drm-intel-gt-next PR towards 5.19.

A lot of stuff here across the board in terms of new features, new platform
support and bug fixes. For bug fixes the most interesting are:

 * a fix for out of bounds kernel access in mmap ops due incorrect object bound
   checking;
 * a fix for a GPU hang triggered by usage, of multiple media engines on
   Tigerlake and above;
 * correcting the sequence for doing engine resets on Tigerlake;
 * fix for split frame workloads in GuC mode;
 * fix for mmap of prime imported local memory objects;
 * fix for a VM refcounting bug;
 * fix fbdev setup to avoid potential out of bounds access.

Another two nice user visible improvements are one in frame buffer pinning logic
which enables Weston to reach 60fps on 8K displays and resurrection of the
ability to monitor per client GPU usage using intel_gpu_top (consuming data
exported via proc fdinfo). The latter contains a common DRM format specification
and is hopeful of gaining more wide spread adoption in the future.

GuC backend has finally achieved feature parity in terms of being able to
provide error capture state after GPU hangs. The captured data is compatible
with existing error parsing tools (IGT and Mesa) and also contains a new GuC
log segment which does not currently have an open source parser.

Also in the GuC area there was a bunch of refactoring to prepare for new
firmware API and also lay the ground work for supporting new platforms like DG2.

For the latter a buch of GuC based workarounds were added, together with support
for small PCI BAR setups, eviction of compressed objects and general platform
bring-up like code refactoring to deal with steered register writes.

DG2 also needs two new bits of UAPI. One is the hwconfig query which is a new
way of obtaining a binary table describing the GPU configuration directly from
the firmware blob. Second is a new query enabling query of geometry subslices
needed to support the fact geometry and compute slice configuration is no longer
uniform.

Also on the UAPI front there is sysfs support for multi-tile platforms which
exports the existing controls such as frequency and similar but duplicated for
each tile.

Graphics System Controller (GSC) support was added for discrete platforms as
well, which is required both for firmware management and protected media path.
Access to this is via the existing MEI character device.

Work has also started refactoring the codebase to allow driver builds outside
x86.

Finally, there were two drm-next backmerges to unblock feature development.

Regards,

Tvrtko

drm-intel-gt-next-2022-04-27:
UAPI Changes:

- GuC hwconfig support and query (John Harrison, Rodrigo Vivi, Tvrtko Ursulin)
- Sysfs support for multi-tile devices (Andi Shyti, Sujaritha Sundaresan)
- Per client GPU utilisation via fdinfo (Tvrtko Ursulin, Ashutosh Dixit)
- Add DRM_I915_QUERY_GEOMETRY_SUBSLICES (Matt Atwood)

Cross-subsystem Changes:

- Add GSC as a MEI auxiliary device (Tomas Winkler, Alexander Usyskin)

Core Changes:

- Document fdinfo format specification (Tvrtko Ursulin)

Driver Changes:

- Fix prime_mmap to work when using LMEM (Gwan-gyeong Mun)
- Fix vm open count and remove vma refcount (Thomas Hellström)
- Fixup setting screen_size (Matthew Auld)
- Opportunistically apply ALLOC_CONTIGIOUS (Matthew Auld)
- Limit where we apply TTM_PL_FLAG_CONTIGUOUS (Matthew Auld)
- Drop aux table invalidation on FlatCCS platforms (Matt Roper)
- Add missing boundary check in vm_access (Mastan Katragadda)
- Update topology dumps for Xe_HP (Matt Roper)
- Add support for steered register writes (Matt Roper)
- Add steering info to GuC register save/restore list (Daniele Ceraolo Spurio)
- Small PCI BAR enabling (Matthew Auld, Akeem G Abodunrin, CQ Tang)
- Add preemption changes for Wa_14015141709 (Akeem G Abodunrin)
- Add logical mapping for video decode engines (Matthew Brost)
- Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2) (Vivek Kasireddy)
- GuC error capture support (Alan Previn, Daniele Ceraolo Spurio)
- avoid concurrent writes to aux_inv (Fei Yang)
- Add Wa_22014226127 (José Roberto de Souza)
- Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL (Matt Roper)
- Evict and restore of compressed objects (Ramalingam C)
- Update to GuC version 70.1.1 (John Harrison)
- Add Wa_22011802037 force cs halt (Tilak Tangudu)
- Enable Wa_22011802037 for gen12 GuC based platforms (Umesh Nerlige Ramappa)
- GuC based workarounds for DG2 (Vinay Belgaumkar, John Harrison, Matthew Brost, José Roberto de Souza)
- consider min_page_size when migrating (Matthew Auld)

- Prep work for next GuC firmware release (John Harrison)
- Support platforms with CCS engines but no RCS (Matt Roper, Stuart Summers)
- Don't overallocate subslice storage (Matt Roper)
- Reduce stack usage in debugfs due to SSEU (John Harrison)
- Report steering details in debugfs (Matt Roper)
- Refactor some x86-ism out to prepare for non-x86 builds (Michael Cheng)
- add lmem_size modparam (CQ Tang)
- Refactor for non-x86 driver builds (Casey Bowman)
- Centralize computation of freq caps (Ashutosh Dixit)

- Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf() (Gwan-gyeong Mun)
- Limit the async bind to bind_async_flags (Matthew Auld)
- Stop checking for NULL vma->obj (Matthew Auld)
- Reduce overzealous alignment constraints for GGTT (Matthew Auld)
- Remove GEN12_SFC_DONE_MAX from register defs header (Matt Roper)
- Fix renamed struct field (Lucas De Marchi)
- Do not return '0' if there is nothing to return (Andi Shyti)
- fix i915_reg_t initialization (Jani Nikula)
- move the migration sanity check (Matthew Auld)
- handle more rounding in selftests (Matthew Auld)
- Perf and i915 query kerneldoc updates (Matt Roper)
- Use i915_probe_error instead of drm_err (Vinay Belgaumkar)
- sanity check object size in the buddy allocator (Matthew Auld)
- fixup selftests min_alignment usage (Matthew Auld)
- tweak selftests misaligned_case (Matthew Auld)
The following changes since commit c54b39a565227538c52ead2349eb17d54aadd6f7:

  Merge tag 'drm-intel-next-2022-04-13-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2022-04-14 12:03:09 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-04-27

for you to fetch changes up to f15856d7de914595d0daa2c706f53a693b48e228:

  drm/i915/dg2: add gsc with special gsc bar offsets (2022-04-21 11:34:39 -0700)

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

- GuC hwconfig support and query (John Harrison, Rodrigo Vivi, Tvrtko Ursulin)
- Sysfs support for multi-tile devices (Andi Shyti, Sujaritha Sundaresan)
- Per client GPU utilisation via fdinfo (Tvrtko Ursulin, Ashutosh Dixit)
- Add DRM_I915_QUERY_GEOMETRY_SUBSLICES (Matt Atwood)

Cross-subsystem Changes:

- Add GSC as a MEI auxiliary device (Tomas Winkler, Alexander Usyskin)

Core Changes:

- Document fdinfo format specification (Tvrtko Ursulin)

Driver Changes:

- Fix prime_mmap to work when using LMEM (Gwan-gyeong Mun)
- Fix vm open count and remove vma refcount (Thomas Hellström)
- Fixup setting screen_size (Matthew Auld)
- Opportunistically apply ALLOC_CONTIGIOUS (Matthew Auld)
- Limit where we apply TTM_PL_FLAG_CONTIGUOUS (Matthew Auld)
- Drop aux table invalidation on FlatCCS platforms (Matt Roper)
- Add missing boundary check in vm_access (Mastan Katragadda)
- Update topology dumps for Xe_HP (Matt Roper)
- Add support for steered register writes (Matt Roper)
- Add steering info to GuC register save/restore list (Daniele Ceraolo Spurio)
- Small PCI BAR enabling (Matthew Auld, Akeem G Abodunrin, CQ Tang)
- Add preemption changes for Wa_14015141709 (Akeem G Abodunrin)
- Add logical mapping for video decode engines (Matthew Brost)
- Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2) (Vivek Kasireddy)
- GuC error capture support (Alan Previn, Daniele Ceraolo Spurio)
- avoid concurrent writes to aux_inv (Fei Yang)
- Add Wa_22014226127 (José Roberto de Souza)
- Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL (Matt Roper)
- Evict and restore of compressed objects (Ramalingam C)
- Update to GuC version 70.1.1 (John Harrison)
- Add Wa_22011802037 force cs halt (Tilak Tangudu)
- Enable Wa_22011802037 for gen12 GuC based platforms (Umesh Nerlige Ramappa)
- GuC based workarounds for DG2 (Vinay Belgaumkar, John Harrison, Matthew Brost, José Roberto de Souza)
- consider min_page_size when migrating (Matthew Auld)

- Prep work for next GuC firmware release (John Harrison)
- Support platforms with CCS engines but no RCS (Matt Roper, Stuart Summers)
- Don't overallocate subslice storage (Matt Roper)
- Reduce stack usage in debugfs due to SSEU (John Harrison)
- Report steering details in debugfs (Matt Roper)
- Refactor some x86-ism out to prepare for non-x86 builds (Michael Cheng)
- add lmem_size modparam (CQ Tang)
- Refactor for non-x86 driver builds (Casey Bowman)
- Centralize computation of freq caps (Ashutosh Dixit)

- Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf() (Gwan-gyeong Mun)
- Limit the async bind to bind_async_flags (Matthew Auld)
- Stop checking for NULL vma->obj (Matthew Auld)
- Reduce overzealous alignment constraints for GGTT (Matthew Auld)
- Remove GEN12_SFC_DONE_MAX from register defs header (Matt Roper)
- Fix renamed struct field (Lucas De Marchi)
- Do not return '0' if there is nothing to return (Andi Shyti)
- fix i915_reg_t initialization (Jani Nikula)
- move the migration sanity check (Matthew Auld)
- handle more rounding in selftests (Matthew Auld)
- Perf and i915 query kerneldoc updates (Matt Roper)
- Use i915_probe_error instead of drm_err (Vinay Belgaumkar)
- sanity check object size in the buddy allocator (Matthew Auld)
- fixup selftests min_alignment usage (Matthew Auld)
- tweak selftests misaligned_case (Matthew Auld)

----------------------------------------------------------------
Akeem G Abodunrin (2):
      drm/i915/stolen: don't treat small BAR as an error
      drm/i915/dg2: Add preemption changes for Wa_14015141709

Alan Previn (13):
      drm/i915/guc: Update GuC ADS size for error capture lists
      drm/i915/guc: Add XE_LP static registers for GuC error capture.
      drm/i915/guc: Add XE_LP steered register lists support
      drm/i915/guc: Add DG2 registers for GuC error state capture.
      drm/i915/guc: Add Gen9 registers for GuC error state capture.
      drm/i915/guc: Add GuC's error state capture output structures.
      drm/i915/guc: Update GuC-log relay function names
      drm/i915/guc: Add capture region into intel_guc_log
      drm/i915/guc: Check sizing of guc_capture output
      drm/i915/guc: Extract GuC error capture lists on G2H notification.
      drm/i915/guc: Pre-allocate output nodes for extraction
      drm/i915/guc: Plumb GuC-capture into gpu_coredump
      drm/i915/guc: Print the GuC error capture output register list.

Alexander Usyskin (2):
      mei: gsc: setup char driver alive in spite of firmware handshake failure
      mei: gsc: retrieve the firmware version

Andi Shyti (6):
      drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0
      drm/i915/gt: add gt_is_root() helper
      drm/i915/gt: create per-tile sysfs interface
      drm/i915/gt: Create per-tile RC6 sysfs interface
      drm/i915/gt: Create per-tile RPS sysfs interfaces
      drm/i915/debugfs: Do not return '0' if there is nothing to return

Ashutosh Dixit (2):
      drm/i915/rps: Centralize computation of freq caps
      drm/i915: Don't show engine information in fdinfo with GuC submission

CQ Tang (2):
      drm/i915/display: Check mappable aperture when pinning preallocated vma
      drm/i915: add lmem_size modparam

Casey Bowman (2):
      drm/i915/gt: Split intel-gtt functions by arch
      drm/i915: Require INTEL_GTT to depend on X86

Daniele Ceraolo Spurio (2):
      drm/i915/guc: add steering info to GuC register save/restore list
      drm/i915/guc: Correctly free guc capture struct on error

Fei Yang (1):
      drm/i915: avoid concurrent writes to aux_inv

Gwan-gyeong Mun (2):
      drm/i915/dmabuf: Update dma_buf_ops.unmap_dma_buf callback to use drm_gem_unmap_dma_buf()
      drm/i915/dmabuf: Fix prime_mmap to work when using LMEM

Jani Nikula (1):
      drm/i915/gt: fix i915_reg_t initialization

John Harrison (13):
      drm/i915/guc: Do not conflate lrc_desc with GuC id for registration
      drm/i915/guc: Add an explicit 'submission_initialized' flag
      drm/i915/guc: Better name for context id limit
      drm/i915/guc: Split guc_lrc_desc_pin apart
      drm/i915/guc: Move lrc desc setup to where it is needed
      drm/i915/guc: Rename desc_idx to ctx_id
      drm/i915/guc: Drop obsolete H2G definitions
      drm/i915/guc: Fix potential invalid pointer dereferences when decoding G2Hs
      drm/i915: Reduce stack usage in debugfs due to SSEU
      drm/i915/guc: Add fetch of hwconfig blob
      drm/i915/guc: Update to GuC version 70.1.1
      drm/i915/guc: Enable GuC based workarounds for DG2
      drm/i915/dg2: Enable Wa_22012727170/Wa_22012727685

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

José Roberto de Souza (2):
      drm/i915/dg2: Add Wa_22014226127
      drm/i915/dg2: Add workaround 18019627453

Lucas De Marchi (1):
      drm/i915: Fix renamed struct field

Mastan Katragadda (1):
      drm/i915/gem: add missing boundary check in vm_access

Matt Atwood (1):
      drm/i915/uapi: Add DRM_I915_QUERY_GEOMETRY_SUBSLICES

Matt Roper (11):
      drm/i915/xehp: Support platforms with CCS engines but no RCS
      drm/i915/xehp: Drop aux table invalidation on FlatCCS platforms
      drm/i915/gt: Remove GEN12_SFC_DONE_MAX from register defs header
      drm/i915/sseu: Don't overallocate subslice storage
      drm/i915/xehp: Update topology dumps for Xe_HP
      drm/i915: Report steering details in debugfs
      drm/i915: Add support for steered register writes
      drm/i915: Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL
      drm/i915/doc: Convert drm_i915_query_topology_info comment to kerneldoc
      drm/i915/doc: Convert perf UAPI comments to kerneldoc
      drm/i915/doc: Link query items to their uapi structs

Matthew Auld (17):
      drm/i915/fbdev: fixup setting screen_size
      drm/i915: limit the async bind to bind_async_flags
      drm/i915: stop checking for NULL vma->obj
      drm/i915/gtt: reduce overzealous alignment constraints for GGTT
      drm/i915: opportunistically apply ALLOC_CONTIGIOUS
      drm/i915/lmem: don't treat small BAR as an error
      drm/i915/stolen: consider I915_BO_ALLOC_GPU_ONLY
      drm/i915: add i915_gem_object_create_region_at()
      drm/i915/ttm: wire up the object offset
      drm/i915: fixup the initial fb base on DGFX
      drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS
      drm/i915/migrate: move the sanity check
      drm/i915/selftests: handle more rounding
      drm/i915: consider min_page_size when migrating
      drm/i915/buddy: sanity check the size
      drm/i915/selftests: fixup min_alignment usage
      drm/i915/selftests: tweak the misaligned_case

Matthew Brost (2):
      drm/i915: Add logical mapping for video decode engines
      drm/i915/dg2: Enable Wa_14014475959 - RCS / CCS context exit

Michael Cheng (5):
      drm/i915/gt: Re-work intel_write_status_page
      drm/i915/gt: Drop invalidate_csb_entries
      drm/i915/gt: Re-work reset_csb
      drm/i915/: Re-work clflush_write32
      drm/i915/gt: replace cache_clflush_range

Ramalingam C (9):
      drm/i915/gt: use engine instance directly for offset
      drm/i915/gt: Use XY_FAST_COLOR_BLT to clear obj on graphics ver 12+
      drm/i915/gt: Optimize the migration and clear loop
      drm/i915/gt: Pass the -EINVAL when emit_pte doesn't update any PTE
      drm/i915/gt: Clear compress metadata for Flat-ccs objects
      drm/i915/selftest_migrate: Consider the possible roundup of size
      drm/i915/selftest_migrate: Check CCS meta data clear
      drm/i915/gem: Add extra pages in ttm_tt for ccs data
      drm/i915/migrate: Evict and restore the flatccs capable lmem obj

Rodrigo Vivi (3):
      drm/i915/uapi: Add query for hwconfig blob
      drm/i915/hwconfig: Add DG2 support
      Merge drm/drm-next into drm-intel-gt-next

Stuart Summers (1):
      drm/i915: Add RCS mask to GuC ADS params

Sujaritha Sundaresan (1):
      drm/i915/gt: Add sysfs throttle frequency interfaces

Thomas Hellström (3):
      drm/i915: Remove the vm open count
      drm/i915: Remove the vma refcount
      drm/i915/gem: Remove some unnecessary code

Tilak Tangudu (1):
      drm/i915: Add Wa_22011802037 force cs halt

Tomas Winkler (4):
      drm/i915/gsc: add gsc as a mei auxiliary device
      mei: add support for graphics system controller (gsc) devices
      mei: gsc: add runtime pm handlers
      drm/i915/dg2: add gsc with special gsc bar offsets

Tvrtko Ursulin (11):
      drm/i915: Prepare for multiple GTs
      drm/i915/uapi: Document DRM_I915_QUERY_HWCONFIG_BLOB
      drm/i915: Explicitly track DRM clients
      drm/i915: Make GEM contexts track DRM clients
      drm/i915: Track runtime spent in closed and unreachable GEM contexts
      drm/i915: Track all user contexts per client
      drm/i915: Track context current active time
      drm: Document fdinfo format specification
      drm/i915: Count engine instances per uabi class
      drm/i915: Expose client engine utilisation via fdinfo
      drm/i915: Fixup kerneldoc in struct i915_gem_context

Umesh Nerlige Ramappa (1):
      drm/i915/guc: Enable Wa_22011802037 for gen12 GuC based platforms

Vinay Belgaumkar (2):
      drm/i915/guc/slpc: Use i915_probe_error instead of drm_err
      drm/i915/guc: Apply Wa_16011777198

Vivek Kasireddy (1):
      drm/i915/gem: Don't evict unmappable VMAs when pinning with PIN_MAPPABLE (v2)

 Documentation/gpu/drm-usage-stats.rst              |  112 ++
 Documentation/gpu/i915.rst                         |   28 +
 Documentation/gpu/index.rst                        |    1 +
 MAINTAINERS                                        |    1 +
 drivers/gpu/drm/i915/Kconfig                       |    3 +-
 drivers/gpu/drm/i915/Makefile                      |   10 +
 drivers/gpu/drm/i915/display/intel_dpt.c           |    2 +-
 drivers/gpu/drm/i915/display/intel_fb.c            |    2 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |    2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |    4 +-
 drivers/gpu/drm/i915/display/intel_plane_initial.c |   56 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   70 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |    6 +
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   15 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   14 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |    2 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   50 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |    7 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  144 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |    4 -
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   52 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |    1 +
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |    6 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |   12 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |    5 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |    2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  113 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |    4 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   12 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   29 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   15 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   24 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   40 +-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h        |    1 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   11 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   49 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  693 +-------
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   29 +
 drivers/gpu/drm/i915/gt/intel_gsc.c                |  224 +++
 drivers/gpu/drm/i915/gt/intel_gsc.h                |   37 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  223 ++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   41 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |    4 +
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   20 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.h         |    2 +-
 drivers/gpu/drm/i915/gt/intel_gt_gmch.c            |  654 ++++++++
 drivers/gpu/drm/i915/gt/intel_gt_gmch.h            |   46 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   13 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   18 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   40 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h      |    4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |   21 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c           |  122 ++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h           |   34 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c        |  601 +++++++
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h        |   15 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   18 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   56 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   65 +-
 drivers/gpu/drm/i915/gt/intel_hwconfig.h           |   21 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   39 +-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   27 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  390 ++++-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |    8 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   10 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |    7 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |    2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  126 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |    6 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   15 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   54 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   50 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |   30 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   21 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   86 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   10 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |  259 ++-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   14 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |    4 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |   15 +
 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h      |  218 +++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   48 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   19 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  185 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c     | 1657 ++++++++++++++++++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h     |   33 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |   92 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c    |  164 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  125 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |    7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   56 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  645 +++++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   30 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |    2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   12 +-
 drivers/gpu/drm/i915/i915_driver.c                 |   37 +-
 drivers/gpu/drm/i915/i915_drm_client.c             |  158 ++
 drivers/gpu/drm/i915/i915_drm_client.h             |   68 +
 drivers/gpu/drm/i915/i915_drv.h                    |   25 +
 drivers/gpu/drm/i915/i915_file_private.h           |    3 +
 drivers/gpu/drm/i915/i915_gem.c                    |   89 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  297 ++--
 drivers/gpu/drm/i915/i915_gpu_error.h              |   37 +-
 drivers/gpu/drm/i915/i915_params.c                 |    3 +
 drivers/gpu/drm/i915/i915_params.h                 |    1 +
 drivers/gpu/drm/i915/i915_pci.c                    |    4 +-
 drivers/gpu/drm/i915/i915_query.c                  |   94 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   18 +
 drivers/gpu/drm/i915/i915_reg_defs.h               |    2 -
 drivers/gpu/drm/i915/i915_sysfs.c                  |  310 +---
 drivers/gpu/drm/i915/i915_sysfs.h                  |    3 +
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |    4 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   98 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   14 -
 drivers/gpu/drm/i915/i915_vma_resource.c           |    2 +-
 drivers/gpu/drm/i915/i915_vma_resource.h           |    6 +
 drivers/gpu/drm/i915/i915_vma_types.h              |    8 +-
 drivers/gpu/drm/i915/intel_device_info.h           |    2 +
 drivers/gpu/drm/i915/intel_memory_region.c         |    2 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |    8 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |    7 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |    1 +
 drivers/gpu/drm/i915/intel_uncore.c                |   86 +-
 drivers/gpu/drm/i915/intel_uncore.h                |    7 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   18 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   13 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |    4 +
 drivers/misc/mei/Kconfig                           |   14 +
 drivers/misc/mei/Makefile                          |    3 +
 drivers/misc/mei/bus-fixup.c                       |   25 +
 drivers/misc/mei/gsc-me.c                          |  259 +++
 drivers/misc/mei/hw-me.c                           |   29 +-
 drivers/misc/mei/hw-me.h                           |    2 +
 include/linux/mei_aux.h                            |   19 +
 include/uapi/drm/i915_drm.h                        |  291 +++-
 143 files changed, 8161 insertions(+), 2326 deletions(-)
 create mode 100644 Documentation/gpu/drm-usage-stats.rst
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_gmch.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_gmch.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_hwconfig.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.c
 create mode 100644 drivers/gpu/drm/i915/i915_drm_client.h
 create mode 100644 drivers/misc/mei/gsc-me.c
 create mode 100644 include/linux/mei_aux.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-03-03  7:50 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2022-03-03  7:50 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here is the last feature PR for v5.18.

For new platforms we have got more DG2 enabling: small BAR foundations,
64K page support and accelerated migration. For XeHP SDV we've got flat
CCS detection and compute command streamer being added.

Disabling i915 build on PREEMPT_RT for now due to deadlocks and
warnings. Fixes to GuC data structure accesses on ARM platforms.
A couple of other GuC init and SLPC fixes.

Then the usual bits of cleanup and smaller fixes.

Regards, Joonas

***

drm-intel-gt-next-2022-03-03:

Cross-subsystem Changes:

- drm-next backmerge for buddy allocator changes

Driver Changes:

- Skip i915_perf init for DG2 as it is not yet enabled (Ram)
- Add missing workarounds for DG2 (Clint)
- Add 64K page/align support for platforms like DG2 that require it (Matt A, Ram, Bob)
- Add accelerated migration support for DG2 (Matt A)
- Add flat CCS support for XeHP SDV (Abdiel, Ram)
- Add Compute Command Streamer (CCS) engine support for XeHP SDV (Michel,
  Daniele, Aravind, Matt R)
- Don't support parallel submission on compute / render (Matt B, Matt R)

- Disable i915 build on PREEMPT_RT until RT behaviour fixed (Sebastian)
- Remove RPS interrupt support for TGL+ (Jose)
- Fix S/R with PM_EARLY for non-GTT mappable objects on DG2 (Matt, Lucas)
- Skip stolen memory init if it is fully reserved (Jose)
- Use iosys_map for GuC data structures that may be in LMEM BAR or SMEM (Lucas)
- Do not complain about stale GuC reset notifications for banned contexts (John)

- Move context descriptor fields to intel_lrc.h (Matt R)
- Start adding support for small BAR (Matt A)
- Clarify vma lifetime (Thomas)
- Simplify subplatform detection on TGL (Jose)
- Correct the param count for unset GuC SLPC param (Vinay, Umesh)
- Read RP_STATE_CAP correctly on Gen12 with GuC SLPC (Vinay)
- Initialize GuC submission locks and queues early (Daniele)
- Fix GuC flag query helper function to not modify state (John)

- Drop fake lmem support now we have real hardware available (Lucas)
- Move misplaced W/A to their correct locations (Srinivasan)
- Use get_reset_domain() helper (Tejas)
- Move context descriptor fields to intel_lrc.h (Matt R)
- Selftest improvements (Matt A)

The following changes since commit 54f43c17d681f6d9523fcfaeefc9df77993802e1:

  Merge tag 'drm-misc-next-2022-02-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-25 05:50:18 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-03-03

for you to fetch changes up to b2006061ae28fe7e84af6c9757ee89c4e505e92b:

  drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds (2022-03-02 06:52:42 -0800)

----------------------------------------------------------------
Cross-subsystem Changes:

- drm-next backmerge for buddy allocator changes

Driver Changes:

- Skip i915_perf init for DG2 as it is not yet enabled (Ram)
- Add missing workarounds for DG2 (Clint)
- Add 64K page/align support for platforms like DG2 that require it (Matt A, Ram, Bob)
- Add accelerated migration support for DG2 (Matt A)
- Add flat CCS support for XeHP SDV (Abdiel, Ram)
- Add Compute Command Streamer (CCS) engine support for XeHP SDV (Michel,
  Daniele, Aravind, Matt R)
- Don't support parallel submission on compute / render (Matt B, Matt R)

- Disable i915 build on PREEMPT_RT until RT behaviour fixed (Sebastian)
- Remove RPS interrupt support for TGL+ (Jose)
- Fix S/R with PM_EARLY for non-GTT mappable objects on DG2 (Matt, Lucas)
- Skip stolen memory init if it is fully reserved (Jose)
- Use iosys_map for GuC data structures that may be in LMEM BAR or SMEM (Lucas)
- Do not complain about stale GuC reset notifications for banned contexts (John)

- Move context descriptor fields to intel_lrc.h
- Start adding support for small BAR (Matt A)
- Clarify vma lifetime (Thomas)
- Simplify subplatform detection on TGL (Jose)
- Correct the param count for unset GuC SLPC param (Vinay, Umesh)
- Read RP_STATE_CAP correctly on Gen12 with GuC SLPC (Vinay)
- Initialize GuC submission locks and queues early (Daniele)
- Fix GuC flag query helper function to not modify state (John)

- Drop fake lmem support now we have real hardware available (Lucas)
- Move misplaced W/A to their correct locations (Srinivasan)
- Use get_reset_domain() helper (Tejas)
- Move context descriptor fields to intel_lrc.h (Matt R)
- Selftest improvements (Matt A)

----------------------------------------------------------------
Abdiel Janulgue (1):
      drm/i915/lmem: Enable lmem for platforms with Flat CCS

CQ Tang (1):
      drm/i915/xehpsdv: Add has_flat_ccs to device info

Clint Taylor (1):
      drm/i915/dg2: add Wa_14014947963

Daniele Ceraolo Spurio (4):
      drm/i915/guc: Initialize GuC submission locks and queues early
      drm/i915/xehp: compute engine pipe_control
      drm/i915/xehp/guc: enable compute engine inside GuC
      drm/i915/xehp: handle fused off CCS engines

John Harrison (2):
      drm/i915/guc: Fix flag query helper function to not modify state
      drm/i915/guc: Do not complain about stale reset notifications

José Roberto de Souza (3):
      drm/i915/tgl: Simply subplatform detection
      drm/i915/rps/tgl+: Remove RPS interrupt support
      drm/i915: Check stolen memory size before calling drm_mm_init

Lucas De Marchi (15):
      drm/i915: Kill the fake lmem support
      drm/i915/gt: Add helper for shmem copy to iosys_map
      drm/i915/guc: Keep iosys_map of ads_blob around
      drm/i915/guc: Add read/write helpers for ADS blob
      drm/i915/guc: Convert golden context init to iosys_map
      drm/i915/guc: Convert policies update to iosys_map
      drm/i915/guc: Convert engine record to iosys_map
      drm/i915/guc: Convert guc_ads_private_data_reset to iosys_map
      drm/i915/guc: Convert golden context prep to iosys_map
      drm/i915/guc: Replace check for golden context size
      drm/i915/guc: Convert mapping table to iosys_map
      drm/i915/guc: Convert capture list to iosys_map
      drm/i915/guc: Convert guc_mmio_reg_state_init to iosys_map
      drm/i915/guc: Convert __guc_ads_init to iosys_map
      drm/i915/guc: Remove plain ads_blob pointer

Matt Roper (8):
      drm/i915/xehp: Define compute class and engine
      drm/i915/xehp: CCS shares the render reset domain
      drm/i915/xehp: Add Compute CS IRQ handlers
      drm/i915/xehp: CCS should use RCS setup functions
      drm/i915: Move context descriptor fields to intel_lrc.h
      drm/i915/xehp: Define context scheduling attributes in lrc descriptor
      drm/i915/xehp: Enable ccs/dual-ctx in RCU_MODE
      drm/i915/xehp: Add compute workarounds

Matthew Auld (19):
      drm/i915: enforce min GTT alignment for discrete cards
      drm/i915: support 64K GTT pages for discrete cards
      drm/i915/gtt: allow overriding the pt alignment
      drm/i915/gtt: add xehpsdv_ppgtt_insert_entry
      drm/i915/migrate: add acceleration support for DG2
      drm/i915/uapi: document behaviour for DG2 64K support
      drm/i915/ttm: fixup the mock_bo
      drm/i915: apply PM_EARLY for non-GTT mappable objects
      drm/i915: add io_size plumbing
      drm/i915/ttm: require mappable by default
      drm/i915: add I915_BO_ALLOC_GPU_ONLY
      drm/i915/buddy: track available visible size
      drm/i915/buddy: adjust res->start
      drm/i915/buddy: tweak 2big check
      drm/i915/selftests: mock test io_size
      drm/i915/ttm: make eviction mappable aware
      drm/i915/ttm: mappable migration on fault
      drm/i915/selftests: handle allocation failures
      drm/i915/selftests: exercise mmap migration

Matthew Brost (1):
      drm/i915/xehp: Don't support parallel submission on compute / render

Ramalingam C (2):
      drm/i915/perf: Skip the i915_perf_init for dg2
      drm/i915: add needs_compact_pt flag

Robert Beckett (1):
      drm/i915: add gtt misalignment test

Sebastian Andrzej Siewior (1):
      drm/i915: Depend on !PREEMPT_RT.

Srinivasan Shanmugam (2):
      drm/i915/dg2: Move misplaced 'ctx' & 'gt' wa's to engine wa list
      drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds

Tejas Upadhyay (1):
      drm/i915/gt: use get_reset_domain() helper

Thomas Hellström (1):
      drm/i915: Clarify vma lifetime

Tvrtko Ursulin (1):
      Merge drm/drm-next into drm-intel-gt-next

Vinay Belgaumkar (2):
      drm/i915/guc/slpc: Correct the param count for unset param
      drm/i915/guc/slpc: Use wrapper for reading RP_STATE_CAP

 drivers/gpu/drm/i915/Kconfig                       |   1 +
 drivers/gpu/drm/i915/Kconfig.unstable              |   8 -
 drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c |   2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  10 +
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  17 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  16 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  17 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            | 128 +++++++-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  64 +++-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  21 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   8 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 333 ++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  34 ++-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               | 158 +++++++++-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          | 157 ++++++++--
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  11 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   5 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  11 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |  15 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  25 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h            |  48 +--
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  29 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  35 ++-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  12 +-
 drivers/gpu/drm/i915/gt/intel_lrc.h                |  51 ++++
 drivers/gpu/drm/i915/gt/intel_migrate.c            | 196 ++++++++++--
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  17 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        | 140 ++-------
 drivers/gpu/drm/i915/gt/intel_region_lmem.h        |   3 -
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  17 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   4 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 138 ++++++---
 drivers/gpu/drm/i915/gt/shmem_utils.c              |  32 ++
 drivers/gpu/drm/i915/gt/shmem_utils.h              |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 238 ++++++++-------
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h         |   3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  32 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  63 ++--
 .../gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c    |   4 +
 drivers/gpu/drm/i915/i915_driver.c                 |  15 -
 drivers/gpu/drm/i915/i915_drv.h                    |  30 +-
 drivers/gpu/drm/i915/i915_params.c                 |   5 -
 drivers/gpu/drm/i915/i915_params.h                 |   1 -
 drivers/gpu/drm/i915/i915_pci.c                    |   3 +
 drivers/gpu/drm/i915/i915_perf.c                   |   4 +
 drivers/gpu/drm/i915/i915_reg.h                    |  24 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  87 +++++-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h      |  13 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  86 +++++-
 drivers/gpu/drm/i915/i915_vma.h                    |   3 +
 drivers/gpu/drm/i915/intel_device_info.c           |  26 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   5 +
 drivers/gpu/drm/i915/intel_memory_region.c         |  10 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |   7 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |  21 +-
 drivers/gpu/drm/i915/intel_step.c                  |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 222 ++++++++++++--
 .../gpu/drm/i915/selftests/intel_memory_region.c   | 159 +++++++++-
 drivers/gpu/drm/i915/selftests/mock_region.c       |  13 +-
 drivers/gpu/drm/i915/selftests/mock_region.h       |   3 +-
 include/uapi/drm/i915_drm.h                        |  45 ++-
 71 files changed, 2318 insertions(+), 627 deletions(-)

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-02-22 19:44     ` Lucas De Marchi
@ 2022-02-23 20:35       ` Vivi, Rodrigo
  0 siblings, 0 replies; 68+ messages in thread
From: Vivi, Rodrigo @ 2022-02-23 20:35 UTC (permalink / raw)
  To: De Marchi, Lucas, jani.nikula
  Cc: tvrtko.ursulin, dim-tools, daniel.vetter, intel-gfx, dri-devel,
	tzimmermann

On Tue, 2022-02-22 at 11:44 -0800, Lucas De Marchi wrote:
> On Mon, Feb 21, 2022 at 11:21:35AM +0200, Jani Nikula wrote:
> > On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote:
> > > On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen
> > > <joonas.lahtinen@linux.intel.com> wrote:
> > > > 
> > > > Hi Dave & Daniel,
> > > > 
> > > > Here is the first drm-intel-gt-next feature PR towards v5.18.
> > > 
> > > Am I missing some previous drm-intel pull?
> > > 
> > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_
> > > workarounds.c:
> > > In function ‘rcs_engine_wa_init’:
> > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_
> > > workarounds.c:2051:40:
> > > error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this
> > > function)
> > >  2051 |   wa_masked_en(wal, GEN9_ROW_CHICKEN4,
> > > XEHP_DIS_BBL_SYSPIPE);
> > >       |                                       
> > > ^~~~~~~~~~~~~~~~~~~~
> > > /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_
> > > workarounds.c:2051:40:
> > > note: each undeclared identifier is reported only once for each
> > > function it appears in
> > 
> > There's apparently a silent conflict between changes in drm-intel-
> > next
> > and drm-intel-gt-next. There's a fixup patch in drm-rerere:
> > fixups/drm-intel-gt-next.patch.

With ack from Dave on #dri-devel, I've applied this pull request to
drm-intel-next.

Then I used this big fixup on the merge resolution.

Now I'm going to prepare a drm-intel-next pull request towards drm-
next.

Then for the next rounds we check if we are doing cross merges,
or the other way around and get drm-intel-next into drm-intel-gt-next

Thanks,
Rodrigo.


> yeah, with all header refactors landing in drm-intel-next there were
> quite a few conflict lately. Just taking fixups/drm-intel-gt-
> next.patch
> doesn't fix it though as we'd need to follow the merge order drm-tip
> is
> doing, i.e. first get a pull request for drm-intel-next in, and then
> drm-intel-gt-next. Or the octopus merge
> 
> For this merge only I believe the fixup is:
> 
>         git show 064030837c5b:fixups/drm-intel-gt-next.patch | patch
> -p1
> 
> with 064030837c5b being the commit in drm-rerere. Cc'ing Matt Roper
> 
> Lucas De Marchi
> 
> > 
> > We opted to sync the branches via drm-next pulls and backmerges,
> > but I'm
> > afraid that means you'd have to use the fixups when merging. I
> > guess we
> > failed to communicate that. The alternative would've been cross-
> > merges
> > within drm-intel.
> > 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Dave.
> > > > 
> > > > For DG2 adds subplatform G12, missing workarounds and fixes GuC
> > > > loading on ARM64. C0/D0 stepping info added for RPL-S.
> > > > 
> > > > For uAPI enables support for simple parallel submission with
> > > > execlists which was previously enabled only for GuC.
> > > > 
> > > > Further fixes for PMU metrics when GuC is enabled, better error
> > > > reporting for GuC loading failures. Fix for PXP unbind splat.
> > > > Updates to GuC version 69.0.3 with improvements to GT reset
> > > > scenarios.
> > > > 
> > > > The rest is mostly refactoring of the memory management code,
> > > > as highlights introduction of async unbinding/migration and
> > > > removal of short-term pinning in execbuf.
> > > > 
> > > > Then a few selftest and coding style fixes.
> > > > 
> > > > Regards, Joonas
> > > > 
> > > > ***
> > > > 
> > > > drm-intel-gt-next-2022-02-17:
> > > > 
> > > > UAPI Changes:
> > > > 
> > > > - Weak parallel submission support for execlists
> > > > 
> > > >   Minimal implementation of the parallel submission support for
> > > >   execlists backend that was previously only implemented for
> > > > GuC.
> > > >   Support one sibling non-virtual engine.
> > > > 
> > > > Core Changes:
> > > > 
> > > > - Two backmerges of drm/drm-next for header file
> > > > renames/changes and
> > > >   i915_regs reorganization
> > > > 
> > > > Driver Changes:
> > > > 
> > > > - Add new DG2 subplatform: DG2-G12 (Matt R)
> > > > - Add new DG2 workarounds (Matt R, Ram, Bruce)
> > > > - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
> > > > - Update guc shim control programming on XeHP SDV+ (Daniele)
> > > > - Add RPL-S C0/D0 stepping information (Anusha)
> > > > - Improve GuC ADS initialization to work on ARM64 on dGFX
> > > > (Lucas)
> > > > 
> > > > - Fix KMD and GuC race on accessing PMU busyness (Umesh)
> > > > - Use PM timestamp instead of RING TIMESTAMP for reference in
> > > > PMU with GuC (Umesh)
> > > > - Report error on invalid reset notification from GuC (John)
> > > > - Avoid WARN splat by holding RPM wakelock during PXP unbind
> > > > (Juston)
> > > > - Fixes to parallel submission implementation (Matt B.)
> > > > - Improve GuC loading status check/error reports (John)
> > > > - Tweak TTM LRU priority hint selection (Matt A.)
> > > > - Align the plane_vma to min_page_size of stolen mem (Ram)
> > > > 
> > > > - Introduce vma resources and implement async unbinding
> > > > (Thomas)
> > > > - Use struct vma_resource instead of struct vma_snapshot
> > > > (Thomas)
> > > > - Return some TTM accel move errors instead of trying memcpy
> > > > move (Thomas)
> > > > - Fix a race between vma / object destruction and unbinding
> > > > (Thomas)
> > > > - Remove short-term pins from execbuf (Maarten)
> > > > - Update to GuC version 69.0.3 (John, Michal Wa.)
> > > > - Improvements to GT reset paths in GuC backend (Matt B.)
> > > > - Use shrinker_release_pages instead of writeback in shmem
> > > > object hooks (Matt A., Tvrtko)
> > > > - Use trylock instead of blocking lock when freeing GEM objects
> > > > (Maarten)
> > > > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt
> > > > B.)
> > > > - Fixes to object unmapping and purging (Matt A)
> > > > - Check for wedged device in GuC backend (John)
> > > > - Avoid lockdep splat by locking dpt_obj around set_cache_level
> > > > (Maarten)
> > > > - Allow dead vm to unbind vma's without lock (Maarten)
> > > > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
> > > > 
> > > > - Use to_gt() helper for GGTT accesses (Michal Wi.)
> > > > - Selftest improvements (Matt B., Thomas, Ram)
> > > > - Coding style and compiler warning fixes (Matt B., Jasmine,
> > > > Andi, Colin, Gustavo, Dan)
> > > > 
> > > > The following changes since commit
> > > > 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc:
> > > > 
> > > >   Merge tag 'drm-misc-next-2022-01-27' of
> > > > git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-
> > > > 02-01 19:02:41 +1000)
> > > > 
> > > > are available in the Git repository at:
> > > > 
> > > >   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-
> > > > gt-next-2022-02-17
> > > > 
> > > > for you to fetch changes up to
> > > > 154cfae6158141b18d65abb0db679bb51a8294e7:
> > > > 
> > > >   drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530)
> > > > 
> > > > ---------------------------------------------------------------
> > > > -
> > > > UAPI Changes:
> > > > 
> > > > - Weak parallel submission support for execlists
> > > > 
> > > >   Minimal implementation of the parallel submission support for
> > > >   execlists backend that was previously only implemented for
> > > > GuC.
> > > >   Support one sibling non-virtual engine.
> > > > 
> > > > Core Changes:
> > > > 
> > > > - Two backmerges of drm/drm-next for header file
> > > > renames/changes and
> > > >   i915_regs reorganization
> > > > 
> > > > Driver Changes:
> > > > 
> > > > - Add new DG2 subplatform: DG2-G12 (Matt R)
> > > > - Add new DG2 workarounds (Matt R, Ram, Bruce)
> > > > - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
> > > > - Update guc shim control programming on XeHP SDV+ (Daniele)
> > > > - Add RPL-S C0/D0 stepping information (Anusha)
> > > > - Improve GuC ADS initialization to work on ARM64 on dGFX
> > > > (Lucas)
> > > > 
> > > > - Fix KMD and GuC race on accessing PMU busyness (Umesh)
> > > > - Use PM timestamp instead of RING TIMESTAMP for reference in
> > > > PMU with GuC (Umesh)
> > > > - Report error on invalid reset notification from GuC (John)
> > > > - Avoid WARN splat by holding RPM wakelock during PXP unbind
> > > > (Juston)
> > > > - Fixes to parallel submission implementation (Matt B.)
> > > > - Improve GuC loading status check/error reports (John)
> > > > - Tweak TTM LRU priority hint selection (Matt A.)
> > > > - Align the plane_vma to min_page_size of stolen mem (Ram)
> > > > 
> > > > - Introduce vma resources and implement async unbinding
> > > > (Thomas)
> > > > - Use struct vma_resource instead of struct vma_snapshot
> > > > (Thomas)
> > > > - Return some TTM accel move errors instead of trying memcpy
> > > > move (Thomas)
> > > > - Fix a race between vma / object destruction and unbinding
> > > > (Thomas)
> > > > - Remove short-term pins from execbuf (Maarten)
> > > > - Update to GuC version 69.0.3 (John, Michal Wa.)
> > > > - Improvements to GT reset paths in GuC backend (Matt B.)
> > > > - Use shrinker_release_pages instead of writeback in shmem
> > > > object hooks (Matt A., Tvrtko)
> > > > - Use trylock instead of blocking lock when freeing GEM objects
> > > > (Maarten)
> > > > - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt
> > > > B.)
> > > > - Fixes to object unmapping and purging (Matt A)
> > > > - Check for wedged device in GuC backend (John)
> > > > - Avoid lockdep splat by locking dpt_obj around set_cache_level
> > > > (Maarten)
> > > > - Allow dead vm to unbind vma's without lock (Maarten)
> > > > - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
> > > > 
> > > > - Use to_gt() helper for GGTT accesses (Michal Wi.)
> > > > - Selftest improvements (Matt B., Thomas, Ram)
> > > > - Coding style and compiler warning fixes (Matt B., Jasmine,
> > > > Andi, Colin, Gustavo, Dan)
> > > > 
> > > > ---------------------------------------------------------------
> > > > -
> > > > Andi Shyti (2):
> > > >       drm/i915: Remove unused i915->ggtt
> > > >       drm/i915: fix header file inclusion for might_alloc()
> > > > 
> > > > Anusha Srivatsa (1):
> > > >       drm/i915/rpl-s: Add stepping info
> > > > 
> > > > Bruce Chang (1):
> > > >       drm/i915/dg2: Add Wa_22011100796
> > > > 
> > > > Colin Ian King (1):
> > > >       i915: make array flex_regs static const
> > > > 
> > > > Dan Carpenter (1):
> > > >       drm/i915: delete shadow "ret" variable
> > > > 
> > > > Daniele Ceraolo Spurio (2):
> > > >       drm/i915/wopcm: Handle pre-programmed WOPCM registers
> > > >       drm/i915/guc: Update guc shim control programming on
> > > > newer platforms
> > > > 
> > > > Gustavo A. R. Silva (1):
> > > >       drm/i915/guc: Use struct_size() helper in kmalloc()
> > > > 
> > > > Jasmine Newsome (1):
> > > >       drm/i915/gem: Use local pointer ttm for __i915_ttm_move
> > > > 
> > > > John Harrison (5):
> > > >       drm/i915/guc: Report error on invalid reset notification
> > > >       drm/i915/guc: Check for wedged before doing stuff
> > > >       drm/i915/guc: Temporarily bump the GuC load timeout
> > > >       drm/i915/guc: Update to GuC version 69.0.3
> > > >       drm/i915/guc: Improve GuC loading status check/error
> > > > reports
> > > > 
> > > > Joonas Lahtinen (1):
> > > >       Merge drm/drm-next into drm-intel-gt-next
> > > > 
> > > > Juston Li (1):
> > > >       drm/i915/pxp: Hold RPM wakelock during PXP unbind
> > > > 
> > > > Lucas De Marchi (2):
> > > >       drm/i915/guc: Prepare for error propagation
> > > >       drm/i915/guc: Use a single pass to calculate regset
> > > > 
> > > > Maarten Lankhorst (8):
> > > >       drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to
> > > > prevent new ENOSPC errors, v2.
> > > >       drm/i915: Add locking to i915_gem_evict_vm(), v3.
> > > >       drm/i915: Add object locking to i915_gem_evict_for_node
> > > > and i915_gem_evict_something, v2.
> > > >       drm/i915: Add i915_vma_unbind_unlocked, and take obj lock
> > > > for i915_vma_unbind, v2.
> > > >       drm/i915: Remove support for unlocked i915_vma unbind
> > > >       drm/i915: Remove short-term pins from execbuf, v6.
> > > >       drm/i915: Lock dpt_obj around set_cache_level, v2.
> > > >       drm/i915: Allow dead vm to unbind vma's without lock.
> > > > 
> > > > Matt Roper (4):
> > > >       drm/i915/dg2: Add Wa_18018781329
> > > >       drm/i915/dg2: Add Wa_14015227452
> > > >       drm/i915/dg2: s/engine->i915/i915/ for engine workarounds
> > > >       drm/i915: Introduce G12 subplatform of DG2
> > > > 
> > > > Matthew Auld (7):
> > > >       drm/i915: remove writeback hook
> > > >       drm/i915: clean up shrinker_release_pages
> > > >       drm/i915: don't call free_mmap_offset when purging
> > > >       drm/i915/ttm: only fault WILLNEED objects
> > > >       drm/i915/ttm: add unmap_virtual callback
> > > >       drm/i915/ttm: ensure we unmap when purging
> > > >       drm/i915/ttm: tweak priority hint selection
> > > > 
> > > > Matthew Brost (11):
> > > >       drm/i915/execlists: Weak parallel submission support for
> > > > execlists
> > > >       drm/i915: Fix possible uninitialized variable in parallel
> > > > extension
> > > >       drm/i915: Increment composite fence seqno
> > > >       drm/i915/selftests: Add a cancel request selftest that
> > > > triggers a reset
> > > >       drm/i915/guc: Remove hacks for reset and schedule disable
> > > > G2H being received out of order
> > > >       drm/i915: Allocate intel_engine_coredump_alloc with
> > > > ALLOW_FAIL
> > > >       drm/i915/guc: Add work queue to trigger a GT reset
> > > >       drm/i915/guc: Flush G2H handler during a GT reset
> > > >       drm/i915: Lock timeline mutex directly in error path of
> > > > eb_pin_timeline
> > > >       drm/i915/guc: Ensure multi-lrc fini breadcrumb math is
> > > > correct
> > > >       drm/i915/selftests: Use less in contexts steal guc id
> > > > test
> > > > 
> > > > Michał Winiarski (5):
> > > >       drm/i915/gt: Use to_gt() helper for GGTT accesses
> > > >       drm/i915: Use to_gt() helper for GGTT accesses
> > > >       drm/i915/gem: Use to_gt() helper for GGTT accesses
> > > >       drm/i915/display: Use to_gt() helper for GGTT accesses
> > > >       drm/i915/selftests: Use to_gt() helper for GGTT accesses
> > > > 
> > > > Ramalingam C (3):
> > > >       drm/i915/dg2: Add Wa_22011450934
> > > >       drm/i915: align the plane_vma to min_page_size of stolen
> > > > mem
> > > >       drm/i915: More gt idling time with guc submission
> > > > 
> > > > Thomas Hellström (9):
> > > >       drm/i915: Initial introduction of vma resources
> > > >       drm/i915: Use the vma resource as argument for gtt
> > > > binding / unbinding
> > > >       drm/i915: Don't pin the object pages during pending vma
> > > > binds
> > > >       drm/i915: Use vma resources for async unbinding
> > > >       drm/i915: Asynchronous migration selftest
> > > >       drm/i915: Use struct vma_resource instead of struct
> > > > vma_snapshot
> > > >       drm/i915: Fix vma resource freeing
> > > >       drm/i915: Fix a race between vma / object destruction and
> > > > unbinding
> > > >       drm/i915/ttm: Return some errors instead of trying memcpy
> > > > move
> > > > 
> > > > Tvrtko Ursulin (1):
> > > >       Merge drm/drm-next into drm-intel-gt-next
> > > > 
> > > > Umesh Nerlige Ramappa (2):
> > > >       drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP
> > > > for reference
> > > >       drm/i915/pmu: Fix KMD and GuC race on accessing busyness
> > > > 
> > > >  Documentation/gpu/i915.rst                         |   1 +
> > > >  drivers/gpu/drm/i915/Makefile                      |   2 +-
> > > >  drivers/gpu/drm/i915/display/intel_dpt.c           |  33 +-
> > > >  drivers/gpu/drm/i915/display/intel_fb_pin.c        |   8 +-
> > > >  drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
> > > >  drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
> > > >  drivers/gpu/drm/i915/display/intel_plane_initial.c |   7 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_context.c        |  11 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_context.h        |   2 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 248
> > > > ++++++------
> > > >  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  36 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  18 +
> > > >  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   4 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  51 ++-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  10 -
> > > >  drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   2 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  17 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  30 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  15 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  16 +-
> > > >  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  27 +-
> > > >  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  39 +-
> > > >  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   4 +-
> > > >  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
> > > >  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 192
> > > > +++++++++-
> > > >  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  25 +-
> > > >  .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
> > > >  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  19 +-
> > > >  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  37 +-
> > > >  drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
> > > >  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 +-
> > > >  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  38 ++
> > > >  drivers/gpu/drm/i915/gt/intel_ggtt.c               | 133 ++++-
> > > > --
> > > >  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   7 +-
> > > >  drivers/gpu/drm/i915/gt/intel_gt.c                 |   7 +-
> > > >  drivers/gpu/drm/i915/gt/intel_gt.h                 |   2 +-
> > > >  drivers/gpu/drm/i915/gt/intel_gtt.c                |   4 +
> > > >  drivers/gpu/drm/i915/gt/intel_gtt.h                |  19 +-
> > > >  drivers/gpu/drm/i915/gt/intel_lrc.c                |  32 ++
> > > >  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  22 +-
> > > >  drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
> > > >  drivers/gpu/drm/i915/gt/intel_reset.c              |   9 +
> > > >  drivers/gpu/drm/i915/gt/intel_workarounds.c        |  39 +-
> > > >  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
> > > >  drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
> > > >  drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  80 ++--
> > > >  drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  23 ++
> > > >  drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  82 ++++
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 126
> > > > ++++++-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  25 ++
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 204
> > > > +++++++---
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 143 +++--
> > > > --
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  38 +-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  37 +-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  31 +-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   3 +
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   7 +-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 262
> > > > +++++++++----
> > > >  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   1 +
> > > >  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  43 ++-
> > > >  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +-
> > > >  drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   2 +-
> > > >  drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
> > > >  drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
> > > >  drivers/gpu/drm/i915/i915_debugfs.c                |   7 +-
> > > >  drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
> > > >  drivers/gpu/drm/i915/i915_drv.h                    |  32 +-
> > > >  drivers/gpu/drm/i915/i915_gem.c                    |  37 +-
> > > >  drivers/gpu/drm/i915/i915_gem_evict.c              | 101 ++++-
> > > >  drivers/gpu/drm/i915/i915_gem_gtt.c                |  16 +-
> > > >  drivers/gpu/drm/i915/i915_gem_gtt.h                |   4 +
> > > >  drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
> > > >  drivers/gpu/drm/i915/i915_gpu_error.c              |  89 ++---
> > > >  drivers/gpu/drm/i915/i915_module.c                 |   3 +
> > > >  drivers/gpu/drm/i915/i915_pci.c                    |   1 +
> > > >  drivers/gpu/drm/i915/i915_perf.c                   |   8 +-
> > > >  drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
> > > >  drivers/gpu/drm/i915/i915_request.c                |  12 +-
> > > >  drivers/gpu/drm/i915/i915_request.h                |   6 +-
> > > >  drivers/gpu/drm/i915/i915_vgpu.c                   |   2 +-
> > > >  drivers/gpu/drm/i915/i915_vma.c                    | 376
> > > > +++++++++++++-----
> > > >  drivers/gpu/drm/i915/i915_vma.h                    |  34 +-
> > > >  drivers/gpu/drm/i915/i915_vma_resource.c           | 418
> > > > +++++++++++++++++++++
> > > >  drivers/gpu/drm/i915/i915_vma_resource.h           | 234
> > > > ++++++++++++
> > > >  drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 -----
> > > > --
> > > >  drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 -----
> > > > -
> > > >  drivers/gpu/drm/i915/i915_vma_types.h              |  19 +-
> > > >  drivers/gpu/drm/i915/intel_device_info.h           |   4 +-
> > > >  drivers/gpu/drm/i915/intel_step.c                  |  15 +
> > > >  drivers/gpu/drm/i915/intel_wopcm.c                 |  42 ++-
> > > >  drivers/gpu/drm/i915/selftests/i915_gem.c          |   8 +-
> > > >  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  28 +-
> > > >  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 209
> > > > +++++++----
> > > >  drivers/gpu/drm/i915/selftests/i915_request.c      | 119
> > > > +++++-
> > > >  drivers/gpu/drm/i915/selftests/i915_vma.c          |  30 +-
> > > >  drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
> > > >  drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  11 +-
> > > >  drivers/gpu/drm/i915/selftests/mock_gtt.c          |  21 +-
> > > >  drivers/gpu/drm/i915/selftests/mock_gtt.h          |   3 +-
> > > >  101 files changed, 3149 insertions(+), 1359 deletions(-)
> > > >  create mode 100644
> > > > drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
> > > >  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c
> > > >  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h
> > > >  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
> > > >  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h
> > 
> > -- 
> > Jani Nikula, Intel Open Source Graphics Center


^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-02-21  9:21   ` Jani Nikula
@ 2022-02-22 19:44     ` Lucas De Marchi
  2022-02-23 20:35       ` Vivi, Rodrigo
  0 siblings, 1 reply; 68+ messages in thread
From: Lucas De Marchi @ 2022-02-22 19:44 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Tvrtko Ursulin, DRM maintainer tools announcements, discussion,
	and development, Daniel Vetter, Intel Graphics Development,
	dri-devel, Thomas Zimmermann, Rodrigo Vivi

On Mon, Feb 21, 2022 at 11:21:35AM +0200, Jani Nikula wrote:
>On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote:
>> On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen
>> <joonas.lahtinen@linux.intel.com> wrote:
>>>
>>> Hi Dave & Daniel,
>>>
>>> Here is the first drm-intel-gt-next feature PR towards v5.18.
>>
>> Am I missing some previous drm-intel pull?
>>
>> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:
>> In function ‘rcs_engine_wa_init’:
>> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
>> error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function)
>>  2051 |   wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE);
>>       |                                        ^~~~~~~~~~~~~~~~~~~~
>> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
>> note: each undeclared identifier is reported only once for each
>> function it appears in
>
>There's apparently a silent conflict between changes in drm-intel-next
>and drm-intel-gt-next. There's a fixup patch in drm-rerere:
>fixups/drm-intel-gt-next.patch.

yeah, with all header refactors landing in drm-intel-next there were
quite a few conflict lately. Just taking fixups/drm-intel-gt-next.patch
doesn't fix it though as we'd need to follow the merge order drm-tip is
doing, i.e. first get a pull request for drm-intel-next in, and then
drm-intel-gt-next. Or the octopus merge

For this merge only I believe the fixup is:

	git show 064030837c5b:fixups/drm-intel-gt-next.patch | patch -p1

with 064030837c5b being the commit in drm-rerere. Cc'ing Matt Roper

Lucas De Marchi

>
>We opted to sync the branches via drm-next pulls and backmerges, but I'm
>afraid that means you'd have to use the fixups when merging. I guess we
>failed to communicate that. The alternative would've been cross-merges
>within drm-intel.
>
>
>BR,
>Jani.
>
>
>>
>> Dave.
>>>
>>> For DG2 adds subplatform G12, missing workarounds and fixes GuC
>>> loading on ARM64. C0/D0 stepping info added for RPL-S.
>>>
>>> For uAPI enables support for simple parallel submission with
>>> execlists which was previously enabled only for GuC.
>>>
>>> Further fixes for PMU metrics when GuC is enabled, better error
>>> reporting for GuC loading failures. Fix for PXP unbind splat.
>>> Updates to GuC version 69.0.3 with improvements to GT reset
>>> scenarios.
>>>
>>> The rest is mostly refactoring of the memory management code,
>>> as highlights introduction of async unbinding/migration and
>>> removal of short-term pinning in execbuf.
>>>
>>> Then a few selftest and coding style fixes.
>>>
>>> Regards, Joonas
>>>
>>> ***
>>>
>>> drm-intel-gt-next-2022-02-17:
>>>
>>> UAPI Changes:
>>>
>>> - Weak parallel submission support for execlists
>>>
>>>   Minimal implementation of the parallel submission support for
>>>   execlists backend that was previously only implemented for GuC.
>>>   Support one sibling non-virtual engine.
>>>
>>> Core Changes:
>>>
>>> - Two backmerges of drm/drm-next for header file renames/changes and
>>>   i915_regs reorganization
>>>
>>> Driver Changes:
>>>
>>> - Add new DG2 subplatform: DG2-G12 (Matt R)
>>> - Add new DG2 workarounds (Matt R, Ram, Bruce)
>>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
>>> - Update guc shim control programming on XeHP SDV+ (Daniele)
>>> - Add RPL-S C0/D0 stepping information (Anusha)
>>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>>>
>>> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
>>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
>>> - Report error on invalid reset notification from GuC (John)
>>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
>>> - Fixes to parallel submission implementation (Matt B.)
>>> - Improve GuC loading status check/error reports (John)
>>> - Tweak TTM LRU priority hint selection (Matt A.)
>>> - Align the plane_vma to min_page_size of stolen mem (Ram)
>>>
>>> - Introduce vma resources and implement async unbinding (Thomas)
>>> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
>>> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
>>> - Fix a race between vma / object destruction and unbinding (Thomas)
>>> - Remove short-term pins from execbuf (Maarten)
>>> - Update to GuC version 69.0.3 (John, Michal Wa.)
>>> - Improvements to GT reset paths in GuC backend (Matt B.)
>>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
>>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
>>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
>>> - Fixes to object unmapping and purging (Matt A)
>>> - Check for wedged device in GuC backend (John)
>>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
>>> - Allow dead vm to unbind vma's without lock (Maarten)
>>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>>>
>>> - Use to_gt() helper for GGTT accesses (Michal Wi.)
>>> - Selftest improvements (Matt B., Thomas, Ram)
>>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>>>
>>> The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc:
>>>
>>>   Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000)
>>>
>>> are available in the Git repository at:
>>>
>>>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17
>>>
>>> for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7:
>>>
>>>   drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530)
>>>
>>> ----------------------------------------------------------------
>>> UAPI Changes:
>>>
>>> - Weak parallel submission support for execlists
>>>
>>>   Minimal implementation of the parallel submission support for
>>>   execlists backend that was previously only implemented for GuC.
>>>   Support one sibling non-virtual engine.
>>>
>>> Core Changes:
>>>
>>> - Two backmerges of drm/drm-next for header file renames/changes and
>>>   i915_regs reorganization
>>>
>>> Driver Changes:
>>>
>>> - Add new DG2 subplatform: DG2-G12 (Matt R)
>>> - Add new DG2 workarounds (Matt R, Ram, Bruce)
>>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
>>> - Update guc shim control programming on XeHP SDV+ (Daniele)
>>> - Add RPL-S C0/D0 stepping information (Anusha)
>>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>>>
>>> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
>>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
>>> - Report error on invalid reset notification from GuC (John)
>>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
>>> - Fixes to parallel submission implementation (Matt B.)
>>> - Improve GuC loading status check/error reports (John)
>>> - Tweak TTM LRU priority hint selection (Matt A.)
>>> - Align the plane_vma to min_page_size of stolen mem (Ram)
>>>
>>> - Introduce vma resources and implement async unbinding (Thomas)
>>> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
>>> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
>>> - Fix a race between vma / object destruction and unbinding (Thomas)
>>> - Remove short-term pins from execbuf (Maarten)
>>> - Update to GuC version 69.0.3 (John, Michal Wa.)
>>> - Improvements to GT reset paths in GuC backend (Matt B.)
>>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
>>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
>>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
>>> - Fixes to object unmapping and purging (Matt A)
>>> - Check for wedged device in GuC backend (John)
>>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
>>> - Allow dead vm to unbind vma's without lock (Maarten)
>>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>>>
>>> - Use to_gt() helper for GGTT accesses (Michal Wi.)
>>> - Selftest improvements (Matt B., Thomas, Ram)
>>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>>>
>>> ----------------------------------------------------------------
>>> Andi Shyti (2):
>>>       drm/i915: Remove unused i915->ggtt
>>>       drm/i915: fix header file inclusion for might_alloc()
>>>
>>> Anusha Srivatsa (1):
>>>       drm/i915/rpl-s: Add stepping info
>>>
>>> Bruce Chang (1):
>>>       drm/i915/dg2: Add Wa_22011100796
>>>
>>> Colin Ian King (1):
>>>       i915: make array flex_regs static const
>>>
>>> Dan Carpenter (1):
>>>       drm/i915: delete shadow "ret" variable
>>>
>>> Daniele Ceraolo Spurio (2):
>>>       drm/i915/wopcm: Handle pre-programmed WOPCM registers
>>>       drm/i915/guc: Update guc shim control programming on newer platforms
>>>
>>> Gustavo A. R. Silva (1):
>>>       drm/i915/guc: Use struct_size() helper in kmalloc()
>>>
>>> Jasmine Newsome (1):
>>>       drm/i915/gem: Use local pointer ttm for __i915_ttm_move
>>>
>>> John Harrison (5):
>>>       drm/i915/guc: Report error on invalid reset notification
>>>       drm/i915/guc: Check for wedged before doing stuff
>>>       drm/i915/guc: Temporarily bump the GuC load timeout
>>>       drm/i915/guc: Update to GuC version 69.0.3
>>>       drm/i915/guc: Improve GuC loading status check/error reports
>>>
>>> Joonas Lahtinen (1):
>>>       Merge drm/drm-next into drm-intel-gt-next
>>>
>>> Juston Li (1):
>>>       drm/i915/pxp: Hold RPM wakelock during PXP unbind
>>>
>>> Lucas De Marchi (2):
>>>       drm/i915/guc: Prepare for error propagation
>>>       drm/i915/guc: Use a single pass to calculate regset
>>>
>>> Maarten Lankhorst (8):
>>>       drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2.
>>>       drm/i915: Add locking to i915_gem_evict_vm(), v3.
>>>       drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.
>>>       drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2.
>>>       drm/i915: Remove support for unlocked i915_vma unbind
>>>       drm/i915: Remove short-term pins from execbuf, v6.
>>>       drm/i915: Lock dpt_obj around set_cache_level, v2.
>>>       drm/i915: Allow dead vm to unbind vma's without lock.
>>>
>>> Matt Roper (4):
>>>       drm/i915/dg2: Add Wa_18018781329
>>>       drm/i915/dg2: Add Wa_14015227452
>>>       drm/i915/dg2: s/engine->i915/i915/ for engine workarounds
>>>       drm/i915: Introduce G12 subplatform of DG2
>>>
>>> Matthew Auld (7):
>>>       drm/i915: remove writeback hook
>>>       drm/i915: clean up shrinker_release_pages
>>>       drm/i915: don't call free_mmap_offset when purging
>>>       drm/i915/ttm: only fault WILLNEED objects
>>>       drm/i915/ttm: add unmap_virtual callback
>>>       drm/i915/ttm: ensure we unmap when purging
>>>       drm/i915/ttm: tweak priority hint selection
>>>
>>> Matthew Brost (11):
>>>       drm/i915/execlists: Weak parallel submission support for execlists
>>>       drm/i915: Fix possible uninitialized variable in parallel extension
>>>       drm/i915: Increment composite fence seqno
>>>       drm/i915/selftests: Add a cancel request selftest that triggers a reset
>>>       drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order
>>>       drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL
>>>       drm/i915/guc: Add work queue to trigger a GT reset
>>>       drm/i915/guc: Flush G2H handler during a GT reset
>>>       drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline
>>>       drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct
>>>       drm/i915/selftests: Use less in contexts steal guc id test
>>>
>>> Michał Winiarski (5):
>>>       drm/i915/gt: Use to_gt() helper for GGTT accesses
>>>       drm/i915: Use to_gt() helper for GGTT accesses
>>>       drm/i915/gem: Use to_gt() helper for GGTT accesses
>>>       drm/i915/display: Use to_gt() helper for GGTT accesses
>>>       drm/i915/selftests: Use to_gt() helper for GGTT accesses
>>>
>>> Ramalingam C (3):
>>>       drm/i915/dg2: Add Wa_22011450934
>>>       drm/i915: align the plane_vma to min_page_size of stolen mem
>>>       drm/i915: More gt idling time with guc submission
>>>
>>> Thomas Hellström (9):
>>>       drm/i915: Initial introduction of vma resources
>>>       drm/i915: Use the vma resource as argument for gtt binding / unbinding
>>>       drm/i915: Don't pin the object pages during pending vma binds
>>>       drm/i915: Use vma resources for async unbinding
>>>       drm/i915: Asynchronous migration selftest
>>>       drm/i915: Use struct vma_resource instead of struct vma_snapshot
>>>       drm/i915: Fix vma resource freeing
>>>       drm/i915: Fix a race between vma / object destruction and unbinding
>>>       drm/i915/ttm: Return some errors instead of trying memcpy move
>>>
>>> Tvrtko Ursulin (1):
>>>       Merge drm/drm-next into drm-intel-gt-next
>>>
>>> Umesh Nerlige Ramappa (2):
>>>       drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference
>>>       drm/i915/pmu: Fix KMD and GuC race on accessing busyness
>>>
>>>  Documentation/gpu/i915.rst                         |   1 +
>>>  drivers/gpu/drm/i915/Makefile                      |   2 +-
>>>  drivers/gpu/drm/i915/display/intel_dpt.c           |  33 +-
>>>  drivers/gpu/drm/i915/display/intel_fb_pin.c        |   8 +-
>>>  drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
>>>  drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
>>>  drivers/gpu/drm/i915/display/intel_plane_initial.c |   7 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |  11 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_context.h        |   2 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 248 ++++++------
>>>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  36 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  18 +
>>>  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   4 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  51 ++-
>>>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  10 -
>>>  drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   2 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  17 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  30 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  15 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  16 +-
>>>  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  27 +-
>>>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  39 +-
>>>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   4 +-
>>>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
>>>  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 192 +++++++++-
>>>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  25 +-
>>>  .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
>>>  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  19 +-
>>>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  37 +-
>>>  drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
>>>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 +-
>>>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  38 ++
>>>  drivers/gpu/drm/i915/gt/intel_ggtt.c               | 133 ++++---
>>>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   7 +-
>>>  drivers/gpu/drm/i915/gt/intel_gt.c                 |   7 +-
>>>  drivers/gpu/drm/i915/gt/intel_gt.h                 |   2 +-
>>>  drivers/gpu/drm/i915/gt/intel_gtt.c                |   4 +
>>>  drivers/gpu/drm/i915/gt/intel_gtt.h                |  19 +-
>>>  drivers/gpu/drm/i915/gt/intel_lrc.c                |  32 ++
>>>  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  22 +-
>>>  drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
>>>  drivers/gpu/drm/i915/gt/intel_reset.c              |   9 +
>>>  drivers/gpu/drm/i915/gt/intel_workarounds.c        |  39 +-
>>>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
>>>  drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
>>>  drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  80 ++--
>>>  drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  23 ++
>>>  drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  82 ++++
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 126 ++++++-
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  25 ++
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 204 +++++++---
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 143 +++----
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  38 +-
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  37 +-
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  31 +-
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   3 +
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   7 +-
>>>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 262 +++++++++----
>>>  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   1 +
>>>  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
>>>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  43 ++-
>>>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +-
>>>  drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   2 +-
>>>  drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
>>>  drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
>>>  drivers/gpu/drm/i915/i915_debugfs.c                |   7 +-
>>>  drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
>>>  drivers/gpu/drm/i915/i915_drv.h                    |  32 +-
>>>  drivers/gpu/drm/i915/i915_gem.c                    |  37 +-
>>>  drivers/gpu/drm/i915/i915_gem_evict.c              | 101 ++++-
>>>  drivers/gpu/drm/i915/i915_gem_gtt.c                |  16 +-
>>>  drivers/gpu/drm/i915/i915_gem_gtt.h                |   4 +
>>>  drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
>>>  drivers/gpu/drm/i915/i915_gpu_error.c              |  89 ++---
>>>  drivers/gpu/drm/i915/i915_module.c                 |   3 +
>>>  drivers/gpu/drm/i915/i915_pci.c                    |   1 +
>>>  drivers/gpu/drm/i915/i915_perf.c                   |   8 +-
>>>  drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
>>>  drivers/gpu/drm/i915/i915_request.c                |  12 +-
>>>  drivers/gpu/drm/i915/i915_request.h                |   6 +-
>>>  drivers/gpu/drm/i915/i915_vgpu.c                   |   2 +-
>>>  drivers/gpu/drm/i915/i915_vma.c                    | 376 +++++++++++++-----
>>>  drivers/gpu/drm/i915/i915_vma.h                    |  34 +-
>>>  drivers/gpu/drm/i915/i915_vma_resource.c           | 418 +++++++++++++++++++++
>>>  drivers/gpu/drm/i915/i915_vma_resource.h           | 234 ++++++++++++
>>>  drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 -------
>>>  drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 ------
>>>  drivers/gpu/drm/i915/i915_vma_types.h              |  19 +-
>>>  drivers/gpu/drm/i915/intel_device_info.h           |   4 +-
>>>  drivers/gpu/drm/i915/intel_step.c                  |  15 +
>>>  drivers/gpu/drm/i915/intel_wopcm.c                 |  42 ++-
>>>  drivers/gpu/drm/i915/selftests/i915_gem.c          |   8 +-
>>>  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  28 +-
>>>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 209 +++++++----
>>>  drivers/gpu/drm/i915/selftests/i915_request.c      | 119 +++++-
>>>  drivers/gpu/drm/i915/selftests/i915_vma.c          |  30 +-
>>>  drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
>>>  drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  11 +-
>>>  drivers/gpu/drm/i915/selftests/mock_gtt.c          |  21 +-
>>>  drivers/gpu/drm/i915/selftests/mock_gtt.h          |   3 +-
>>>  101 files changed, 3149 insertions(+), 1359 deletions(-)
>>>  create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
>>>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c
>>>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h
>>>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
>>>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h
>
>-- 
>Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-02-20 23:30 ` Dave Airlie
@ 2022-02-21  9:21   ` Jani Nikula
  2022-02-22 19:44     ` Lucas De Marchi
  0 siblings, 1 reply; 68+ messages in thread
From: Jani Nikula @ 2022-02-21  9:21 UTC (permalink / raw)
  To: Dave Airlie, Joonas Lahtinen
  Cc: Tvrtko Ursulin, DRM maintainer tools announcements,  discussion,
	and development, Daniel Vetter, Intel Graphics Development,
	dri-devel, Thomas Zimmermann, Rodrigo Vivi

On Mon, 21 Feb 2022, Dave Airlie <airlied@gmail.com> wrote:
> On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen
> <joonas.lahtinen@linux.intel.com> wrote:
>>
>> Hi Dave & Daniel,
>>
>> Here is the first drm-intel-gt-next feature PR towards v5.18.
>
> Am I missing some previous drm-intel pull?
>
> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:
> In function ‘rcs_engine_wa_init’:
> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
> error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function)
>  2051 |   wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE);
>       |                                        ^~~~~~~~~~~~~~~~~~~~
> /home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
> note: each undeclared identifier is reported only once for each
> function it appears in

There's apparently a silent conflict between changes in drm-intel-next
and drm-intel-gt-next. There's a fixup patch in drm-rerere:
fixups/drm-intel-gt-next.patch.

We opted to sync the branches via drm-next pulls and backmerges, but I'm
afraid that means you'd have to use the fixups when merging. I guess we
failed to communicate that. The alternative would've been cross-merges
within drm-intel.


BR,
Jani.


>
> Dave.
>>
>> For DG2 adds subplatform G12, missing workarounds and fixes GuC
>> loading on ARM64. C0/D0 stepping info added for RPL-S.
>>
>> For uAPI enables support for simple parallel submission with
>> execlists which was previously enabled only for GuC.
>>
>> Further fixes for PMU metrics when GuC is enabled, better error
>> reporting for GuC loading failures. Fix for PXP unbind splat.
>> Updates to GuC version 69.0.3 with improvements to GT reset
>> scenarios.
>>
>> The rest is mostly refactoring of the memory management code,
>> as highlights introduction of async unbinding/migration and
>> removal of short-term pinning in execbuf.
>>
>> Then a few selftest and coding style fixes.
>>
>> Regards, Joonas
>>
>> ***
>>
>> drm-intel-gt-next-2022-02-17:
>>
>> UAPI Changes:
>>
>> - Weak parallel submission support for execlists
>>
>>   Minimal implementation of the parallel submission support for
>>   execlists backend that was previously only implemented for GuC.
>>   Support one sibling non-virtual engine.
>>
>> Core Changes:
>>
>> - Two backmerges of drm/drm-next for header file renames/changes and
>>   i915_regs reorganization
>>
>> Driver Changes:
>>
>> - Add new DG2 subplatform: DG2-G12 (Matt R)
>> - Add new DG2 workarounds (Matt R, Ram, Bruce)
>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
>> - Update guc shim control programming on XeHP SDV+ (Daniele)
>> - Add RPL-S C0/D0 stepping information (Anusha)
>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>>
>> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
>> - Report error on invalid reset notification from GuC (John)
>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
>> - Fixes to parallel submission implementation (Matt B.)
>> - Improve GuC loading status check/error reports (John)
>> - Tweak TTM LRU priority hint selection (Matt A.)
>> - Align the plane_vma to min_page_size of stolen mem (Ram)
>>
>> - Introduce vma resources and implement async unbinding (Thomas)
>> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
>> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
>> - Fix a race between vma / object destruction and unbinding (Thomas)
>> - Remove short-term pins from execbuf (Maarten)
>> - Update to GuC version 69.0.3 (John, Michal Wa.)
>> - Improvements to GT reset paths in GuC backend (Matt B.)
>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
>> - Fixes to object unmapping and purging (Matt A)
>> - Check for wedged device in GuC backend (John)
>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
>> - Allow dead vm to unbind vma's without lock (Maarten)
>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>>
>> - Use to_gt() helper for GGTT accesses (Michal Wi.)
>> - Selftest improvements (Matt B., Thomas, Ram)
>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>>
>> The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc:
>>
>>   Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000)
>>
>> are available in the Git repository at:
>>
>>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17
>>
>> for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7:
>>
>>   drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530)
>>
>> ----------------------------------------------------------------
>> UAPI Changes:
>>
>> - Weak parallel submission support for execlists
>>
>>   Minimal implementation of the parallel submission support for
>>   execlists backend that was previously only implemented for GuC.
>>   Support one sibling non-virtual engine.
>>
>> Core Changes:
>>
>> - Two backmerges of drm/drm-next for header file renames/changes and
>>   i915_regs reorganization
>>
>> Driver Changes:
>>
>> - Add new DG2 subplatform: DG2-G12 (Matt R)
>> - Add new DG2 workarounds (Matt R, Ram, Bruce)
>> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
>> - Update guc shim control programming on XeHP SDV+ (Daniele)
>> - Add RPL-S C0/D0 stepping information (Anusha)
>> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>>
>> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
>> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
>> - Report error on invalid reset notification from GuC (John)
>> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
>> - Fixes to parallel submission implementation (Matt B.)
>> - Improve GuC loading status check/error reports (John)
>> - Tweak TTM LRU priority hint selection (Matt A.)
>> - Align the plane_vma to min_page_size of stolen mem (Ram)
>>
>> - Introduce vma resources and implement async unbinding (Thomas)
>> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
>> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
>> - Fix a race between vma / object destruction and unbinding (Thomas)
>> - Remove short-term pins from execbuf (Maarten)
>> - Update to GuC version 69.0.3 (John, Michal Wa.)
>> - Improvements to GT reset paths in GuC backend (Matt B.)
>> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
>> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
>> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
>> - Fixes to object unmapping and purging (Matt A)
>> - Check for wedged device in GuC backend (John)
>> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
>> - Allow dead vm to unbind vma's without lock (Maarten)
>> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>>
>> - Use to_gt() helper for GGTT accesses (Michal Wi.)
>> - Selftest improvements (Matt B., Thomas, Ram)
>> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>>
>> ----------------------------------------------------------------
>> Andi Shyti (2):
>>       drm/i915: Remove unused i915->ggtt
>>       drm/i915: fix header file inclusion for might_alloc()
>>
>> Anusha Srivatsa (1):
>>       drm/i915/rpl-s: Add stepping info
>>
>> Bruce Chang (1):
>>       drm/i915/dg2: Add Wa_22011100796
>>
>> Colin Ian King (1):
>>       i915: make array flex_regs static const
>>
>> Dan Carpenter (1):
>>       drm/i915: delete shadow "ret" variable
>>
>> Daniele Ceraolo Spurio (2):
>>       drm/i915/wopcm: Handle pre-programmed WOPCM registers
>>       drm/i915/guc: Update guc shim control programming on newer platforms
>>
>> Gustavo A. R. Silva (1):
>>       drm/i915/guc: Use struct_size() helper in kmalloc()
>>
>> Jasmine Newsome (1):
>>       drm/i915/gem: Use local pointer ttm for __i915_ttm_move
>>
>> John Harrison (5):
>>       drm/i915/guc: Report error on invalid reset notification
>>       drm/i915/guc: Check for wedged before doing stuff
>>       drm/i915/guc: Temporarily bump the GuC load timeout
>>       drm/i915/guc: Update to GuC version 69.0.3
>>       drm/i915/guc: Improve GuC loading status check/error reports
>>
>> Joonas Lahtinen (1):
>>       Merge drm/drm-next into drm-intel-gt-next
>>
>> Juston Li (1):
>>       drm/i915/pxp: Hold RPM wakelock during PXP unbind
>>
>> Lucas De Marchi (2):
>>       drm/i915/guc: Prepare for error propagation
>>       drm/i915/guc: Use a single pass to calculate regset
>>
>> Maarten Lankhorst (8):
>>       drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2.
>>       drm/i915: Add locking to i915_gem_evict_vm(), v3.
>>       drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.
>>       drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2.
>>       drm/i915: Remove support for unlocked i915_vma unbind
>>       drm/i915: Remove short-term pins from execbuf, v6.
>>       drm/i915: Lock dpt_obj around set_cache_level, v2.
>>       drm/i915: Allow dead vm to unbind vma's without lock.
>>
>> Matt Roper (4):
>>       drm/i915/dg2: Add Wa_18018781329
>>       drm/i915/dg2: Add Wa_14015227452
>>       drm/i915/dg2: s/engine->i915/i915/ for engine workarounds
>>       drm/i915: Introduce G12 subplatform of DG2
>>
>> Matthew Auld (7):
>>       drm/i915: remove writeback hook
>>       drm/i915: clean up shrinker_release_pages
>>       drm/i915: don't call free_mmap_offset when purging
>>       drm/i915/ttm: only fault WILLNEED objects
>>       drm/i915/ttm: add unmap_virtual callback
>>       drm/i915/ttm: ensure we unmap when purging
>>       drm/i915/ttm: tweak priority hint selection
>>
>> Matthew Brost (11):
>>       drm/i915/execlists: Weak parallel submission support for execlists
>>       drm/i915: Fix possible uninitialized variable in parallel extension
>>       drm/i915: Increment composite fence seqno
>>       drm/i915/selftests: Add a cancel request selftest that triggers a reset
>>       drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order
>>       drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL
>>       drm/i915/guc: Add work queue to trigger a GT reset
>>       drm/i915/guc: Flush G2H handler during a GT reset
>>       drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline
>>       drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct
>>       drm/i915/selftests: Use less in contexts steal guc id test
>>
>> Michał Winiarski (5):
>>       drm/i915/gt: Use to_gt() helper for GGTT accesses
>>       drm/i915: Use to_gt() helper for GGTT accesses
>>       drm/i915/gem: Use to_gt() helper for GGTT accesses
>>       drm/i915/display: Use to_gt() helper for GGTT accesses
>>       drm/i915/selftests: Use to_gt() helper for GGTT accesses
>>
>> Ramalingam C (3):
>>       drm/i915/dg2: Add Wa_22011450934
>>       drm/i915: align the plane_vma to min_page_size of stolen mem
>>       drm/i915: More gt idling time with guc submission
>>
>> Thomas Hellström (9):
>>       drm/i915: Initial introduction of vma resources
>>       drm/i915: Use the vma resource as argument for gtt binding / unbinding
>>       drm/i915: Don't pin the object pages during pending vma binds
>>       drm/i915: Use vma resources for async unbinding
>>       drm/i915: Asynchronous migration selftest
>>       drm/i915: Use struct vma_resource instead of struct vma_snapshot
>>       drm/i915: Fix vma resource freeing
>>       drm/i915: Fix a race between vma / object destruction and unbinding
>>       drm/i915/ttm: Return some errors instead of trying memcpy move
>>
>> Tvrtko Ursulin (1):
>>       Merge drm/drm-next into drm-intel-gt-next
>>
>> Umesh Nerlige Ramappa (2):
>>       drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference
>>       drm/i915/pmu: Fix KMD and GuC race on accessing busyness
>>
>>  Documentation/gpu/i915.rst                         |   1 +
>>  drivers/gpu/drm/i915/Makefile                      |   2 +-
>>  drivers/gpu/drm/i915/display/intel_dpt.c           |  33 +-
>>  drivers/gpu/drm/i915/display/intel_fb_pin.c        |   8 +-
>>  drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
>>  drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
>>  drivers/gpu/drm/i915/display/intel_plane_initial.c |   7 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |  11 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_context.h        |   2 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 248 ++++++------
>>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  36 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  18 +
>>  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   4 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  51 ++-
>>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  10 -
>>  drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   2 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  17 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  30 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  15 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  16 +-
>>  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  27 +-
>>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  39 +-
>>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   4 +-
>>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
>>  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 192 +++++++++-
>>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  25 +-
>>  .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
>>  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  19 +-
>>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  37 +-
>>  drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
>>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 +-
>>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  38 ++
>>  drivers/gpu/drm/i915/gt/intel_ggtt.c               | 133 ++++---
>>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   7 +-
>>  drivers/gpu/drm/i915/gt/intel_gt.c                 |   7 +-
>>  drivers/gpu/drm/i915/gt/intel_gt.h                 |   2 +-
>>  drivers/gpu/drm/i915/gt/intel_gtt.c                |   4 +
>>  drivers/gpu/drm/i915/gt/intel_gtt.h                |  19 +-
>>  drivers/gpu/drm/i915/gt/intel_lrc.c                |  32 ++
>>  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  22 +-
>>  drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
>>  drivers/gpu/drm/i915/gt/intel_reset.c              |   9 +
>>  drivers/gpu/drm/i915/gt/intel_workarounds.c        |  39 +-
>>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
>>  drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
>>  drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  80 ++--
>>  drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  23 ++
>>  drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  82 ++++
>>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 126 ++++++-
>>  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  25 ++
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 204 +++++++---
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 143 +++----
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  38 +-
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  37 +-
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  31 +-
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   3 +
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   7 +-
>>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 262 +++++++++----
>>  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   1 +
>>  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
>>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  43 ++-
>>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +-
>>  drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   2 +-
>>  drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
>>  drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
>>  drivers/gpu/drm/i915/i915_debugfs.c                |   7 +-
>>  drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
>>  drivers/gpu/drm/i915/i915_drv.h                    |  32 +-
>>  drivers/gpu/drm/i915/i915_gem.c                    |  37 +-
>>  drivers/gpu/drm/i915/i915_gem_evict.c              | 101 ++++-
>>  drivers/gpu/drm/i915/i915_gem_gtt.c                |  16 +-
>>  drivers/gpu/drm/i915/i915_gem_gtt.h                |   4 +
>>  drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
>>  drivers/gpu/drm/i915/i915_gpu_error.c              |  89 ++---
>>  drivers/gpu/drm/i915/i915_module.c                 |   3 +
>>  drivers/gpu/drm/i915/i915_pci.c                    |   1 +
>>  drivers/gpu/drm/i915/i915_perf.c                   |   8 +-
>>  drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
>>  drivers/gpu/drm/i915/i915_request.c                |  12 +-
>>  drivers/gpu/drm/i915/i915_request.h                |   6 +-
>>  drivers/gpu/drm/i915/i915_vgpu.c                   |   2 +-
>>  drivers/gpu/drm/i915/i915_vma.c                    | 376 +++++++++++++-----
>>  drivers/gpu/drm/i915/i915_vma.h                    |  34 +-
>>  drivers/gpu/drm/i915/i915_vma_resource.c           | 418 +++++++++++++++++++++
>>  drivers/gpu/drm/i915/i915_vma_resource.h           | 234 ++++++++++++
>>  drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 -------
>>  drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 ------
>>  drivers/gpu/drm/i915/i915_vma_types.h              |  19 +-
>>  drivers/gpu/drm/i915/intel_device_info.h           |   4 +-
>>  drivers/gpu/drm/i915/intel_step.c                  |  15 +
>>  drivers/gpu/drm/i915/intel_wopcm.c                 |  42 ++-
>>  drivers/gpu/drm/i915/selftests/i915_gem.c          |   8 +-
>>  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  28 +-
>>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 209 +++++++----
>>  drivers/gpu/drm/i915/selftests/i915_request.c      | 119 +++++-
>>  drivers/gpu/drm/i915/selftests/i915_vma.c          |  30 +-
>>  drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
>>  drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  11 +-
>>  drivers/gpu/drm/i915/selftests/mock_gtt.c          |  21 +-
>>  drivers/gpu/drm/i915/selftests/mock_gtt.h          |   3 +-
>>  101 files changed, 3149 insertions(+), 1359 deletions(-)
>>  create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
>>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c
>>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h
>>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
>>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2022-02-17 10:26 Joonas Lahtinen
@ 2022-02-20 23:30 ` Dave Airlie
  2022-02-21  9:21   ` Jani Nikula
  0 siblings, 1 reply; 68+ messages in thread
From: Dave Airlie @ 2022-02-20 23:30 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: Tvrtko Ursulin, DRM maintainer tools announcements, discussion,
	and development, Daniel Vetter, Intel Graphics Development,
	dri-devel, Thomas Zimmermann, Rodrigo Vivi

On Thu, 17 Feb 2022 at 20:26, Joonas Lahtinen
<joonas.lahtinen@linux.intel.com> wrote:
>
> Hi Dave & Daniel,
>
> Here is the first drm-intel-gt-next feature PR towards v5.18.

Am I missing some previous drm-intel pull?

/home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:
In function ‘rcs_engine_wa_init’:
/home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
error: ‘XEHP_DIS_BBL_SYSPIPE’ undeclared (first use in this function)
 2051 |   wa_masked_en(wal, GEN9_ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE);
      |                                        ^~~~~~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/dim/src/drivers/gpu/drm/i915/gt/intel_workarounds.c:2051:40:
note: each undeclared identifier is reported only once for each
function it appears in

Dave.
>
> For DG2 adds subplatform G12, missing workarounds and fixes GuC
> loading on ARM64. C0/D0 stepping info added for RPL-S.
>
> For uAPI enables support for simple parallel submission with
> execlists which was previously enabled only for GuC.
>
> Further fixes for PMU metrics when GuC is enabled, better error
> reporting for GuC loading failures. Fix for PXP unbind splat.
> Updates to GuC version 69.0.3 with improvements to GT reset
> scenarios.
>
> The rest is mostly refactoring of the memory management code,
> as highlights introduction of async unbinding/migration and
> removal of short-term pinning in execbuf.
>
> Then a few selftest and coding style fixes.
>
> Regards, Joonas
>
> ***
>
> drm-intel-gt-next-2022-02-17:
>
> UAPI Changes:
>
> - Weak parallel submission support for execlists
>
>   Minimal implementation of the parallel submission support for
>   execlists backend that was previously only implemented for GuC.
>   Support one sibling non-virtual engine.
>
> Core Changes:
>
> - Two backmerges of drm/drm-next for header file renames/changes and
>   i915_regs reorganization
>
> Driver Changes:
>
> - Add new DG2 subplatform: DG2-G12 (Matt R)
> - Add new DG2 workarounds (Matt R, Ram, Bruce)
> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
> - Update guc shim control programming on XeHP SDV+ (Daniele)
> - Add RPL-S C0/D0 stepping information (Anusha)
> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>
> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
> - Report error on invalid reset notification from GuC (John)
> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
> - Fixes to parallel submission implementation (Matt B.)
> - Improve GuC loading status check/error reports (John)
> - Tweak TTM LRU priority hint selection (Matt A.)
> - Align the plane_vma to min_page_size of stolen mem (Ram)
>
> - Introduce vma resources and implement async unbinding (Thomas)
> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
> - Fix a race between vma / object destruction and unbinding (Thomas)
> - Remove short-term pins from execbuf (Maarten)
> - Update to GuC version 69.0.3 (John, Michal Wa.)
> - Improvements to GT reset paths in GuC backend (Matt B.)
> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
> - Fixes to object unmapping and purging (Matt A)
> - Check for wedged device in GuC backend (John)
> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
> - Allow dead vm to unbind vma's without lock (Maarten)
> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>
> - Use to_gt() helper for GGTT accesses (Michal Wi.)
> - Selftest improvements (Matt B., Thomas, Ram)
> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>
> The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc:
>
>   Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000)
>
> are available in the Git repository at:
>
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17
>
> for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7:
>
>   drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530)
>
> ----------------------------------------------------------------
> UAPI Changes:
>
> - Weak parallel submission support for execlists
>
>   Minimal implementation of the parallel submission support for
>   execlists backend that was previously only implemented for GuC.
>   Support one sibling non-virtual engine.
>
> Core Changes:
>
> - Two backmerges of drm/drm-next for header file renames/changes and
>   i915_regs reorganization
>
> Driver Changes:
>
> - Add new DG2 subplatform: DG2-G12 (Matt R)
> - Add new DG2 workarounds (Matt R, Ram, Bruce)
> - Handle pre-programmed WOPCM registers for DG2+ (Daniele)
> - Update guc shim control programming on XeHP SDV+ (Daniele)
> - Add RPL-S C0/D0 stepping information (Anusha)
> - Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)
>
> - Fix KMD and GuC race on accessing PMU busyness (Umesh)
> - Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
> - Report error on invalid reset notification from GuC (John)
> - Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
> - Fixes to parallel submission implementation (Matt B.)
> - Improve GuC loading status check/error reports (John)
> - Tweak TTM LRU priority hint selection (Matt A.)
> - Align the plane_vma to min_page_size of stolen mem (Ram)
>
> - Introduce vma resources and implement async unbinding (Thomas)
> - Use struct vma_resource instead of struct vma_snapshot (Thomas)
> - Return some TTM accel move errors instead of trying memcpy move (Thomas)
> - Fix a race between vma / object destruction and unbinding (Thomas)
> - Remove short-term pins from execbuf (Maarten)
> - Update to GuC version 69.0.3 (John, Michal Wa.)
> - Improvements to GT reset paths in GuC backend (Matt B.)
> - Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
> - Use trylock instead of blocking lock when freeing GEM objects (Maarten)
> - Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
> - Fixes to object unmapping and purging (Matt A)
> - Check for wedged device in GuC backend (John)
> - Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
> - Allow dead vm to unbind vma's without lock (Maarten)
> - s/engine->i915/i915/ for DG2 engine workarounds (Matt R)
>
> - Use to_gt() helper for GGTT accesses (Michal Wi.)
> - Selftest improvements (Matt B., Thomas, Ram)
> - Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)
>
> ----------------------------------------------------------------
> Andi Shyti (2):
>       drm/i915: Remove unused i915->ggtt
>       drm/i915: fix header file inclusion for might_alloc()
>
> Anusha Srivatsa (1):
>       drm/i915/rpl-s: Add stepping info
>
> Bruce Chang (1):
>       drm/i915/dg2: Add Wa_22011100796
>
> Colin Ian King (1):
>       i915: make array flex_regs static const
>
> Dan Carpenter (1):
>       drm/i915: delete shadow "ret" variable
>
> Daniele Ceraolo Spurio (2):
>       drm/i915/wopcm: Handle pre-programmed WOPCM registers
>       drm/i915/guc: Update guc shim control programming on newer platforms
>
> Gustavo A. R. Silva (1):
>       drm/i915/guc: Use struct_size() helper in kmalloc()
>
> Jasmine Newsome (1):
>       drm/i915/gem: Use local pointer ttm for __i915_ttm_move
>
> John Harrison (5):
>       drm/i915/guc: Report error on invalid reset notification
>       drm/i915/guc: Check for wedged before doing stuff
>       drm/i915/guc: Temporarily bump the GuC load timeout
>       drm/i915/guc: Update to GuC version 69.0.3
>       drm/i915/guc: Improve GuC loading status check/error reports
>
> Joonas Lahtinen (1):
>       Merge drm/drm-next into drm-intel-gt-next
>
> Juston Li (1):
>       drm/i915/pxp: Hold RPM wakelock during PXP unbind
>
> Lucas De Marchi (2):
>       drm/i915/guc: Prepare for error propagation
>       drm/i915/guc: Use a single pass to calculate regset
>
> Maarten Lankhorst (8):
>       drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2.
>       drm/i915: Add locking to i915_gem_evict_vm(), v3.
>       drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.
>       drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2.
>       drm/i915: Remove support for unlocked i915_vma unbind
>       drm/i915: Remove short-term pins from execbuf, v6.
>       drm/i915: Lock dpt_obj around set_cache_level, v2.
>       drm/i915: Allow dead vm to unbind vma's without lock.
>
> Matt Roper (4):
>       drm/i915/dg2: Add Wa_18018781329
>       drm/i915/dg2: Add Wa_14015227452
>       drm/i915/dg2: s/engine->i915/i915/ for engine workarounds
>       drm/i915: Introduce G12 subplatform of DG2
>
> Matthew Auld (7):
>       drm/i915: remove writeback hook
>       drm/i915: clean up shrinker_release_pages
>       drm/i915: don't call free_mmap_offset when purging
>       drm/i915/ttm: only fault WILLNEED objects
>       drm/i915/ttm: add unmap_virtual callback
>       drm/i915/ttm: ensure we unmap when purging
>       drm/i915/ttm: tweak priority hint selection
>
> Matthew Brost (11):
>       drm/i915/execlists: Weak parallel submission support for execlists
>       drm/i915: Fix possible uninitialized variable in parallel extension
>       drm/i915: Increment composite fence seqno
>       drm/i915/selftests: Add a cancel request selftest that triggers a reset
>       drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order
>       drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL
>       drm/i915/guc: Add work queue to trigger a GT reset
>       drm/i915/guc: Flush G2H handler during a GT reset
>       drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline
>       drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct
>       drm/i915/selftests: Use less in contexts steal guc id test
>
> Michał Winiarski (5):
>       drm/i915/gt: Use to_gt() helper for GGTT accesses
>       drm/i915: Use to_gt() helper for GGTT accesses
>       drm/i915/gem: Use to_gt() helper for GGTT accesses
>       drm/i915/display: Use to_gt() helper for GGTT accesses
>       drm/i915/selftests: Use to_gt() helper for GGTT accesses
>
> Ramalingam C (3):
>       drm/i915/dg2: Add Wa_22011450934
>       drm/i915: align the plane_vma to min_page_size of stolen mem
>       drm/i915: More gt idling time with guc submission
>
> Thomas Hellström (9):
>       drm/i915: Initial introduction of vma resources
>       drm/i915: Use the vma resource as argument for gtt binding / unbinding
>       drm/i915: Don't pin the object pages during pending vma binds
>       drm/i915: Use vma resources for async unbinding
>       drm/i915: Asynchronous migration selftest
>       drm/i915: Use struct vma_resource instead of struct vma_snapshot
>       drm/i915: Fix vma resource freeing
>       drm/i915: Fix a race between vma / object destruction and unbinding
>       drm/i915/ttm: Return some errors instead of trying memcpy move
>
> Tvrtko Ursulin (1):
>       Merge drm/drm-next into drm-intel-gt-next
>
> Umesh Nerlige Ramappa (2):
>       drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference
>       drm/i915/pmu: Fix KMD and GuC race on accessing busyness
>
>  Documentation/gpu/i915.rst                         |   1 +
>  drivers/gpu/drm/i915/Makefile                      |   2 +-
>  drivers/gpu/drm/i915/display/intel_dpt.c           |  33 +-
>  drivers/gpu/drm/i915/display/intel_fb_pin.c        |   8 +-
>  drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
>  drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
>  drivers/gpu/drm/i915/display/intel_plane_initial.c |   7 +-
>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |  11 +-
>  drivers/gpu/drm/i915/gem/i915_gem_context.h        |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 248 ++++++------
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  36 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  18 +
>  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  51 ++-
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  10 -
>  drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  17 +-
>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  30 +-
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
>  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  15 +-
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  16 +-
>  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  27 +-
>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  39 +-
>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   4 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 192 +++++++++-
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  25 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
>  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  19 +-
>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  37 +-
>  drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 +-
>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  38 ++
>  drivers/gpu/drm/i915/gt/intel_ggtt.c               | 133 ++++---
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   7 +-
>  drivers/gpu/drm/i915/gt/intel_gt.c                 |   7 +-
>  drivers/gpu/drm/i915/gt/intel_gt.h                 |   2 +-
>  drivers/gpu/drm/i915/gt/intel_gtt.c                |   4 +
>  drivers/gpu/drm/i915/gt/intel_gtt.h                |  19 +-
>  drivers/gpu/drm/i915/gt/intel_lrc.c                |  32 ++
>  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  22 +-
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
>  drivers/gpu/drm/i915/gt/intel_reset.c              |   9 +
>  drivers/gpu/drm/i915/gt/intel_workarounds.c        |  39 +-
>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
>  drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  80 ++--
>  drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  23 ++
>  drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  82 ++++
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 126 ++++++-
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  25 ++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 204 +++++++---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 143 +++----
>  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  38 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  37 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  31 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   3 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   7 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 262 +++++++++----
>  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   1 +
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  43 ++-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +-
>  drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   2 +-
>  drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
>  drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
>  drivers/gpu/drm/i915/i915_debugfs.c                |   7 +-
>  drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
>  drivers/gpu/drm/i915/i915_drv.h                    |  32 +-
>  drivers/gpu/drm/i915/i915_gem.c                    |  37 +-
>  drivers/gpu/drm/i915/i915_gem_evict.c              | 101 ++++-
>  drivers/gpu/drm/i915/i915_gem_gtt.c                |  16 +-
>  drivers/gpu/drm/i915/i915_gem_gtt.h                |   4 +
>  drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
>  drivers/gpu/drm/i915/i915_gpu_error.c              |  89 ++---
>  drivers/gpu/drm/i915/i915_module.c                 |   3 +
>  drivers/gpu/drm/i915/i915_pci.c                    |   1 +
>  drivers/gpu/drm/i915/i915_perf.c                   |   8 +-
>  drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
>  drivers/gpu/drm/i915/i915_request.c                |  12 +-
>  drivers/gpu/drm/i915/i915_request.h                |   6 +-
>  drivers/gpu/drm/i915/i915_vgpu.c                   |   2 +-
>  drivers/gpu/drm/i915/i915_vma.c                    | 376 +++++++++++++-----
>  drivers/gpu/drm/i915/i915_vma.h                    |  34 +-
>  drivers/gpu/drm/i915/i915_vma_resource.c           | 418 +++++++++++++++++++++
>  drivers/gpu/drm/i915/i915_vma_resource.h           | 234 ++++++++++++
>  drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 -------
>  drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 ------
>  drivers/gpu/drm/i915/i915_vma_types.h              |  19 +-
>  drivers/gpu/drm/i915/intel_device_info.h           |   4 +-
>  drivers/gpu/drm/i915/intel_step.c                  |  15 +
>  drivers/gpu/drm/i915/intel_wopcm.c                 |  42 ++-
>  drivers/gpu/drm/i915/selftests/i915_gem.c          |   8 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  28 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 209 +++++++----
>  drivers/gpu/drm/i915/selftests/i915_request.c      | 119 +++++-
>  drivers/gpu/drm/i915/selftests/i915_vma.c          |  30 +-
>  drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
>  drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  11 +-
>  drivers/gpu/drm/i915/selftests/mock_gtt.c          |  21 +-
>  drivers/gpu/drm/i915/selftests/mock_gtt.h          |   3 +-
>  101 files changed, 3149 insertions(+), 1359 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c
>  create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h
>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
>  delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2022-02-17 10:26 Joonas Lahtinen
  2022-02-20 23:30 ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2022-02-17 10:26 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Thomas Zimmermann,
	Rodrigo Vivi, intel-gfx

Hi Dave & Daniel,

Here is the first drm-intel-gt-next feature PR towards v5.18.

For DG2 adds subplatform G12, missing workarounds and fixes GuC
loading on ARM64. C0/D0 stepping info added for RPL-S.

For uAPI enables support for simple parallel submission with
execlists which was previously enabled only for GuC.

Further fixes for PMU metrics when GuC is enabled, better error
reporting for GuC loading failures. Fix for PXP unbind splat.
Updates to GuC version 69.0.3 with improvements to GT reset
scenarios.

The rest is mostly refactoring of the memory management code,
as highlights introduction of async unbinding/migration and
removal of short-term pinning in execbuf.

Then a few selftest and coding style fixes.

Regards, Joonas

***

drm-intel-gt-next-2022-02-17:

UAPI Changes:

- Weak parallel submission support for execlists

  Minimal implementation of the parallel submission support for
  execlists backend that was previously only implemented for GuC.
  Support one sibling non-virtual engine.

Core Changes:

- Two backmerges of drm/drm-next for header file renames/changes and
  i915_regs reorganization

Driver Changes:

- Add new DG2 subplatform: DG2-G12 (Matt R)
- Add new DG2 workarounds (Matt R, Ram, Bruce)
- Handle pre-programmed WOPCM registers for DG2+ (Daniele)
- Update guc shim control programming on XeHP SDV+ (Daniele)
- Add RPL-S C0/D0 stepping information (Anusha)
- Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)

- Fix KMD and GuC race on accessing PMU busyness (Umesh)
- Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
- Report error on invalid reset notification from GuC (John)
- Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
- Fixes to parallel submission implementation (Matt B.)
- Improve GuC loading status check/error reports (John)
- Tweak TTM LRU priority hint selection (Matt A.)
- Align the plane_vma to min_page_size of stolen mem (Ram)

- Introduce vma resources and implement async unbinding (Thomas)
- Use struct vma_resource instead of struct vma_snapshot (Thomas)
- Return some TTM accel move errors instead of trying memcpy move (Thomas)
- Fix a race between vma / object destruction and unbinding (Thomas)
- Remove short-term pins from execbuf (Maarten)
- Update to GuC version 69.0.3 (John, Michal Wa.)
- Improvements to GT reset paths in GuC backend (Matt B.)
- Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
- Use trylock instead of blocking lock when freeing GEM objects (Maarten)
- Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
- Fixes to object unmapping and purging (Matt A)
- Check for wedged device in GuC backend (John)
- Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
- Allow dead vm to unbind vma's without lock (Maarten)
- s/engine->i915/i915/ for DG2 engine workarounds (Matt R)

- Use to_gt() helper for GGTT accesses (Michal Wi.)
- Selftest improvements (Matt B., Thomas, Ram)
- Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)

The following changes since commit 53dbee4926d3706ca9e03f3928fa85b5ec3bc0cc:

  Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2022-02-01 19:02:41 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2022-02-17

for you to fetch changes up to 154cfae6158141b18d65abb0db679bb51a8294e7:

  drm/i915/dg2: Add Wa_22011100796 (2022-02-11 17:11:44 +0530)

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

- Weak parallel submission support for execlists

  Minimal implementation of the parallel submission support for
  execlists backend that was previously only implemented for GuC.
  Support one sibling non-virtual engine.

Core Changes:

- Two backmerges of drm/drm-next for header file renames/changes and
  i915_regs reorganization

Driver Changes:

- Add new DG2 subplatform: DG2-G12 (Matt R)
- Add new DG2 workarounds (Matt R, Ram, Bruce)
- Handle pre-programmed WOPCM registers for DG2+ (Daniele)
- Update guc shim control programming on XeHP SDV+ (Daniele)
- Add RPL-S C0/D0 stepping information (Anusha)
- Improve GuC ADS initialization to work on ARM64 on dGFX (Lucas)

- Fix KMD and GuC race on accessing PMU busyness (Umesh)
- Use PM timestamp instead of RING TIMESTAMP for reference in PMU with GuC (Umesh)
- Report error on invalid reset notification from GuC (John)
- Avoid WARN splat by holding RPM wakelock during PXP unbind (Juston)
- Fixes to parallel submission implementation (Matt B.)
- Improve GuC loading status check/error reports (John)
- Tweak TTM LRU priority hint selection (Matt A.)
- Align the plane_vma to min_page_size of stolen mem (Ram)

- Introduce vma resources and implement async unbinding (Thomas)
- Use struct vma_resource instead of struct vma_snapshot (Thomas)
- Return some TTM accel move errors instead of trying memcpy move (Thomas)
- Fix a race between vma / object destruction and unbinding (Thomas)
- Remove short-term pins from execbuf (Maarten)
- Update to GuC version 69.0.3 (John, Michal Wa.)
- Improvements to GT reset paths in GuC backend (Matt B.)
- Use shrinker_release_pages instead of writeback in shmem object hooks (Matt A., Tvrtko)
- Use trylock instead of blocking lock when freeing GEM objects (Maarten)
- Allocate intel_engine_coredump_alloc with ALLOW_FAIL (Matt B.)
- Fixes to object unmapping and purging (Matt A)
- Check for wedged device in GuC backend (John)
- Avoid lockdep splat by locking dpt_obj around set_cache_level (Maarten)
- Allow dead vm to unbind vma's without lock (Maarten)
- s/engine->i915/i915/ for DG2 engine workarounds (Matt R)

- Use to_gt() helper for GGTT accesses (Michal Wi.)
- Selftest improvements (Matt B., Thomas, Ram)
- Coding style and compiler warning fixes (Matt B., Jasmine, Andi, Colin, Gustavo, Dan)

----------------------------------------------------------------
Andi Shyti (2):
      drm/i915: Remove unused i915->ggtt
      drm/i915: fix header file inclusion for might_alloc()

Anusha Srivatsa (1):
      drm/i915/rpl-s: Add stepping info

Bruce Chang (1):
      drm/i915/dg2: Add Wa_22011100796

Colin Ian King (1):
      i915: make array flex_regs static const

Dan Carpenter (1):
      drm/i915: delete shadow "ret" variable

Daniele Ceraolo Spurio (2):
      drm/i915/wopcm: Handle pre-programmed WOPCM registers
      drm/i915/guc: Update guc shim control programming on newer platforms

Gustavo A. R. Silva (1):
      drm/i915/guc: Use struct_size() helper in kmalloc()

Jasmine Newsome (1):
      drm/i915/gem: Use local pointer ttm for __i915_ttm_move

John Harrison (5):
      drm/i915/guc: Report error on invalid reset notification
      drm/i915/guc: Check for wedged before doing stuff
      drm/i915/guc: Temporarily bump the GuC load timeout
      drm/i915/guc: Update to GuC version 69.0.3
      drm/i915/guc: Improve GuC loading status check/error reports

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

Juston Li (1):
      drm/i915/pxp: Hold RPM wakelock during PXP unbind

Lucas De Marchi (2):
      drm/i915/guc: Prepare for error propagation
      drm/i915/guc: Use a single pass to calculate regset

Maarten Lankhorst (8):
      drm/i915: Call i915_gem_evict_vm in vm_fault_gtt to prevent new ENOSPC errors, v2.
      drm/i915: Add locking to i915_gem_evict_vm(), v3.
      drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.
      drm/i915: Add i915_vma_unbind_unlocked, and take obj lock for i915_vma_unbind, v2.
      drm/i915: Remove support for unlocked i915_vma unbind
      drm/i915: Remove short-term pins from execbuf, v6.
      drm/i915: Lock dpt_obj around set_cache_level, v2.
      drm/i915: Allow dead vm to unbind vma's without lock.

Matt Roper (4):
      drm/i915/dg2: Add Wa_18018781329
      drm/i915/dg2: Add Wa_14015227452
      drm/i915/dg2: s/engine->i915/i915/ for engine workarounds
      drm/i915: Introduce G12 subplatform of DG2

Matthew Auld (7):
      drm/i915: remove writeback hook
      drm/i915: clean up shrinker_release_pages
      drm/i915: don't call free_mmap_offset when purging
      drm/i915/ttm: only fault WILLNEED objects
      drm/i915/ttm: add unmap_virtual callback
      drm/i915/ttm: ensure we unmap when purging
      drm/i915/ttm: tweak priority hint selection

Matthew Brost (11):
      drm/i915/execlists: Weak parallel submission support for execlists
      drm/i915: Fix possible uninitialized variable in parallel extension
      drm/i915: Increment composite fence seqno
      drm/i915/selftests: Add a cancel request selftest that triggers a reset
      drm/i915/guc: Remove hacks for reset and schedule disable G2H being received out of order
      drm/i915: Allocate intel_engine_coredump_alloc with ALLOW_FAIL
      drm/i915/guc: Add work queue to trigger a GT reset
      drm/i915/guc: Flush G2H handler during a GT reset
      drm/i915: Lock timeline mutex directly in error path of eb_pin_timeline
      drm/i915/guc: Ensure multi-lrc fini breadcrumb math is correct
      drm/i915/selftests: Use less in contexts steal guc id test

Michał Winiarski (5):
      drm/i915/gt: Use to_gt() helper for GGTT accesses
      drm/i915: Use to_gt() helper for GGTT accesses
      drm/i915/gem: Use to_gt() helper for GGTT accesses
      drm/i915/display: Use to_gt() helper for GGTT accesses
      drm/i915/selftests: Use to_gt() helper for GGTT accesses

Ramalingam C (3):
      drm/i915/dg2: Add Wa_22011450934
      drm/i915: align the plane_vma to min_page_size of stolen mem
      drm/i915: More gt idling time with guc submission

Thomas Hellström (9):
      drm/i915: Initial introduction of vma resources
      drm/i915: Use the vma resource as argument for gtt binding / unbinding
      drm/i915: Don't pin the object pages during pending vma binds
      drm/i915: Use vma resources for async unbinding
      drm/i915: Asynchronous migration selftest
      drm/i915: Use struct vma_resource instead of struct vma_snapshot
      drm/i915: Fix vma resource freeing
      drm/i915: Fix a race between vma / object destruction and unbinding
      drm/i915/ttm: Return some errors instead of trying memcpy move

Tvrtko Ursulin (1):
      Merge drm/drm-next into drm-intel-gt-next

Umesh Nerlige Ramappa (2):
      drm/i915/pmu: Use PM timestamp instead of RING TIMESTAMP for reference
      drm/i915/pmu: Fix KMD and GuC race on accessing busyness

 Documentation/gpu/i915.rst                         |   1 +
 drivers/gpu/drm/i915/Makefile                      |   2 +-
 drivers/gpu/drm/i915/display/intel_dpt.c           |  33 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |   8 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |   2 +-
 drivers/gpu/drm/i915/display/intel_plane_initial.c |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  11 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.h        |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 248 ++++++------
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  36 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  18 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  51 ++-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  10 -
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  17 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  30 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       |  27 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  39 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   4 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  | 192 +++++++++-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  25 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_object.c   |   2 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  19 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  37 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   4 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   9 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  38 ++
 drivers/gpu/drm/i915/gt/intel_ggtt.c               | 133 ++++---
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   2 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   4 +
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  19 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  32 ++
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  22 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   9 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  39 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  80 ++--
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  23 ++
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h      |  82 ++++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             | 126 ++++++-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  25 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 204 +++++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 143 +++----
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  38 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  37 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |  31 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   7 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 262 +++++++++----
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  43 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   2 +-
 drivers/gpu/drm/i915/gvt/aperture_gm.c             |   2 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c                  |   2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   7 +-
 drivers/gpu/drm/i915/i915_driver.c                 |  10 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  32 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  37 +-
 drivers/gpu/drm/i915/i915_gem_evict.c              | 101 ++++-
 drivers/gpu/drm/i915/i915_gem_gtt.c                |  16 +-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |   4 +
 drivers/gpu/drm/i915/i915_getparam.c               |   2 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  89 ++---
 drivers/gpu/drm/i915/i915_module.c                 |   3 +
 drivers/gpu/drm/i915/i915_pci.c                    |   1 +
 drivers/gpu/drm/i915/i915_perf.c                   |   8 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
 drivers/gpu/drm/i915/i915_request.c                |  12 +-
 drivers/gpu/drm/i915/i915_request.h                |   6 +-
 drivers/gpu/drm/i915/i915_vgpu.c                   |   2 +-
 drivers/gpu/drm/i915/i915_vma.c                    | 376 +++++++++++++-----
 drivers/gpu/drm/i915/i915_vma.h                    |  34 +-
 drivers/gpu/drm/i915/i915_vma_resource.c           | 418 +++++++++++++++++++++
 drivers/gpu/drm/i915/i915_vma_resource.h           | 234 ++++++++++++
 drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 -------
 drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 ------
 drivers/gpu/drm/i915/i915_vma_types.h              |  19 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   4 +-
 drivers/gpu/drm/i915/intel_step.c                  |  15 +
 drivers/gpu/drm/i915/intel_wopcm.c                 |  42 ++-
 drivers/gpu/drm/i915/selftests/i915_gem.c          |   8 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  28 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 209 +++++++----
 drivers/gpu/drm/i915/selftests/i915_request.c      | 119 +++++-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |  30 +-
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  11 +-
 drivers/gpu/drm/i915/selftests/mock_gtt.c          |  21 +-
 drivers/gpu/drm/i915/selftests/mock_gtt.h          |   3 +-
 101 files changed, 3149 insertions(+), 1359 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
 create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.c
 create mode 100644 drivers/gpu/drm/i915/i915_vma_resource.h
 delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
 delete mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-12-23 12:47 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2021-12-23 12:47 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx


Hi Dave, Daniel,

Here goes the final PR towards 5.17.

Effectively two largest logical items in this pull request are bugfixes, mainly
in the GuC submission backend, and continuation of the locking refactoring being
done to make both VMA and backing store handling use dma_resv locking. This is
now using the dma_resv locking in areas like the shrinker and freeing of
the object backing store.

From the smaller items we have a couple of performance optimisation regarding
access to GuC log and speed of firmware loading, sanity checking of memory
regions on driver load, plus option to do a full test via a modparam
(i915.memtest=1), and some prep work for future platforms like DG2 and XeHP SDV.

Regards,

Tvrtko

***

drm-intel-gt-next-2021-12-23:

Driver Changes:

- Added bits of DG2 support around page table handling (Stuart Summers, Matthew Auld)
- Fixed wakeref leak in PMU busyness during reset in GuC mode (Umesh Nerlige Ramappa)
- Fixed debugfs access crash if GuC failed to load (John Harrison)
- Bring back GuC error log to error capture, undoing accidental earlier breakage (Thomas Hellström)
- Fixed memory leak in error capture caused by earlier refactoring (Thomas Hellström)
- Exclude reserved stolen from driver use (Chris Wilson)
- Add memory region sanity checking and optional full test (Chris Wilson)
- Fixed buffer size truncation in TTM shmemfs backend (Robert Beckett)
- Use correct lock and don't overwrite internal data structures when stealing GuC context ids (Matthew Brost)
- Don't hog IRQs when destroying GuC contexts (John Harrison)
- Make GuC to Host communication more robust (Matthew Brost)
- Continuation of locking refactoring around VMA and backing store handling (Maarten Lankhorst)
- Improve performance of reading GuC log from debugfs (John Harrison)
- Log when GuC fails to reset an engine (John Harrison)
- Speed up GuC/HuC firmware loading by requesting RP0 (Vinay Belgaumkar)
- Further work on asynchronous VMA unbinding (Thomas Hellström, Christian König)

- Refactor GuC/HuC firmware handling to prepare for future platforms (John Harrison)
- Prepare for future different GuC/HuC firmware signing key sizes (Daniele Ceraolo Spurio, Michal Wajdeczko)
- Add noreclaim annotations (Matthew Auld)
- Remove racey GEM_BUG_ON between GPU reset and GuC communication handling (Matthew Brost)
- Refactor i915->gt with to_gt(i915) to prepare for future platforms (Michał Winiarski, Andi Shyti)
- Increase GuC log size for CONFIG_DEBUG_GEM (John Harrison)

- Fixed engine busyness in selftests when in GuC mode (Umesh Nerlige Ramappa)
- Make engine parking work with PREEMPT_RT (Sebastian Andrzej Siewior)
- Replace X86_FEATURE_PAT with pat_enabled() (Lucas De Marchi)
- Selftest for stealing of guc ids (Matthew Brost)
The following changes since commit 20cddfcc82e642e4682c48af91f0702fbbd623a0:

  drm/i915/gt: Use hw_engine_masks as reset_domains (2021-12-08 18:27:05 -0500)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-12-23

for you to fetch changes up to 6cb12fbda1c2e2fcb6d3adfe01f18eef6812e278:

  drm/i915: Use trylock instead of blocking lock for __i915_gem_free_objects. (2021-12-23 12:30:27 +0100)

----------------------------------------------------------------
Driver Changes:

- Added bits of DG2 support around page table handling (Stuart Summers, Matthew Auld)
- Fixed wakeref leak in PMU busyness during reset in GuC mode (Umesh Nerlige Ramappa)
- Fixed debugfs access crash if GuC failed to load (John Harrison)
- Bring back GuC error log to error capture, undoing accidental earlier breakage (Thomas Hellström)
- Fixed memory leak in error capture caused by earlier refactoring (Thomas Hellström)
- Exclude reserved stolen from driver use (Chris Wilson)
- Add memory region sanity checking and optional full test (Chris Wilson)
- Fixed buffer size truncation in TTM shmemfs backend (Robert Beckett)
- Use correct lock and don't overwrite internal data structures when stealing GuC context ids (Matthew Brost)
- Don't hog IRQs when destroying GuC contexts (John Harrison)
- Make GuC to Host communication more robust (Matthew Brost)
- Continuation of locking refactoring around VMA and backing store handling (Maarten Lankhorst)
- Improve performance of reading GuC log from debugfs (John Harrison)
- Log when GuC fails to reset an engine (John Harrison)
- Speed up GuC/HuC firmware loading by requesting RP0 (Vinay Belgaumkar)
- Further work on asynchronous VMA unbinding (Thomas Hellström, Christian König)

- Refactor GuC/HuC firmware handling to prepare for future platforms (John Harrison)
- Prepare for future different GuC/HuC firmware signing key sizes (Daniele Ceraolo Spurio, Michal Wajdeczko)
- Add noreclaim annotations (Matthew Auld)
- Remove racey GEM_BUG_ON between GPU reset and GuC communication handling (Matthew Brost)
- Refactor i915->gt with to_gt(i915) to prepare for future platforms (Michał Winiarski, Andi Shyti)
- Increase GuC log size for CONFIG_DEBUG_GEM (John Harrison)

- Fixed engine busyness in selftests when in GuC mode (Umesh Nerlige Ramappa)
- Make engine parking work with PREEMPT_RT (Sebastian Andrzej Siewior)
- Replace X86_FEATURE_PAT with pat_enabled() (Lucas De Marchi)
- Selftest for stealing of guc ids (Matthew Brost)

----------------------------------------------------------------
Andi Shyti (3):
      drm/i915/selftests: Use to_gt() helper
      drm/i915/pxp: Use to_gt() helper
      drm/i915: Rename i915->gt to i915->gt0

Chris Wilson (3):
      drm/i915: Exclude reserved stolen from driver use
      drm/i915: Sanitycheck device iomem on probe
      drm/i915: Test all device memory on probing

Christian König (1):
      drm/i915: remove questionable fence optimization during copy

Daniele Ceraolo Spurio (2):
      drm/i915/uc: correctly track uc_fw init failure
      drm/i915/guc: support bigger RSA keys

John Harrison (6):
      drm/i915/uc: Allow platforms to have GuC but not HuC
      drm/i915/guc: Don't go bang in GuC log if no GuC
      drm/i915/guc: Don't hog IRQs when destroying contexts
      drm/i915/guc: Speed up GuC log dumps
      drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM
      drm/i915/guc: Flag an error if an engine reset fails

Lucas De Marchi (1):
      drm/i915: replace X86_FEATURE_PAT with pat_enabled()

Maarten Lankhorst (11):
      drm/i915: Remove unused bits of i915_vma/active api
      drm/i915: Change shrink ordering to use locking around unbinding.
      drm/i915: Remove pages_mutex and intel_gtt->vma_ops.set/clear_pages members, v3.
      drm/i915: Take object lock in i915_ggtt_pin if ww is not set
      drm/i915: Force ww lock for i915_gem_object_ggtt_pin_ww, v2.
      drm/i915: Ensure gem_contexts selftests work with unbind changes, v2.
      drm/i915: Ensure i915_vma tests do not get -ENOSPC with the locking changes.
      drm/i915: Trylock the object when shrinking
      drm/i915: Require object lock when freeing pages during destruction
      drm/i915: Add ww ctx to i915_gem_object_trylock
      drm/i915: Use trylock instead of blocking lock for __i915_gem_free_objects.

Matthew Auld (4):
      drm/i915/xehpsdv: set min page-size to 64K
      drm/i915/gtt/xehpsdv: move scratch page to system memory
      drm/i915: enforce min page size for scratch
      drm/i915/debugfs: add noreclaim annotations

Matthew Brost (6):
      drm/i915/guc: Use correct context lock when callig clr_context_registered
      drm/i915/guc: Only assign guc_id.id when stealing guc_id
      drm/i915/guc: Remove racey GEM_BUG_ON
      drm/i915/guc: Add extra debug on CT deadlock
      drm/i915/guc: Kick G2H tasklet if no credits
      drm/i915/guc: Selftest for stealing of guc ids

Michal Wajdeczko (1):
      drm/i915/uc: Prepare for different firmware key sizes

Michał Winiarski (7):
      drm/i915: Store backpointer to GT in uncore
      drm/i915: Introduce to_gt() helper
      drm/i915/display: Use to_gt() helper
      drm/i915/gt: Use to_gt() helper
      drm/i915/gem: Use to_gt() helper
      drm/i915/gvt: Use to_gt() helper
      drm/i915: Use to_gt() helper

Robert Beckett (1):
      drm/i915/ttm: fix large buffer population trucation

Sebastian Andrzej Siewior (1):
      drm/i915: Don't disable interrupts and pretend a lock as been acquired in __timeline_mark_lock().

Stuart Summers (1):
      drm/i915: Add has_64k_pages flag

Thomas Hellström (5):
      drm/i915: Fix coredump of perma-pinned vmas
      drm/i915: Don't leak the capture list items
      drm/i915: Avoid using the i915_fence_array when collecting dependencies
      drm/i915: Break out the i915_deps utility
      drm/i915: Require the vm mutex for i915_vma_bind()

Umesh Nerlige Ramappa (2):
      drm/i915/pmu: Wait longer for busyness data to be available from GuC
      drm/i915/pmu: Fix wakeref leak in PMU busyness during reset

Vinay Belgaumkar (1):
      drm/i915/guc: Request RP0 before loading firmware

 drivers/gpu/drm/i915/Makefile                      |   1 +
 drivers/gpu/drm/i915/display/intel_atomic_plane.c  |   4 +-
 drivers/gpu/drm/i915/display/intel_display.c       |  20 +-
 drivers/gpu/drm/i915/display/intel_dpt.c           |   4 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  22 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  54 ++-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  17 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  46 ++-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  11 +-
 drivers/gpu/drm/i915/gem/i915_gem_throttle.c       |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       | 333 ++-------------
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   2 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   4 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  69 ++--
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |   2 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  26 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  16 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  23 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   3 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   1 +
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  40 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               | 353 +---------------
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  11 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.h         |  21 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  27 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   9 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  24 +-
 drivers/gpu/drm/i915/gt/intel_migrate.h            |   9 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  12 -
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   5 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  71 +++-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   2 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   2 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |  12 +-
 drivers/gpu/drm/i915/gt/selftest_context.c         |   2 +-
 drivers/gpu/drm/i915/gt/selftest_engine.c          |   2 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   4 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   4 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   6 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   8 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   2 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |   6 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   2 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |   2 +-
 drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   4 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |   6 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   6 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  12 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  18 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  33 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c |  62 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  85 ++--
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  75 +---
 drivers/gpu/drm/i915/gt/uc/intel_huc.h             |   2 -
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   9 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           | 188 +++++++--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |  18 +-
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          | 175 +++++++-
 .../gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c    |   2 +-
 drivers/gpu/drm/i915/gvt/gvt.c                     |   2 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   2 +-
 drivers/gpu/drm/i915/i915_active.c                 |  28 +-
 drivers/gpu/drm/i915/i915_active.h                 |  17 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  41 +-
 drivers/gpu/drm/i915/i915_debugfs_params.c         |   4 +-
 drivers/gpu/drm/i915/i915_deps.c                   | 237 +++++++++++
 drivers/gpu/drm/i915/i915_deps.h                   |  45 ++
 drivers/gpu/drm/i915/i915_drv.c                    |  31 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  28 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  46 ++-
 drivers/gpu/drm/i915/i915_getparam.c               |  10 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  13 +-
 drivers/gpu/drm/i915/i915_irq.c                    |  56 +--
 drivers/gpu/drm/i915/i915_params.c                 |   3 +
 drivers/gpu/drm/i915/i915_params.h                 |   1 +
 drivers/gpu/drm/i915/i915_pci.c                    |   2 +
 drivers/gpu/drm/i915/i915_perf.c                   |   2 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |  14 +-
 drivers/gpu/drm/i915/i915_query.c                  |   2 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   4 +
 drivers/gpu/drm/i915/i915_request.c                |  23 ++
 drivers/gpu/drm/i915/i915_request.h                |   5 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |  22 +-
 drivers/gpu/drm/i915/i915_vma.c                    | 459 ++++++++++++++++++---
 drivers/gpu/drm/i915/i915_vma.h                    |   5 +-
 drivers/gpu/drm/i915/i915_vma_types.h              |   1 -
 drivers/gpu/drm/i915/intel_device_info.h           |   1 +
 drivers/gpu/drm/i915/intel_gvt.c                   |   2 +-
 drivers/gpu/drm/i915/intel_memory_region.c         | 128 ++++++
 drivers/gpu/drm/i915/intel_uncore.c                |   9 +-
 drivers/gpu/drm/i915/intel_uncore.h                |   3 +-
 drivers/gpu/drm/i915/intel_wopcm.c                 |   2 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           |   4 +-
 drivers/gpu/drm/i915/selftests/i915_active.c       |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem.c          |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   6 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  18 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |   2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |  10 +-
 drivers/gpu/drm/i915/selftests/i915_selftest.c     |   4 +-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |  17 +-
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |   2 +-
 drivers/gpu/drm/i915/selftests/igt_live_test.c     |   4 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |   4 +-
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |   2 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  32 +-
 drivers/gpu/drm/i915/selftests/mock_gtt.c          |  12 +-
 drivers/gpu/drm/i915/selftests/mock_uncore.c       |   2 +-
 125 files changed, 2058 insertions(+), 1371 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_deps.c
 create mode 100644 drivers/gpu/drm/i915/i915_deps.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-12-09 13:14 Tvrtko Ursulin
  0 siblings, 0 replies; 68+ messages in thread
From: Tvrtko Ursulin @ 2021-12-09 13:14 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Tvrtko Ursulin, dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx


Hi Dave, Daniel,

Here goes the first PR towards 5.17.

On the bugfixing front most user visible items are a fix for GPU hangs caused by
certain media and OpenCL workloads applicable from Gen9 (Skylake) onward, a fix
for GPU hangs in Gnome shell on Tigerlake platforms and a fix for runtime power
management handling in the PXP code.

Other than that there is a bunch of bugfixes relating to the GuC backend
(locking, error capture, engine resets, incorrect error handling in the uapi
entry points, selftest timeout increases where required, removing a tracepoint
field).

Continuing with the GuC but on the feature front, it has gained support for
wait boosting and accurate engine busyness statistics bringing it closer to
parity with the existing driver paths.

Among other fixes, most interesting ones are closing the missed async clflush
under memory pressure corner case, making sure MOCS cannot be used to bypass the
last level cache when reading the scratch page and improving the robustness of
error capture under memory pressure.

With regards to new platform support a few DG2 and XeHP SDV workarounds have
arrived, together with some fixes for DG2 buffer migration. Also some
code refactoring happened to prepare for more future platforms.

Work on discrete memory enablement and TTM has continued with good pace, both
by fixing code previously merged and by adding new functionality. Failsafe and
asynchronous migration would be the headline features here, fixing both
possible security issues and also improving eviction performance.

TTM backend has also gained support for cached system memory which improves
performance during shrinking and prepares the code base for using TTM with
integrated GPUs.

Other than these headline features and fixes, there is a bunch of smaller
cleanups and further fixups as usual.

There are also two drm-next backmarges from the rc2 timeframe which Thomas and
Maarten needed for their feature work on async migration and ongoing driver
refactoring.

Regards,

Tvrtko

***

drm-intel-gt-next-2021-12-09:

Core Changes:

- Fix PENDING_ERROR leak in dma_fence_array_signaled() (Thomas Hellström)

Driver Changes:

- Fix runtime PM handling during PXP suspend (Tejas Upadhyay)
- Improve eviction performance on discrete by implementing async TTM moves (Thomas Hellström, Maarten Lankhorst)
- Improve robustness of error capture under memory pressure (Thomas Hellström)
- Fix GuC PMU versus GPU reset handling (Umesh Nerlige Ramappa)
- Use per device iommu check (Tvrtko Ursulin)
- Make error capture work with async migration (Thomas Hellström)
- Revert incorrect implementation of Wa_1508744258 causing hangs (José Roberto de Souza)
- Disable coarse power gating on some DG2 steppings workaround (Matt Roper)
- Add IC cache invalidation workaround on DG2 (Ramalingam C)
- Move two Icelake workarounds to the right place (Raviteja Goud Talla)
- Fix error pointer dereference in i915_gem_do_execbuffer() (Dan Carpenter)
- Fixup a couple of generic and DG2 specific issues in migration code (Matthew Auld)

- Fix kernel-doc warnings in i915_drm_object.c (Randy Dunlap)
- Drop stealing of bits from i915_sw_fence function pointer (Matthew Brost)
- Introduce new macros for i915 PTE (Michael Cheng)
- Prep work for engine reset by reset domain lookup (Tejas Upadhyay)

- Fixup drm-intel-gt-next build failure (Matthew Auld)
- Fix live_engine_busy_stats selftests in GuC mode (Umesh Nerlige Ramappa)
- Remove dma_resv_prune (Maarten Lankhorst)
- Preserve huge pages enablement after driver reload (Matthew Auld)
- Fix a NULL pointer dereference in igt_request_rewind() (selftests) (Zhou Qingyang)
- Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting (José Roberto de Souza)
- Increase timeouts in i915_gem_contexts selftests to handle GuC being slower (Bruce Chang)

drm-intel-gt-next-2021-11-22:

Driver Changes:

- Fix media and OpenCL system hangs on Gen9 due a missing workaround (Cooper)
- Fix build on non-x86 due missing wbinvd_on_all_cpus (Matthew Auld)
- Fix recursive lock in GuC submission (Matthew Brost)
- Revert 'guc_id' from i915_request tracepoint (Joonas)
- Improve accuracy of engine busyness query with GuC submission (Umesh)
- Always flush the scratch page so Bypass-LLC MOCS works correctly (Matthew Auld)
- Stop caching the scratch page (Matthew Auld)
- Make sure to flush even if async flush unexpectedly fails (Matthew Auld)
- Skip flushing when obtaining dmabuf pages on discrete (Matthew Auld)
- Implement waitboosting with GuC submission (Vinay)
- Failsafe migration blits (Thomas)
- Fix per-engine resets with GuC submission (Matthew Brost, Thomas)
- Fix error capture in GuC mode (John)
- Fix gem_madvise for ttm+shmem objects (Thomas)
- Fix illegal addition to shrinker list with the TTM backend (Thomas)
- Skip error capture when wedged on init (Tvrtko)
- fix NULL vs IS_ERR() checking when creating GuC parallel contexts (Dan)
- Drain the ttm delayed workqueue too (Maarten)
- Add initial Xe_HP SDV workarounds (Stuart)
- Add initial DG2 gt/ctx/engine workarounds and programm HW settings (Matt)

- Faster shrinking of cached system memory objects from the TTM backend plus backend prep work (Matthew Auld)
- Introduce refcounted sg-tables (Thomas)
- Stop using obj->cache_dirty on discrete altogether (Matthew Auld)
- Track graphics and media steppings separately in code (José)
- Rework some irq functions to take intel_gt as argument (Paulo)
- Split general MMIO setup from per-GT uncore init (Daniele)
- Prep work work for TTM backend eviction and dma_resv locking (Maarten, Matthew Auld)

- Fix some selftests to work with GuC (Matthew Brost)
- Fix inconsistent IS_ERR and PTR_ERR (Kai)
- Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Wan)
- Remove some dead struct fwd decl from i915_drv.h (Daniel)
- Fixup dma_fence_wait usage (Matthew)
- Remove gen6_ppgtt_unpin_all (Maarten)
- Rework context handling in hugepages selftests (Maarten)

The following changes since commit c18c8891111bb5e014e144716044991112f16833:

  Merge tag 'drm-misc-next-2021-11-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2021-11-23 09:38:55 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-12-09

for you to fetch changes up to 20cddfcc82e642e4682c48af91f0702fbbd623a0:

  drm/i915/gt: Use hw_engine_masks as reset_domains (2021-12-08 18:27:05 -0500)

----------------------------------------------------------------
Core Changes:

- Fix PENDING_ERROR leak in dma_fence_array_signaled() (Thomas Hellström)

Driver Changes:

- Fix runtime PM handling during PXP suspend (Tejas Upadhyay)
- Improve eviction performance on discrete by implementing async TTM moves (Thomas Hellström, Maarten Lankhorst)
- Improve robustness of error capture under memory pressure (Thomas Hellström)
- Fix GuC PMU versus GPU reset handling (Umesh Nerlige Ramappa)
- Use per device iommu check (Tvrtko Ursulin)
- Make error capture work with async migration (Thomas Hellström)
- Revert incorrect implementation of Wa_1508744258 causing hangs (José Roberto de Souza)
- Disable coarse power gating on some DG2 steppings workaround (Matt Roper)
- Add IC cache invalidation workaround on DG2 (Ramalingam C)
- Move two Icelake workarounds to the right place (Raviteja Goud Talla)
- Fix error pointer dereference in i915_gem_do_execbuffer() (Dan Carpenter)
- Fixup a couple of generic and DG2 specific issues in migration code (Matthew Auld)

- Fix kernel-doc warnings in i915_drm_object.c (Randy Dunlap)
- Drop stealing of bits from i915_sw_fence function pointer (Matthew Brost)
- Introduce new macros for i915 PTE (Michael Cheng)
- Prep work for engine reset by reset domain lookup (Tejas Upadhyay)

- Fixup drm-intel-gt-next build failure (Matthew Auld)
- Fix live_engine_busy_stats selftests in GuC mode (Umesh Nerlige Ramappa)
- Remove dma_resv_prune (Maarten Lankhorst)
- Preserve huge pages enablement after driver reload (Matthew Auld)
- Fix a NULL pointer dereference in igt_request_rewind() (selftests) (Zhou Qingyang)
- Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting (José Roberto de Souza)
- Increase timeouts in i915_gem_contexts selftests to handle GuC being slower (Bruce Chang)

----------------------------------------------------------------
Bruce Chang (1):
      drm/i915/selftests: Follow up on increase timeout in i915_gem_contexts selftests

Cooper Chiou (1):
      drm/i915: Enable WaProgramMgsrForCorrectSliceSpecificMmioReads for Gen9

Dan Carpenter (3):
      drm/i915/guc: fix NULL vs IS_ERR() checking
      drm/i915/ttm: Fix error code in i915_ttm_eviction_valuable()
      drm/i915: Fix error pointer dereference in i915_gem_do_execbuffer()

Daniel Vetter (1):
      drm/i915: Remove some dead struct fwd decl from i915_drv.h

Daniele Ceraolo Spurio (1):
      drm/i915: split general MMIO setup from per-GT uncore init

John Harrison (1):
      drm/i915/guc: Refcount context during error capture

Joonas Lahtinen (3):
      Merge drm/drm-next into drm-intel-gt-next
      MAINTAINERS: Add Tvrtko as drm/i915 co-maintainer
      drm/i915: Revert 'guc_id' from i915_request tracepoint

José Roberto de Souza (5):
      drm/i915: Add struct to hold IP version
      drm/i915: Track media IP stepping separated from GT
      drm/i915: Rename GT_STEP to GRAPHICS_STEP
      Revert "drm/i915: Implement Wa_1508744258"
      drm/i915: Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting

Kai Song (1):
      drm/i915/selftests: Fix inconsistent IS_ERR and PTR_ERR

Maarten Lankhorst (9):
      drm/i915: Remove gen6_ppgtt_unpin_all
      drm/i915/selftests: Rework context handling in hugepages selftests
      drm/i915: Create a dummy object for gen6 ppgtt
      drm/i915: Create a full object for mock_ring, v2.
      drm/i915: vma is always backed by an object.
      drm/i915: Remove resv from i915_vma
      drm/i915: Drain the ttm delayed workqueue too
      drm/i915: Add support for moving fence waiting
      drm/i915: Remove dma_resv_prune

Matt Roper (4):
      drm/i915/dg2: Add initial gt/ctx/engine workarounds
      drm/i915/dg2: Program recommended HW settings
      drm/i915: Don't read query SSEU for non-existent slice 0 on old platforms
      drm/i915/dg2: Add Wa_16011777198

Matthew Auld (23):
      drm/i915/dmabuf: fix broken build
      drm/i915/ttm: add tt shmem backend
      drm/i915/gtt: drop unneeded make_unshrinkable
      drm/i915: drop unneeded make_unshrinkable in free_object
      drm/i915: add some kernel-doc for shrink_pin and friends
      drm/i915/ttm: move shrinker management into adjust_lru
      drm/i915/ttm: use cached system pages when evicting lmem
      drm/i915/ttm: enable shmem tt backend
      drm/i915/gtt: flush the scratch page
      drm/i915/gtt: stop caching the scratch page
      drm/i915/clflush: fixup handling of cache_dirty
      drm/i915/clflush: disallow on discrete
      drm/i915: move cpu_write_needs_clflush
      drm/i915: stop setting cache_dirty on discrete
      drm/i915/dmabuf: drop the flush on discrete
      drm/i915: fixup dma_fence_wait usage
      drm/i915: move the pre_pin earlier
      drm/i915/ttm: fixup build failure
      drm/i915/gemfs: don't mark huge_opt as static
      drm/i915/migrate: don't check the scratch page
      drm/i915/migrate: fix offset calculation
      drm/i915/migrate: fix length calculation
      drm/i915/selftests: handle object rounding

Matthew Brost (5):
      drm/i915/selftests: Increase timeout in requests perf selftest
      drm/i915/selftests: Update live.evict to wait on requests / idle GPU after each loop
      drm/i915/guc: Fix recursive lock in GuC submission
      drm/i915/resets: Don't set / test for per-engine reset bits with GuC submission
      drm/i915: Drop stealing of bits from i915_sw_fence function pointer

Michael Cheng (1):
      drm/i915: Introduce new macros for i915 PTE

Paulo Zanoni (1):
      drm/i915: rework some irq functions to take intel_gt as argument

Ramalingam C (1):
      drm/i915/dg2: Add Wa_16013000631

Randy Dunlap (1):
      drm/i915/gem: placate scripts/kernel-doc

Raviteja Goud Talla (1):
      drm/i915/gen11: Moving WAs to icl_gt_workarounds_init()

Stuart Summers (1):
      drm/i915/xehpsdv: Add initial workarounds

Tejas Upadhyay (2):
      drm/i915/gt: Hold RPM wakelock during PXP suspend
      drm/i915/gt: Use hw_engine_masks as reset_domains

Thomas Hellström (16):
      drm/i915/gem: Break out some shmem backend utils
      drm/i915: Introduce refcounted sg-tables
      drm/i915/ttm: Reorganize the ttm move code
      drm/i915/ttm: Failsafe migration blits
      drm/i915/gem: Fix gem_madvise for ttm+shmem objects
      drm/i915/selftests: Use clear_and_wake_up_bit() for the per-engine reset bitlocks
      drm/i915/ttm: Fix illegal addition to shrinker list
      drm/i915/ttm: Move the i915_gem_obj_copy_ttm() function
      drm/i915/ttm: Drop region reference counting
      drm/i915/ttm: Correctly handle waiting for gpu when shrinking
      drm/i915/ttm: Implement asynchronous TTM moves
      drm/i915/ttm: Update i915_gem_obj_copy_ttm() to be asynchronous
      drm/i915: Avoid allocating a page array for the gpu coredump
      drm/i915: Use __GFP_KSWAPD_RECLAIM in the capture code
      dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
      drm/i915: Update error capture code to avoid using the current vma state

Tvrtko Ursulin (5):
      drm/i915: Skip error capture when wedged on init
      Merge drm/drm-next into drm-intel-gt-next
      Revert "drm/i915/dmabuf: fix broken build"
      Merge drm/drm-next into drm-intel-gt-next
      drm/i915: Use per device iommu check

Umesh Nerlige Ramappa (5):
      drm/i915/pmu: Add a name to the execlists stats
      drm/i915/pmu: Connect engine busyness stats from GuC to pmu
      drm/i915/pmu: Avoid with_intel_runtime_pm within spinlock
      drm/i915/pmu: Increase the live_engine_busy_stats sample period
      drm/i915/pmu: Fix synchronization of PMU callback with reset

Vinay Belgaumkar (4):
      drm/i915/guc/slpc: Define and initialize boost frequency
      drm/i915/guc/slpc: Add waitboost functionality for SLPC
      drm/i915/guc/slpc: Update boost sysfs hooks for SLPC
      drm/i915/guc/slpc: Check GuC status before freq boost

Wan Jiabing (1):
      drm/i915: Use ERR_CAST instead of ERR_PTR(PTR_ERR())

Zhou Qingyang (1):
      drm/i915/gem: Fix a NULL pointer dereference in igt_request_rewind()

 MAINTAINERS                                        |   1 +
 drivers/dma-buf/dma-fence-array.c                  |   6 +-
 drivers/gpu/drm/i915/Makefile                      |   3 +-
 drivers/gpu/drm/i915/display/intel_bw.c            |   2 +-
 drivers/gpu/drm/i915/display/intel_display.c       |   4 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
 drivers/gpu/drm/i915/dma_resv_utils.c              |  17 -
 drivers/gpu/drm/i915/dma_resv_utils.h              |  13 -
 drivers/gpu/drm/i915/gem/i915_gem_clflush.c        |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  22 +
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     | 142 +++-
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |  44 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  75 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  40 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  46 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          | 195 +++--
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  97 ++-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            | 765 +++++++++---------
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |  41 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c       | 874 +++++++++++++++++++++
 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h       |  41 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |  12 +-
 drivers/gpu/drm/i915/gem/i915_gemfs.c              |   5 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    | 130 +--
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |   2 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |   4 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |  24 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               | 135 ++--
 drivers/gpu/drm/i915/gt/gen6_ppgtt.h               |   2 -
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  11 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |  16 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  68 +-
 drivers/gpu/drm/i915/gt/intel_engine_stats.h       |  33 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  84 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  37 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |   6 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   9 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   3 +
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   3 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   5 +
 drivers/gpu/drm/i915/gt/intel_migrate.c            |   8 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  15 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  12 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  58 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   2 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  72 ++
 drivers/gpu/drm/i915/gt/intel_rps.h                |   3 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 502 ++++++++++--
 drivers/gpu/drm/i915/gt/mock_engine.c              |  38 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |  35 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  20 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |   1 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  30 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  21 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h         |   5 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  13 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        | 155 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |  13 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 290 +++++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   2 +
 drivers/gpu/drm/i915/gvt/gtt.c                     |  12 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   1 +
 drivers/gpu/drm/i915/i915_drv.c                    |  18 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  83 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   5 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              | 233 ++++--
 drivers/gpu/drm/i915/i915_gpu_error.h              |   4 +-
 drivers/gpu/drm/i915/i915_irq.c                    |  26 +-
 drivers/gpu/drm/i915/i915_pci.c                    |  18 +-
 drivers/gpu/drm/i915/i915_reg.h                    | 156 +++-
 drivers/gpu/drm/i915/i915_request.c                |  69 +-
 drivers/gpu/drm/i915/i915_request.h                |  20 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |  62 +-
 drivers/gpu/drm/i915/i915_scatterlist.h            |  76 +-
 drivers/gpu/drm/i915/i915_sw_fence.c               |  28 +-
 drivers/gpu/drm/i915/i915_sw_fence.h               |  23 +-
 drivers/gpu/drm/i915/i915_sw_fence_work.c          |   2 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |  19 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  98 ++-
 drivers/gpu/drm/i915/i915_vma.h                    |   9 +-
 drivers/gpu/drm/i915/i915_vma_snapshot.c           | 134 ++++
 drivers/gpu/drm/i915/i915_vma_snapshot.h           | 112 +++
 drivers/gpu/drm/i915/i915_vma_types.h              |   1 -
 drivers/gpu/drm/i915/intel_device_info.c           |  33 +-
 drivers/gpu/drm/i915/intel_device_info.h           |  12 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |  26 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |   9 +-
 drivers/gpu/drm/i915/intel_pm.c                    |  39 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |  50 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |   7 +-
 drivers/gpu/drm/i915/intel_step.c                  |  77 +-
 drivers/gpu/drm/i915/intel_step.h                  |   3 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  17 +-
 drivers/gpu/drm/i915/intel_uncore.h                |   2 +
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c            |  37 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h            |  19 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  19 +
 drivers/gpu/drm/i915/selftests/i915_request.c      |  14 +-
 drivers/gpu/drm/i915/selftests/i915_sw_fence.c     |   2 +-
 drivers/gpu/drm/i915/selftests/igt_reset.c         |   2 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |   8 +-
 drivers/gpu/drm/i915/selftests/lib_sw_fence.c      |   8 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   4 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |  19 +-
 114 files changed, 4609 insertions(+), 1397 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/dma_resv_utils.c
 delete mode 100644 drivers/gpu/drm/i915/dma_resv_utils.h
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h
 create mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.c
 create mode 100644 drivers/gpu/drm/i915/i915_vma_snapshot.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-10-21 13:07 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-10-21 13:07 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Sean Paul,
	Maarten Lankhorst, Maxime Ripard, dri-devel, intel-gfx,
	dim-tools

Hi Dave & Daniel,

Here comes the final feature PR for 5.16.

As the biggest thing it adds multi-LRC (parallel) submission
implementation for GuC and a simplified parallel submission uAPI
to go with that (only works with GuC for now). It is has a similar
mission to the bonded submission uAPI, take a look at the kerneldocs
for full detail.

Then there are some improvements to making sure old pages are flushed from
caches before making them available to userspaces. Those extra flushes may
be visible in corner case scenarios if application is frequently importing
new dmabufs on non-LLC hardware. The better approach would anyway be to
recycle a pool of dmabufs than destroy and recreate.

In addition to that, it's only minor changes with mainly developer
impact and those can be seen in shortlog.

Regards, Joonas

PS. There has been request to backmerge drm-next after you merge this
    PR, to bring in dma-resv iterators. I'll do that.

PPS. Will send out the dim patches for the "for-linux-next-gt" branch
     updating to make sure we avoid the future conflicts.

***

drm-intel-gt-next-2021-10-21:

UAPI Changes:

- Expose multi-LRC submission interface

  Similar to the bonded submission interface but simplified.
  Comes with GuC only implementation for now. See kerneldoc
  for more details.

  Userspace changes: https://github.com/intel/media-driver/pull/1252

- Expose logical engine instance to user

  Needed by the multi-LRC submission interface for GuC

  Userspace changes: https://github.com/intel/media-driver/pull/1252

Driver Changes:

- Fix blank screen booting crashes when CONFIG_CC_OPTIMIZE_FOR_SIZE=y (Hugh)
- Add support for multi-LRC submission in the GuC backend (Matt B)
- Add extra cache flushing before making pages userspace visible (Matt A, Thomas)
- Mark internal GPU object pages dirty so they will be flushed properly (Matt A)

- Move remaining debugfs interfaces i915_wedged/i915_forcewake_user into gt (Andi)
- Replace the unconditional clflushes with drm_clflush_virt_range() (Ville)
- Remove IS_ACTIVE macro completely (Lucas)
- Improve kerneldocs for cache_dirty (Matt A)

- Add missing includes (Lucas)
- Selftest improvements (Matt R, Ran, Matt A)

The following changes since commit 1a839e016e4964b5c8384e5d82e5e5ac02a23f52:

  drm/i915: remove IS_ACTIVE (2021-10-07 11:04:05 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-10-21

for you to fetch changes up to ab5d964c001b9efffcbfa4d67a30186b67d79771:

  drm/i915/selftests: mark up hugepages object with start_cpu_write (2021-10-20 16:50:42 +0100)

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

- Expose multi-LRC submission interface

  Similar to the bonded submission interface but simplified.
  Comes with GuC only implementation for now. See kerneldoc
  for more details.

  Userspace changes: https://github.com/intel/media-driver/pull/1252

- Expose logical engine instance to user

  Needed by the multi-LRC submission interface for GuC

  Userspace changes: https://github.com/intel/media-driver/pull/1252

Driver Changes:

- Fix blank screen booting crashes when CONFIG_CC_OPTIMIZE_FOR_SIZE=y (Hugh)
- Add support for multi-LRC submission in the GuC backend (Matt B)
- Add extra cache flushing before making pages userspace visible (Matt A, Thomas)
- Mark internal GPU object pages dirty so they will be flushed properly (Matt A)

- Move remaining debugfs interfaces i915_wedged/i915_forcewake_user into gt (Andi)
- Replace the unconditional clflushes with drm_clflush_virt_range() (Ville)
- Remove IS_ACTIVE macro completely (Lucas)
- Improve kerneldocs for cache_dirty (Matt A)

- Add missing includes (Lucas)
- Selftest improvements (Matt R, Ran, Matt A)

----------------------------------------------------------------
Andi Shyti (1):
      drm/i915/gt: move remaining debugfs interfaces into gt

Hugh Dickins (1):
      drm/i915: fix blank screen booting crashes

Lucas De Marchi (2):
      drm/i915/gt: include tsc.h where used
      drm/i915/gt: add asm/cacheflush.h for use of clflush()

Matt Roper (1):
      drm/i915: Stop using I915_TILING_* in client blit selftest

Matthew Auld (9):
      drm/i915: mark dmabuf objects as ALLOC_USER
      drm/i915: mark userptr objects as ALLOC_USER
      drm/i915: extract bypass-llc check into helper
      drm/i915/dmabuf: add paranoid flush-on-acquire
      drm/i915/userptr: add paranoid flush-on-acquire
      drm/i915/shmem: ensure flush during swap-in on non-LLC
      drm/i915: expand on the kernel-doc for cache_dirty
      drm/i915: mark up internal objects with start_cpu_write
      drm/i915/selftests: mark up hugepages object with start_cpu_write

Matthew Brost (24):
      drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct
      drm/i915/guc: Take GT PM ref when deregistering context
      drm/i915/guc: Take engine PM when a context is pinned with GuC submission
      drm/i915/guc: Don't call switch_to_kernel_context with GuC submission
      drm/i915: Add logical engine mapping
      drm/i915: Expose logical engine instance to user
      drm/i915/guc: Introduce context parent-child relationship
      drm/i915/guc: Add multi-lrc context registration
      drm/i915/guc: Ensure GuC schedule operations do not operate on child contexts
      drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids
      drm/i915/guc: Implement parallel context pin / unpin functions
      drm/i915/guc: Implement multi-lrc submission
      drm/i915/guc: Insert submit fences between requests in parent-child relationship
      drm/i915/guc: Implement multi-lrc reset
      drm/i915/guc: Update debugfs for GuC multi-lrc
      drm/i915/guc: Connect UAPI to GuC multi-lrc interface
      drm/i915/doc: Update parallel submit doc to point to i915_drm.h
      drm/i915/guc: Add basic GuC multi-lrc selftest
      drm/i915/guc: Implement no mid batch preemption for multi-lrc
      drm/i915: Multi-BB execbuf
      drm/i915/guc: Handle errors in multi-lrc requests
      drm/i915: Make request conflict tracking understand parallel submits
      drm/i915: Update I915_GEM_BUSY IOCTL to understand composite fences
      drm/i915: Enable multi-bb execbuf

Ran Jianping (1):
      drm/i915/selftests: remove duplicate include in mock_region.c

Ville Syrjälä (3):
      drm/i915: Replace the unconditional clflush with drm_clflush_virt_range()
      drm/i915: Convert unconditional clflush to drm_clflush_virt_range()
      drm/i915: Catch yet another unconditioal clflush

 Documentation/gpu/rfc/i915_parallel_execbuf.h      |  122 --
 Documentation/gpu/rfc/i915_scheduler.rst           |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_busy.c           |   57 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  227 ++-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |   16 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |    9 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  797 +++++++----
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |    2 +
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   26 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   27 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   29 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |    8 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |    7 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |   29 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   52 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   56 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   73 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   13 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   66 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   13 +
 drivers/gpu/drm/i915/gt/intel_engine_pm.h          |   37 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |    7 +
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |    7 +-
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.c         |   55 +
 drivers/gpu/drm/i915/gt/intel_gt_debugfs.h         |    4 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |   14 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c      |   41 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h      |    4 +
 drivers/gpu/drm/i915/gt/intel_llc.c                |    1 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |    5 +
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |    2 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |    4 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   12 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   29 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   54 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |    2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |   24 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |   34 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 1446 +++++++++++++++++---
 .../gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c    |  179 +++
 drivers/gpu/drm/i915/i915_debugfs.c                |   43 +-
 drivers/gpu/drm/i915/i915_query.c                  |    2 +
 drivers/gpu/drm/i915/i915_request.c                |  143 +-
 drivers/gpu/drm/i915/i915_request.h                |   23 +
 drivers/gpu/drm/i915/i915_vma.c                    |   21 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   13 +-
 drivers/gpu/drm/i915/intel_wakeref.h               |   12 +
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |    1 +
 drivers/gpu/drm/i915/selftests/mock_region.c       |    2 -
 include/uapi/drm/i915_drm.h                        |  139 +-
 52 files changed, 3231 insertions(+), 764 deletions(-)
 delete mode 100644 Documentation/gpu/rfc/i915_parallel_execbuf.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-10-08  9:27 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-10-08  9:27 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Sean Paul,
	Maarten Lankhorst, Maxime Ripard, dri-devel, intel-gfx,
	dim-tools

Hi Dave & Daniel,

Here goes the first PR towards 5.16.

As for the big things, this adds encrypted PXP (Protected Xe Path)
support for Gen12 integrated. Take a look at the "drm/i915/pxp: add
PXP documentation" for further details and the Mesa changes for how
the uAPI will look like.

Then adds DG1 PCI IDs (GuC is enabled by default) still behind
force_probe, but not anymore behind the FAKE_LMEM compile time
protection. There is of course immensive amount of rework and new
code that lead to this.

Suspend timeout is increased by factor of 2.5 to account for GuC
submission added overhead. Ultimately this should lead to simpler
kernel scheduler code that will converge towards drm/sched.

Then there are the many of the other changes that trade previously made
code (micro-)optimizations for code simplicity, so some performance
regressions are expected.

Removes ADL-S force_probe protection. Enables transparent hugepages when
IOMMU is enabled (and then only), to offset the perf hit caused by
IOMMU. That is greater than some of the perf hit from THP itself. Keeps
adding support for Xe HP/Xe HP SDV.

Backmerges drm-next at 5.15-rc1 and merges the tip/locking/wwmutex branch.
Also includes patches for the MEI subsystem that go together with the PXP
changes.

Regards, Joonas

***

drm-intel-gt-next-2021-10-08:

UAPI Changes:

- Add uAPI for using PXP protected objects

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8064

- Add PCI IDs and LMEM discovery/placement uAPI for DG1

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11584

- Disable engine bonding on Gen12+ except TGL, RKL and ADL-S

Cross-subsystem Changes:

- Merges 'tip/locking/wwmutex' branch (core kernel tip)
- "mei: pxp: export pavp client to me client bus"

Core Changes:

- Update ttm_move_memcpy for async use (Thomas)

Driver Changes:

- Add PXP (Protected Xe Path) support for Gen12 integrated (Daniele,
  Sean, Anshuman)
  See "drm/i915/pxp: add PXP documentation" for details!
- Enable GuC submission by default on DG1 (Matt B)
- Remove force_probe protection for ADL-S (Raviteja)
- Add base support for XeHP/XeHP SDV (Matt R, Stuart, Lucas)
- Handle DRI_PRIME=1 on Intel igfx + Intel dgfx hybrid graphics setup (Tvrtko)
- Use Transparent Hugepages when IOMMU is enabled (Tvrtko, Chris)
- Implement LMEM backup and restore for suspend / resume (Thomas)
- Report INSTDONE_GEOM values in error state for DG2 (Matt R)
- Add DG2-specific shadow register table (Matt R)
- Update Gen11/Gen12/XeHP shadow register tables (Matt R)
- Maintain backward-compatible nested batch behavior on TGL+ (Matt R)
- Add new LRI reg offsets for DG2 (Akeem)
- Initialize unused MOCS entries to device specific values (Ayaz)
- Track and use the correct UC MOCS index on Gen12 (Ayaz)
- Add separate MOCS table for Gen12 devices other than TGL/RKL (Ayaz)
- Simplify the locking and eliminate some RCU usage (Daniel)
- Add some flushing for the 64K GTT path (Matt A)
- Mark GPU wedging on driver unregister unrecoverable (Janusz)

- Major rework in the GuC codebase, simplify locking and add docs (Matt B)
- Add DG1 GuC/HuC firmwares (Daniele, Matt B)
- Remember to call i915_sw_fence_fini on guc_state.blocked (Matt A)
- Use "gt" forcewake domain name for error messages instead of "blitter" (Matt R)
- Drop now duplicate LMEM uAPI RFC kerneldoc section (Daniel)
- Fix early tracepoints for requests (Matt A)
- Use locked access to ctx->engines in set_priority (Daniel)
- Convert gen6/gen7/gen8 read operations to fwtable (Matt R)
- Drop gen11/gen12 specific mmio write handlers (Matt R)
- Drop gen11 specific mmio read handlers (Matt R)
- Use designated initializers for init/exit table (Kees)
- Fix syncmap memory leak (Matt B)
- Add pretty printing for buddy allocator state debug (Matt A)
- Fix potential error pointer dereference in pinned_context() (Dan)
- Remove IS_ACTIVE macro (Lucas)
- Static code checker fixes (Nathan)
- Clean up disabled warnings (Nathan)
- Increase timeout in i915_gem_contexts selftests 5x for GuC submission (Matt B)
- Ensure wa_init_finish() is called for ctx workaround list (Matt R)
- Initialize L3CC table in mocs init (Sreedhar, Ayaz, Ram)
- Get PM ref before accessing HW register (Vinay)
- Move __i915_gem_free_object to ttm_bo_destroy (Maarten)
- Deduplicate frequency dump on debugfs (Lucas)
- Make wa list per-gt (Venkata)
- Do not define dummy vma in stack (Venkata)
- Take pinning into account in __i915_gem_object_is_lmem (Matt B, Thomas)
- Do not report currently active engine when describing objects (Tvrtko)
- Fix pdfdocs build error by removing nested grid from GuC docs (Akira)
- Remove false warning from the rps worker (Tejas)
- Flush buffer pools on driver remove (Janusz)
- Fix runtime pm handling in i915_gem_shrink (Maarten)
- Rework TTM object initialization slightly (Thomas)
- Use fixed offset for PTEs location (Michal Wa)
- Verify result from CTB (de)register action and improve error messages (Michal Wa)
- Fix bug in user proto-context creation that leaked contexts (Matt B)

- Re-use Gen11 forcewake read functions on Gen12 (Matt R)
- Make shadow tables range-based (Matt R)
- Ditch the i915_gem_ww_ctx loop member (Thomas, Maarten)
- Use NULL instead of 0 where appropriate (Ville)
- Rename pci/debugfs functions to respect file prefix (Jani, Lucas)
- Drop guc_communication_enabled (Daniele)
- Selftest fixes (Thomas, Daniel, Matt A, Maarten)
- Clean up inconsistent indenting (Colin)
- Use direction definition DMA_BIDIRECTIONAL instead of
  PCI_DMA_BIDIRECTIONAL (Cai)
- Add "intel_" as prefix in set_mocs_index() (Ayaz)

The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f:

  Linux 5.15-rc1 (2021-09-12 16:28:37 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-10-08

for you to fetch changes up to 1a839e016e4964b5c8384e5d82e5e5ac02a23f52:

  drm/i915: remove IS_ACTIVE (2021-10-07 11:04:05 -0700)

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

- Add uAPI for using PXP protected objects

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8064

- Add PCI IDs and LMEM discovery/placement uAPI for DG1

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11584

- Disable engine bonding on Gen12+ except TGL, RKL and ADL-S

Cross-subsystem Changes:

- Merges 'tip/locking/wwmutex' branch (core kernel tip)
- "mei: pxp: export pavp client to me client bus"

Core Changes:

- Update ttm_move_memcpy for async use (Thomas)

Driver Changes:

- Enable GuC submission by default on DG1 (Matt B)
- Add PXP (Protected Xe Path) support for Gen12 integrated (Daniele,
  Sean, Anshuman)
  See "drm/i915/pxp: add PXP documentation" for details!
- Remove force_probe protection for ADL-S (Raviteja)
- Add base support for XeHP/XeHP SDV (Matt R, Stuart, Lucas)
- Handle DRI_PRIME=1 on Intel igfx + Intel dgfx hybrid graphics setup (Tvrtko)
- Use Transparent Hugepages when IOMMU is enabled (Tvrtko, Chris)
- Implement LMEM backup and restore for suspend / resume (Thomas)
- Report INSTDONE_GEOM values in error state for DG2 (Matt R)
- Add DG2-specific shadow register table (Matt R)
- Update Gen11/Gen12/XeHP shadow register tables (Matt R)
- Maintain backward-compatible nested batch behavior on TGL+ (Matt R)
- Add new LRI reg offsets for DG2 (Akeem)
- Initialize unused MOCS entries to device specific values (Ayaz)
- Track and use the correct UC MOCS index on Gen12 (Ayaz)
- Add separate MOCS table for Gen12 devices other than TGL/RKL (Ayaz)
- Simplify the locking and eliminate some RCU usage (Daniel)
- Add some flushing for the 64K GTT path (Matt A)
- Mark GPU wedging on driver unregister unrecoverable (Janusz)

- Major rework in the GuC codebase, simplify locking and add docs (Matt B)
- Add DG1 GuC/HuC firmwares (Daniele, Matt B)
- Remember to call i915_sw_fence_fini on guc_state.blocked (Matt A)
- Use "gt" forcewake domain name for error messages instead of "blitter" (Matt R)
- Drop now duplicate LMEM uAPI RFC kerneldoc section (Daniel)
- Fix early tracepoints for requests (Matt A)
- Use locked access to ctx->engines in set_priority (Daniel)
- Convert gen6/gen7/gen8 read operations to fwtable (Matt R)
- Drop gen11/gen12 specific mmio write handlers (Matt R)
- Drop gen11 specific mmio read handlers (Matt R)
- Use designated initializers for init/exit table (Kees)
- Fix syncmap memory leak (Matt B)
- Add pretty printing for buddy allocator state debug (Matt A)
- Fix potential error pointer dereference in pinned_context() (Dan)
- Remove IS_ACTIVE macro (Lucas)
- Static code checker fixes (Nathan)
- Clean up disabled warnings (Nathan)
- Increase timeout in i915_gem_contexts selftests 5x for GuC submission (Matt B)
- Ensure wa_init_finish() is called for ctx workaround list (Matt R)
- Initialize L3CC table in mocs init (Sreedhar, Ayaz, Ram)
- Get PM ref before accessing HW register (Vinay)
- Move __i915_gem_free_object to ttm_bo_destroy (Maarten)
- Deduplicate frequency dump on debugfs (Lucas)
- Make wa list per-gt (Venkata)
- Do not define dummy vma in stack (Venkata)
- Take pinning into account in __i915_gem_object_is_lmem (Matt B, Thomas)
- Do not report currently active engine when describing objects (Tvrtko)
- Fix pdfdocs build error by removing nested grid from GuC docs (Akira)
- Remove false warning from the rps worker (Tejas)
- Flush buffer pools on driver remove (Janusz)
- Fix runtime pm handling in i915_gem_shrink (Maarten)
- Rework TTM object initialization slightly (Thomas)
- Use fixed offset for PTEs location (Michal Wa)
- Verify result from CTB (de)register action and improve error messages (Michal Wa)
- Fix bug in user proto-context creation that leaked contexts (Matt B)

- Re-use Gen11 forcewake read functions on Gen12 (Matt R)
- Make shadow tables range-based (Matt R)
- Ditch the i915_gem_ww_ctx loop member (Thomas, Maarten)
- Use NULL instead of 0 where appropriate (Ville)
- Rename pci/debugfs functions to respect file prefix (Jani, Lucas)
- Drop guc_communication_enabled (Daniele)
- Selftest fixes (Thomas, Daniel, Matt A, Maarten)
- Clean up inconsistent indenting (Colin)
- Use direction definition DMA_BIDIRECTIONAL instead of
  PCI_DMA_BIDIRECTIONAL (Cai)
- Add "intel_" as prefix in set_mocs_index() (Ayaz)

----------------------------------------------------------------
Akeem G Abodunrin (1):
      drm/i915/dg2: Add new LRI reg offsets

Akira Yokosawa (1):
      drm/i915/guc, docs: Fix pdfdocs build error by removing nested grid

Anshuman Gupta (2):
      drm/i915/pxp: Add plane decryption support
      drm/i915/pxp: black pixels on pxp disabled

Ayaz A Siddiqui (6):
      drm/i915/gt: Add support of mocs propagation
      drm/i915/gt: Set CMD_CCTL to UC for Gen12 Onward
      drm/i915/gt: Set BLIT_CCTL reg to un-cached
      drm/i915/gt: Initialize unused MOCS entries with device specific values
      drm/i915/gt: Add separate MOCS table for Gen12 devices other than TGL/RKL
      drm/i915/gt: Add "intel_" as prefix in set_mocs_index()

Cai Huoqing (1):
      drm/i915: Use direction definition DMA_BIDIRECTIONAL instead of PCI_DMA_BIDIRECTIONAL

Colin Ian King (1):
      drm/i915: clean up inconsistent indenting

Dan Carpenter (1):
      drm/i915/gt: Potential error pointer dereference in pinned_context()

Daniel Vetter (14):
      drm/doc/rfc: drop lmem uapi section
      drm/i915: Use locked access to ctx->engines in set_priority
      drm/i915: Actually delete gpu reloc selftests
      drm/i915: Release i915_gem_context from a worker
      drm/i915: Release ctx->syncobj on final put, not on ctx close
      drm/i915: Keep gem ctx->vm alive until the final put
      drm/i915: Drop code to handle set-vm races from execbuf
      drm/i915: Rename i915_gem_context_get_vm_rcu to i915_gem_context_get_eb_vm
      drm/i915: Use i915_gem_context_get_eb_vm in ctx_getparam
      drm/i915: Add i915_gem_context_is_full_ppgtt
      drm/i915: Use i915_gem_context_get_eb_vm in intel_context_set_gem
      drm/i915: Drop __rcu from gem_context->vm
      drm/i915: use xa_lock/unlock for fpriv->vm_xa lookups
      drm/i915: Stop rcu support for i915_address_space

Daniele Ceraolo Spurio (12):
      drm/i915/guc: drop guc_communication_enabled
      drm/i915/guc: put all guc objects in lmem when available
      drm/i915/guc: Add DG1 GuC / HuC firmware defs
      drm/i915/pxp: Define PXP component interface
      drm/i915/pxp: define PXP device flag and kconfig
      drm/i915/pxp: allocate a vcs context for pxp usage
      drm/i915/pxp: set KCR reg init
      drm/i915/pxp: interfaces for using protected objects
      drm/i915/pxp: start the arb session on demand
      drm/i915/pxp: add pxp debugfs
      drm/i915/pxp: add PXP documentation
      drm/i915/pxp: enable PXP for integrated Gen12

Huang, Sean Z (5):
      drm/i915/pxp: Implement funcs to create the TEE channel
      drm/i915/pxp: Create the arbitrary session after boot
      drm/i915/pxp: Implement arb session teardown
      drm/i915/pxp: Implement PXP irq handler
      drm/i915/pxp: Enable PXP power management

Jani Nikula (1):
      drm/i915/pci: rename functions to have i915_pci prefix

Janusz Krzysztofik (2):
      drm/i915: Mark GPU wedging on driver unregister unrecoverable
      drm/i915: Flush buffer pools on driver remove

Joonas Lahtinen (2):
      Merge drm/drm-next into drm-intel-gt-next
      Merge remote-tracking branch 'tip/locking/wwmutex' into drm-intel-gt-next

Kees Cook (1):
      drm/i915: Use designated initializers for init/exit table

Lucas De Marchi (8):
      drm/i915/xehpsdv: factor out function to read RP_STATE_CAP
      drm/i915/dg1: remove __maybe_unused leftover
      drm/i915/xehpsdv: Define MOCS table for XeHP SDV
      drm/i915: rename debugfs_gt files
      drm/i915: rename debugfs_engines files
      drm/i915: rename debugfs_gt_pm files
      drm/i915: deduplicate frequency dump on debugfs
      drm/i915: remove IS_ACTIVE

Maarten Lankhorst (5):
      drm/i915: Add pci ids and uapi for DG1
      drm/i915: Add mmap lock around vma_lookup() in the mman selftest.
      drm/i915: Move __i915_gem_free_object to ttm_bo_destroy
      kernel/locking: Add context to ww_mutex_trylock()
      drm/i915: Fix runtime pm handling in i915_gem_shrink

Matt Roper (21):
      drm/i915: correct name of GT forcewake domain in error messages
      drm/i915: Re-use gen11 forcewake read functions on gen12
      drm/i915: Make shadow tables range-based
      drm/i915/gen11: Update shadowed register table
      drm/i915/gen12: Update shadowed register table
      drm/i915/xehp: Xe_HP shadowed registers are a strict superset of gen12
      drm/i915/xehp: Loop over all gslices for INSTDONE processing
      drm/i915/dg2: Report INSTDONE_GEOM values in error state
      drm/i915/xehpsdv: Read correct RP_STATE_CAP register
      drm/i915/dg2: Maintain backward-compatible nested batch behavior
      drm/i915: Ensure wa_init_finish() is called for ctx workaround list
      drm/i915/dg2: Define MOCS table for DG2
      drm/i915/xehp: Check new fuse bits for SFC availability
      drm/i915: Check SFC fusing before recording/dumping SFC_DONE
      drm/i915/uncore: Convert gen6/gen7 read operations to fwtable
      drm/i915/uncore: Associate shadow table with uncore
      drm/i915/uncore: Replace gen8 write functions with general fwtable
      drm/i915/uncore: Drop gen11/gen12 mmio write handlers
      drm/i915/uncore: Drop gen11 mmio read handlers
      drm/i915/dg2: Add DG2-specific shadow register table
      drm/i915/uncore: fwtable read handlers are now used on all forcewake platforms

Matthew Auld (7):
      drm/i915/buddy: add some pretty printing
      drm/i915/debugfs: hook up ttm_resource_manager_debug
      drm/i915/gtt: add some flushing for the 64K GTT path
      drm/i915/selftests: fixup igt_shrink_thp
      drm/i915/request: fix early tracepoints
      drm/i915/selftests: exercise shmem_writeback with THP
      drm/i915: remember to call i915_sw_fence_fini

Matthew Brost (29):
      drm/i915: Disable bonding on gen12+ platforms
      drm/i915: Fix syncmap memory leak
      drm/i915/selftests: Increase timeout in i915_gem_contexts selftests
      drm/i915/guc: Fix blocked context accounting
      drm/i915/guc: Fix outstanding G2H accounting
      drm/i915/guc: Unwind context requests in reverse order
      drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context
      drm/i915/guc: Process all G2H message at once in work queue
      drm/i915/guc: Workaround reset G2H is received after schedule done G2H
      Revert "drm/i915/gt: Propagate change in error status to children on unhold"
      drm/i915/guc: Kick tasklet after queuing a request
      drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, not registered
      drm/i915/guc: Copy whole golden context, set engine state size of subset
      drm/i915/selftests: Add initial GuC selftest for scrubbing lost G2H
      drm/i915/guc: Take context ref when cancelling request
      drm/i915/guc: Don't touch guc_state.sched_state without a lock
      drm/i915/guc: Reset LRC descriptor if register returns -ENODEV
      drm/i915/guc: Release submit fence from an irq_work
      drm/i915/guc: Move guc_blocked fence to struct guc_state
      drm/i915/guc: Rework and simplify locking
      drm/i915/guc: Proper xarray usage for contexts_lookup
      drm/i915/guc: Drop pin count check trick between sched_disable and re-pin
      drm/i915/guc: Move GuC priority fields in context under guc_active
      drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure
      drm/i915/guc: Drop guc_active move everything into guc_state
      drm/i915/guc: Add GuC kernel doc
      drm/i915/guc: Enable GuC submission by default on DG1
      drm/i915: Take pinning into account in __i915_gem_object_is_lmem
      drm/i915: Fix bug in user proto-context creation that leaked contexts

Michal Wajdeczko (5):
      drm/i915: Use fixed offset for PTEs location
      drm/i915/guc: Verify result from CTB (de)register action
      drm/i915/guc: Print error name on CTB (de)registration failure
      drm/i915/guc: Print error name on CTB send failure
      drm/i915/guc: Move and improve error message for missed CTB reply

Nathan Chancellor (5):
      drm/i915/selftest: Fix use of err in igt_reset_{fail, nop}_engine()
      drm/i915/selftests: Do not use import_obj uninitialized
      drm/i915/selftests: Always initialize err in igt_dmabuf_import_same_driver_lmem()
      drm/i915: Enable -Wsometimes-uninitialized
      drm/i915: Clean up disabled warnings

Sreedhar Telukuntla (1):
      drm/i915/gt: Initialize L3CC table in mocs init

Stuart Summers (1):
      drm/i915/xehpsdv: Add compute DSS type

Tejas Upadhyay (1):
      drm/i915: Remove warning from the rps worker

Thomas Hellström (13):
      drm/i915: Ditch the i915_gem_ww_ctx loop member
      drm/i915/ttm: Reorganize the ttm move code somewhat
      drm/ttm, drm/i915: Update ttm_move_memcpy for async use
      drm/i915/gem: Fix the mman selftest
      drm/i915/gem: Fix a lockdep warning the __i915_gem_is_lmem() function
      drm/i915/ttm: Implement a function to copy the contents of two TTM-based objects
      drm/i915/gem: Implement a function to process all gem objects of a region
      drm/i915/gt: Increase suspend timeout
      drm/i915 Implement LMEM backup and restore for suspend / resume
      drm/i915/gt: Register the migrate contexts with their engines
      drm/i915: Don't back up pinned LMEM context images and rings during suspend
      drm/i915: Reduce the number of objects subject to memcpy recover
      drm/i915/ttm: Rework object initialization slightly

Tvrtko Ursulin (3):
      drm/i915: Use Transparent Hugepages when IOMMU is enabled
      drm/i915/debugfs: Do not report currently active engine when describing objects
      drm/i915: Handle Intel igfx + Intel dgfx hybrid graphics setup

Venkata Sandeep Dhanalakota (2):
      drm/i915: Make wa list per-gt
      drm/i915: Do not define vma on stack

Ville Syrjälä (1):
      drm/i915: s/0/NULL/

Vinay Belgaumkar (1):
      drm/i915: Get PM ref before accessing HW register

Vitaly Lubart (1):
      mei: pxp: export pavp client to me client bus

ravitejax (1):
      drm/i915/adl_s: Remove require_force_probe protection

 Documentation/gpu/i915.rst                         |  10 +
 drivers/gpu/drm/drm_modeset_lock.c                 |   2 +-
 drivers/gpu/drm/i915/Kconfig                       |  11 +
 drivers/gpu/drm/i915/Makefile                      |  28 +-
 drivers/gpu/drm/i915/display/intel_display.c       |  34 +
 drivers/gpu/drm/i915/display/intel_display_types.h |   6 +
 drivers/gpu/drm/i915/display/skl_universal_plane.c |  49 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        | 298 +++----
 drivers/gpu/drm/i915/gem/i915_gem_context.h        |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |  42 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |  75 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  26 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  33 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   4 +
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  44 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  28 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  30 +-
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |  91 ++
 drivers/gpu/drm/i915/gem/i915_gem_pm.h             |   1 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  70 ++
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |  37 +
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |   7 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            | 195 +++--
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |  14 +
 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c         | 206 +++++
 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h         |  26 +
 drivers/gpu/drm/i915/gem/i915_gemfs.c              |  22 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |  41 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  36 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |   7 +-
 .../drm/i915/gem/selftests/i915_gem_execbuffer.c   | 190 -----
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  28 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   5 +-
 drivers/gpu/drm/i915/gt/debugfs_engines.h          |  14 -
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.h            |  14 -
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |   2 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   7 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.h               |   4 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |  20 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |  88 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   6 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  84 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  23 +
 drivers/gpu/drm/i915/gt/intel_engine_pm.h          |   2 +
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  24 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  10 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  23 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |  22 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  22 +-
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   2 -
 .../i915/gt/{debugfs_gt.c => intel_gt_debugfs.c}   |  18 +-
 .../i915/gt/{debugfs_gt.h => intel_gt_debugfs.h}   |  14 +-
 ...ebugfs_engines.c => intel_gt_engines_debugfs.c} |  10 +-
 drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h |  14 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   7 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |  22 +-
 .../gt/{debugfs_gt_pm.c => intel_gt_pm_debugfs.c}  | 153 ++--
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h      |  16 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |  12 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   9 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  11 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  88 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |   2 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               | 176 +++-
 drivers/gpu/drm/i915/gt/intel_mocs.h               |   1 +
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |  13 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   4 +-
 drivers/gpu/drm/i915/gt/intel_ring.c               |   3 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   5 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  29 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   1 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  65 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |  11 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |  10 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 262 ++++--
 drivers/gpu/drm/i915/gt/intel_workarounds.h        |   2 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |   2 +
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   4 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  16 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  10 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   2 +-
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |  10 +-
 .../i915/gt/uc/abi/guc_communication_mmio_abi.h    |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  75 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  26 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  36 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c     |  18 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 916 +++++++++++++--------
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |  14 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.c     |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  13 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c      |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  93 ++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   9 +
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          | 127 +++
 drivers/gpu/drm/i915/gvt/gtt.c                     |  17 +-
 drivers/gpu/drm/i915/gvt/kvmgt.c                   |   4 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   2 +-
 drivers/gpu/drm/i915/i915_buddy.c                  |  45 +
 drivers/gpu/drm/i915/i915_buddy.h                  |   8 +
 drivers/gpu/drm/i915/i915_config.c                 |   2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                | 242 +-----
 drivers/gpu/drm/i915/i915_drv.c                    |   8 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  13 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   2 -
 drivers/gpu/drm/i915/i915_gem_gtt.c                |   4 +-
 drivers/gpu/drm/i915/i915_gem_ww.h                 |  25 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  42 +-
 drivers/gpu/drm/i915/i915_module.c                 |   4 +-
 drivers/gpu/drm/i915/i915_pci.c                    |  10 +-
 drivers/gpu/drm/i915/i915_pci.h                    |  12 +-
 drivers/gpu/drm/i915/i915_query.c                  |   3 -
 drivers/gpu/drm/i915/i915_reg.h                    |  84 +-
 drivers/gpu/drm/i915/i915_request.c                |  25 +-
 drivers/gpu/drm/i915/i915_request.h                |  26 +-
 drivers/gpu/drm/i915/i915_trace.h                  |  14 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  20 +-
 drivers/gpu/drm/i915/i915_utils.h                  |  13 -
 drivers/gpu/drm/i915/intel_device_info.h           |   1 +
 drivers/gpu/drm/i915/intel_memory_region.c         |  12 +
 drivers/gpu/drm/i915/intel_memory_region.h         |   4 +
 drivers/gpu/drm/i915/intel_uncore.c                | 375 ++++-----
 drivers/gpu/drm/i915/intel_uncore.h                |  13 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               | 299 +++++++
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |  64 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c           | 141 ++++
 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h           |  15 +
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c       |  78 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h       |  21 +
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c           | 101 +++
 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h           |  32 +
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c            |  46 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h            |  24 +
 drivers/gpu/drm/i915/pxp/intel_pxp_session.c       | 175 ++++
 drivers/gpu/drm/i915/pxp/intel_pxp_session.h       |  15 +
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c           | 172 ++++
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h           |  17 +
 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h |  36 +
 drivers/gpu/drm/i915/pxp/intel_pxp_types.h         |  83 ++
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   8 +-
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |   1 +
 drivers/gpu/drm/i915/selftests/i915_vma.c          |   4 +-
 .../drm/i915/selftests/intel_scheduler_helpers.c   |  12 +
 .../drm/i915/selftests/intel_scheduler_helpers.h   |   2 +
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |  34 +-
 drivers/gpu/drm/ttm/ttm_bo_util.c                  |  19 +-
 drivers/misc/mei/Kconfig                           |   2 +
 drivers/misc/mei/Makefile                          |   1 +
 drivers/misc/mei/pxp/Kconfig                       |  13 +
 drivers/misc/mei/pxp/Makefile                      |   7 +
 drivers/misc/mei/pxp/mei_pxp.c                     | 229 ++++++
 drivers/misc/mei/pxp/mei_pxp.h                     |  18 +
 drivers/regulator/core.c                           |   2 +-
 include/drm/i915_component.h                       |   1 +
 include/drm/i915_pxp_tee_interface.h               |  42 +
 include/drm/ttm/ttm_bo_driver.h                    |   2 +-
 include/linux/dma-resv.h                           |   2 +-
 include/linux/ww_mutex.h                           |  15 +-
 include/uapi/drm/i915_drm.h                        |  97 +++
 kernel/locking/mutex.c                             |  41 +
 kernel/locking/test-ww_mutex.c                     |  86 +-
 kernel/locking/ww_rt_mutex.c                       |  25 +
 lib/locking-selftest.c                             |   2 +-
 168 files changed, 5515 insertions(+), 1967 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
 delete mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_execbuffer.c
 delete mode 100644 drivers/gpu/drm/i915/gt/debugfs_engines.h
 delete mode 100644 drivers/gpu/drm/i915/gt/debugfs_gt_pm.h
 rename drivers/gpu/drm/i915/gt/{debugfs_gt.c => intel_gt_debugfs.c} (67%)
 rename drivers/gpu/drm/i915/gt/{debugfs_gt.h => intel_gt_debugfs.h} (71%)
 rename drivers/gpu/drm/i915/gt/{debugfs_engines.c => intel_gt_engines_debugfs.c} (70%)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h
 rename drivers/gpu/drm/i915/gt/{debugfs_gt_pm.c => intel_gt_pm_debugfs.c} (83%)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/selftest_guc.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee_interface.h
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_types.h
 create mode 100644 drivers/misc/mei/pxp/Kconfig
 create mode 100644 drivers/misc/mei/pxp/Makefile
 create mode 100644 drivers/misc/mei/pxp/mei_pxp.c
 create mode 100644 drivers/misc/mei/pxp/mei_pxp.h
 create mode 100644 include/drm/i915_pxp_tee_interface.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2021-08-06 10:06 Joonas Lahtinen
@ 2021-08-06 10:10 ` Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-08-06 10:10 UTC (permalink / raw)
  To: Daniel Vetter, Dave Airlie
  Cc: Jani Nikula, Rodrigo Vivi, Sean Paul, Maarten Lankhorst,
	Maxime Ripard, dri-devel, intel-gfx, dim-tools

Quoting Joonas Lahtinen (2021-08-06 13:06:17)
> Hi Dave & Daniel,
> 
> Sorry for the big PR in advance. Had the summer vacations and did not
> notice until tool late how many patches were in already before leaving.
> 
> As requested, there is a lot of refactoring to increase the use of TTM
> allocator and prep for DRM scheduler. Note that at times the patches trade
> simplicity for performance and revert optimizations not seen as critical.
> So some performance regressions are expected.
> 
> As an example is dropping of faster GPU relocation path for older platforms,
> which should be mitigated by updating to the latest UMD versions to regain
> the perf.
> 
> This PR drops various bits of uAPI where userspace has dropped the ball after reviews
> have been completed on both sides (Thanks Jason for doing the due-diligence!). [1]
> Due to the complexity of tracing back who used what, I think we could do better in the
> future to avoid such situations to begin with. See below for my suggestion [2].
> 
> In addition to the refactoring and uAPI cleanup there is preliminay code for
> ADL-P/XeHP and DG2 platforms. Fixes for ADL-S and removal of CNL code.
> A couple of fixes that have been Cc: stable already. Removing unnecessary
> workarounds per stepping and adding missing for Gen12 iGFX.
> 
> I915_MMAP_OFFSET_FIXED is also added to to align with the static/fixed caching
> mode per BO instead of per-mapping mode (for dGFX only). There is GuC firmware
> interface update and backend code major rework that unblock enabling GuC on Gen11
> (not on by default). Then there is the addition of the GuCRC power management
> feature which can be enabled for Gen12+ when submission is enabled.

There is also addition of I915_USERPTR_PROBE with userspace changes in:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12044

Regards, Joonas

> 
> Then there is finally the drm-next backmerge and 3 topic branch merges.
> 
> I think that is mostly all. I tried to summarize much in the tag description so
> it should hopefully not be horribly long...
> 
> Regards, Joonas
> 
> [1] Given that Jason is only human and there is no way to automate this analysis, we
> may have to bring something back as fixes if we find breakage (like with the MMAP IOCTL).
> 
> [2] As we first require to merge the kernel code, should we introduce some further rules
> that the userspace has to land their code before the final kernel version release? If
> that is not followed through, we would neuter the new uAPI with as small patch as possible
> in the final release candidate and then remove it in next release. Thoughts?
> 
> ***
> 
> drm-intel-gt-next-2021-08-06-1:
> 
> UAPI Changes:
> 
> - Add I915_MMAP_OFFSET_FIXED
> 
>   On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
>   type. On devices without local memory, this caching mode is invalid.
> 
>   As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
>   be used, depending on the object placement on creation. WB will be used
>   when the object can only exist in system memory, WC otherwise.
> 
>   Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
> 
> - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
> 
>   Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
>   still to sunset the IOCTL even for integrated and require using mmap_offset.
> 
> - Reject caching/set_domain IOCTLs on discrete
> 
>   Expected to become immutable property of the BO
> 
> - Disallow changing context parameters after first use on Gen12 and earlier
> - Require setting context parameters at creation on platforms after Gen12
> 
>   Rationale (for both): Allow less dynamic changes to the context to simplify
>   the implementation and avoid user shooting theirselves in the foot.
> 
> - Drop I915_CONTEXT_PARAM_RINGSIZE
> 
>   Userspace PR for compute-driver has not been merged
> 
> - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
> 
>   Userspace PR for libdrm / Beignet was never landed
> 
> - Drop CONTEXT_CLONE API
> 
>   Userspace PR for Mesa was never landed
> 
> - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
> 
>   Only existed for symmetry wrt. setparam, never used.
> 
> - Disallow bonding of virtual engines
> 
>   Drop the prep work, no hardware has been released needing it.
> 
> - (Implicit) Disable gpu relocations
> 
>   Media userspace was the last userspace to still use them. They
>   have converted so performance can be regained with an update.
> 
> Core Changes:
> 
> - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
> - Merge topic branch 'topic/revid_steppings' (from Matt R)
> - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
> - Backmerges drm-next (Rodrigo)
> 
> Driver Changes:
> 
> - Initial workarounds for ADL-P (Clint)
> - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
>   Venkata, Akeem, Tvrtko, John, Lucas)
> - Fix ADL-S DMA mask size to 39 bits (Tejas)
> - Remove code for CNL (Lucas)
> - Add ADL-P GuC/HuC firmwares (John)
> - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
> - Fix -EDEADLK handling regression (Ville)
> - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
> - Extend Wa_1406941453 to ADL-S (Jose)
> - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
> - Use fuse info to enable SFC on Gen12 (Venkata)
> - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
> - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
> 
> - Add an intermediate GEM proto-context to delay real context creation (Jason)
> - Implement SINGLE_TIMELINE with a syncobj (Jason)
> - Set the watchdog timeout directly in intel_context_set_gem (Jason)
> - Disallow userspace from creating contexts with too many engines (Jason)
> - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
> - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
> - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
> - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
> - Always let TTM handle object migration (Jason)
> - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
> - Migrate to system at dma-buf attach time (Thomas, Michael R)
> 
> - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
>   (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
> - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
> - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
>   Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
>   John, Tvrtko)
> - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
> - Add pipelined page migration and clearing (Chris, Thomas H)
> - Use TTM for system memory on discrete (Thomas H)
> - Implement object migration for display vs. dma-buf (Thomas H)
> - Perform execbuffer object locking as a separate step (Thomas H)
> - Add support for explicit L3BANK steering (Matt, Daniele)
> - Remove duplicated call to ops->pread (Daniel)
> - Fix pagefault disabling in the first execbuf slowpath (Daniel)
> - Simplify userptr locking (Thomas H)
> - Improvements to the GuC CTB code (Matt B, John)
> - Make GT workaround upper bounds exclusive (Matt R)
> - Check for nomodeset in i915_init() first (Daniel)
> - Delete now unused gpu reloc code (Daniel)
> 
> - Document RFC plans for GuC submission, DRM scheduler and new parallel
>   submit uAPI (Matt B)
> - Reintroduce buddy allocator this time with TTM (Matt A)
> - Support forcing page size with LMEM (Matt A)
> - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
> - Use accelerated move in TTM (Ram)
> - Fix memory leaks from TTM backend (Thomas H)
> - Introduce WW transaction helper (Thomas H)
> - Improve debug Kconfig texts a bit (Daniel)
> - Unify user object creation code (Jason)
> - Use a table for i915_init/exit (Jason)
> - Move slabs to module init/exit (Daniel)
> - Remove now unused i915_globals (Daniel)
> - Extract i915_module.c (Daniel)
> 
> - Consistently use adl-p/adl-s in WA comments (Jose)
> - Finish INTEL_GEN and friends conversion (Lucas)
> - Correct variable/function namings (Lucas)
> - Code checker fixes (Wan, Matt A)
> - Tracepoint improvements (Matt B)
> - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
> - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
>   Rahul, Vinay)
> The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3:
> 
>   Linux 5.14-rc1 (2021-07-11 15:07:40 -0700)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-08-06-1
> 
> for you to fetch changes up to 927dfdd09d8c03ba100ed0c8c3915f8e1d1f5556:
> 
>   drm/i915/dg2: Add SQIDI steering (2021-08-05 08:07:25 -0700)
> 
> ----------------------------------------------------------------
> UAPI Changes:
> 
> - Add I915_MMAP_OFFSET_FIXED
> 
>   On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
>   type. On devices without local memory, this caching mode is invalid.
> 
>   As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
>   be used, depending on the object placement on creation. WB will be used
>   when the object can only exist in system memory, WC otherwise.
> 
>   Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
> 
> - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
> 
>   Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
>   still to sunset the IOCTL even for integrated and require using mmap_offset.
> 
> - Reject caching/set_domain IOCTLs on discrete
> 
>   Expected to become immutable property of the BO
> 
> - Disallow changing context parameters after first use on Gen12 and earlier
> - Require setting context parameters at creation on platforms after Gen12
> 
>   Rationale (for both): Allow less dynamic changes to the context to simplify
>   the implementation and avoid user shooting theirselves in the foot.
> 
> - Drop I915_CONTEXT_PARAM_RINGSIZE
> 
>   Userspace PR for compute-driver has not been merged
> 
> - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
> 
>   Userspace PR for libdrm / Beignet was never landed
> 
> - Drop CONTEXT_CLONE API
> 
>   Userspace PR for Mesa was never landed
> 
> - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
> 
>   Only existed for symmetry wrt. setparam, never used.
> 
> - Disallow bonding of virtual engines
> 
>   Drop the prep work, no hardware has been released needing it.
> 
> - (Implicit) Disable gpu relocations
> 
>   Media userspace was the last userspace to still use them. They
>   have converted so performance can be regained with an update.
> 
> Core Changes:
> 
> - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
> - Merge topic branch 'topic/revid_steppings' (from Matt R)
> - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
> - Backmerges drm-next (Rodrigo)
> 
> Driver Changes:
> 
> - Initial workarounds for ADL-P (Clint)
> - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
>   Venkata, Akeem, Tvrtko, John, Lucas)
> - Fix ADL-S DMA mask size to 39 bits (Tejas)
> - Remove code for CNL (Lucas)
> - Add ADL-P GuC/HuC firmwares (John)
> - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
> - Fix -EDEADLK handling regression (Ville)
> - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
> - Extend Wa_1406941453 to ADL-S (Jose)
> - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
> - Use fuse info to enable SFC on Gen12 (Venkata)
> - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
> - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
> 
> - Add an intermediate GEM proto-context to delay real context creation (Jason)
> - Implement SINGLE_TIMELINE with a syncobj (Jason)
> - Set the watchdog timeout directly in intel_context_set_gem (Jason)
> - Disallow userspace from creating contexts with too many engines (Jason)
> - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
> - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
> - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
> - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
> - Always let TTM handle object migration (Jason)
> - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
> - Migrate to system at dma-buf attach time (Thomas, Michael R)
> 
> - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
>   (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
> - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
> - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
>   Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
>   John, Tvrtko)
> - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
> - Add pipelined page migration and clearing (Chris, Thomas H)
> - Use TTM for system memory on discrete (Thomas H)
> - Implement object migration for display vs. dma-buf (Thomas H)
> - Perform execbuffer object locking as a separate step (Thomas H)
> - Add support for explicit L3BANK steering (Matt, Daniele)
> - Remove duplicated call to ops->pread (Daniel)
> - Fix pagefault disabling in the first execbuf slowpath (Daniel)
> - Simplify userptr locking (Thomas H)
> - Improvements to the GuC CTB code (Matt B, John)
> - Make GT workaround upper bounds exclusive (Matt R)
> - Check for nomodeset in i915_init() first (Daniel)
> - Delete now unused gpu reloc code (Daniel)
> 
> - Document RFC plans for GuC submission, DRM scheduler and new parallel
>   submit uAPI (Matt B)
> - Reintroduce buddy allocator this time with TTM (Matt A)
> - Support forcing page size with LMEM (Matt A)
> - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
> - Use accelerated move in TTM (Ram)
> - Fix memory leaks from TTM backend (Thomas H)
> - Introduce WW transaction helper (Thomas H)
> - Improve debug Kconfig texts a bit (Daniel)
> - Unify user object creation code (Jason)
> - Use a table for i915_init/exit (Jason)
> - Move slabs to module init/exit (Daniel)
> - Remove now unused i915_globals (Daniel)
> - Extract i915_module.c (Daniel)
> 
> - Consistently use adl-p/adl-s in WA comments (Jose)
> - Finish INTEL_GEN and friends conversion (Lucas)
> - Correct variable/function namings (Lucas)
> - Code checker fixes (Wan, Matt A)
> - Tracepoint improvements (Matt B)
> - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
> - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
>   Rahul, Vinay)
> 
> ----------------------------------------------------------------
> Anusha Srivatsa (1):
>       drm/i915/step: s/<platform>_revid_tbl/<platform>_revids
> 
> Chris Wilson (8):
>       drm/i915/selftests: Reorder tasklet_disable vs local_bh_disable
>       drm/i915/gt: Add an insert_entry for gen8_ppgtt
>       drm/i915/gt: Add a routine to iterate over the pagetables of a GTT
>       drm/i915/gt: Export the pinned context constructor and destructor
>       drm/i915/gt: Pipelined page migration
>       drm/i915/gt: Pipelined clear
>       drm/i915/gt: Setup a default migration context on the GT
>       drm/i915/userptr: Probe existence of backing struct pages upon creation
> 
> Clint Taylor (1):
>       drm/i915/adl_p: Add initial ADL_P Workarounds
> 
> Daniel Vetter (17):
>       drm/i915/gem: Remove duplicated call to ops->pread
>       drm/i915/eb: Fix pagefault disabling in the first slowpath
>       drm/i915: Improve debug Kconfig texts a bit
>       drm/i915: Ditch i915 globals shrink infrastructure
>       drm/i915: Check for nomodeset in i915_init() first
>       drm/i915: move i915_active slab to direct module init/exit
>       drm/i915: move i915_buddy slab to direct module init/exit
>       drm/i915: move intel_context slab to direct module init/exit
>       drm/i915: move gem_context slab to direct module init/exit
>       drm/i915: move gem_objects slab to direct module init/exit
>       drm/i915: move request slabs to direct module init/exit
>       drm/i915: move scheduler slabs to direct module init/exit
>       drm/i915: move vma slab to direct module init/exit
>       drm/i915: Remove i915_globals
>       drm/i915: Extract i915_module.c
>       drm/i915: Disable gpu relocations
>       drm/i915: delete gpu reloc code
> 
> Daniele Ceraolo Spurio (3):
>       drm/i915: extract steered reg access to common function
>       drm/i915/guc: Unblock GuC submission on Gen11+
>       drm/i915/xehp: handle new steering options
> 
> Jason Ekstrand (46):
>       drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE
>       drm/i915: Stop storing the ring size in the ring pointer (v3)
>       drm/i915: Drop I915_CONTEXT_PARAM_NO_ZEROMAP
>       drm/i915/gem: Set the watchdog timeout directly in intel_context_set_gem (v2)
>       drm/i915/gem: Return void from context_apply_all
>       drm/i915: Drop the CONTEXT_CLONE API (v2)
>       drm/i915: Implement SINGLE_TIMELINE with a syncobj (v4)
>       drm/i915: Drop getparam support for I915_CONTEXT_PARAM_ENGINES
>       drm/i915/gem: Disallow bonding of virtual engines (v3)
>       drm/i915/gem: Remove engine auto-magic with FENCE_SUBMIT (v2)
>       drm/i915/request: Remove the hook from await_execution
>       drm/i915/gem: Disallow creating contexts with too many engines
>       drm/i915: Stop manually RCU banging in reset_stats_ioctl (v2)
>       drm/i915/gem: Add a separate validate_priority helper
>       drm/i915: Add gem/i915_gem_context.h to the docs
>       drm/i915/gem: Add an intermediate proto_context struct (v5)
>       drm/i915/gem: Rework error handling in default_engines
>       drm/i915/gem: Optionally set SSEU in intel_context_set_gem
>       drm/i915: Add an i915_gem_vm_lookup helper
>       drm/i915/gem: Make an alignment check more sensible
>       drm/i915/gem: Use the proto-context to handle create parameters (v5)
>       drm/i915/gem: Return an error ptr from context_lookup
>       drm/i915/gt: Drop i915_address_space::file (v2)
>       drm/i915/gem: Delay context creation (v3)
>       drm/i915/gem: Don't allow changing the VM on running contexts (v4)
>       drm/i915/gem: Don't allow changing the engine set on running contexts (v3)
>       drm/i915/selftests: Take a VM in kernel_context()
>       i915/gem/selftests: Assign the VM at context creation in igt_shared_ctx_exec
>       drm/i915/gem: Roll all of context creation together
>       drm/i915: Finalize contexts in GEM_CONTEXT_CREATE on version 13+
>       drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser"
>       Revert "drm/i915: Propagate errors on awaiting already signaled fences"
>       drm/i915: Remove allow_alloc from i915_gem_object_get_sg*
>       drm/i915: Drop error handling from dma_fence_work
>       Revert "drm/i915: Skip over MI_NOOP when parsing"
>       drm/i915: Correct the docs for intel_engine_cmd_parser
>       drm/i915: Call i915_globals_exit() after i915_pmu_exit()
>       drm/i915: Call i915_globals_exit() if pci_register_device() fails
>       drm/i915: Use a table for i915_init/exit (v2)
>       drm/i915: Make the kmem slab for i915_buddy_block a global
>       drm/i915/gem: Check object_can_migrate from object_migrate
>       drm/i915/gem: Refactor placement setup for i915_gem_object_create* (v2)
>       drm/i915/gem: Call i915_gem_flush_free_objects() in i915_gem_dumb_create()
>       drm/i915/gem: Unify user object creation (v3)
>       drm/i915/gem/ttm: Only call __i915_gem_object_set_pages if needed
>       drm/i915/gem: Always call obj->ops->migrate unless can_migrate fails
> 
> John Harrison (19):
>       drm/i915/huc: Update TGL and friends to HuC 7.9.3
>       drm/i915/adlp: Add ADL-P GuC/HuC firmware files
>       drm/i915/guc: Module load failure test for CT buffer creation
>       drm/i915/selftests: Allow for larger engine counts
>       drm/i915/xehp: Extra media engines - Part 1 (engine definitions)
>       drm/i915/xehp: Extra media engines - Part 2 (interrupts)
>       drm/i915/xehp: Extra media engines - Part 3 (reset)
>       drm/i915/guc: Make hangcheck work with GuC virtual engines
>       drm/i915/guc: Provide mmio list to be saved/restored on engine reset
>       drm/i915/guc: Don't complain about reset races
>       drm/i915/guc: Enable GuC engine reset
>       drm/i915/guc: Fix for error capture after full GPU reset with GuC
>       drm/i915/guc: Hook GuC scheduling policies up
>       drm/i915/guc: Connect reset modparam updates to GuC policy flags
>       drm/i915/guc: Include scheduling policies in the debugfs state dump
>       drm/i915/guc: Add golden context to GuC ADS
>       drm/i915/selftest: Better error reporting from hangcheck selftest
>       drm/i915/selftest: Fix hangcheck self test for GuC submission
>       drm/i915/selftest: Bump selftest timeouts for hangcheck
> 
> Joonas Lahtinen (1):
>       Merge tag 'topic/i915-ttm-2021-06-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-intel-gt-next
> 
> José Roberto de Souza (4):
>       drm/i915: Settle on "adl-x" in WA comments
>       drm/i915: Implement Wa_1508744258
>       drm/i915/adl_s: Extend Wa_1406941453
>       drm/i915: Extend Wa_1406941453 to adl-p
> 
> Lucas De Marchi (14):
>       drm/i915/gt: finish INTEL_GEN and friends conversion
>       drm/i915: do not abbreviate version in debugfs
>       drm/i915: Add release id version
>       drm/i915: Add XE_HP initial definitions
>       drm/i915/xehpsdv: add initial XeHP SDV definitions
>       drm/i915/gt: fix platform prefix
>       drm/i915/gt: nuke unused legacy engine hw_id
>       drm/i915/gt: rename legacy engine->hw_id to engine->gen6_hw_id
>       drm/i915/gt: nuke gen6_hw_id
>       drm/i915/gt: remove explicit CNL handling from intel_mocs.c
>       drm/i915/gt: remove explicit CNL handling from intel_sseu.c
>       drm/i915/gt: rename CNL references in intel_engine.h
>       drm/i915/gt: remove GRAPHICS_VER == 10
>       drm/i915/xehp: Fix missing sentinel on mcr_ranges_xehp
> 
> Maarten Lankhorst (2):
>       drm/i915: Fix missing docbook chapters for i915 uapi.
>       drm/i915: Add TTM offset argument to mmap.
> 
> Matt Roper (29):
>       drm/i915: Add GT support for multiple types of multicast steering
>       drm/i915: Add support for explicit L3BANK steering
>       drm/i915: Make pre-production detection use direct revid comparison
>       drm/i915/skl: Use revid->stepping tables
>       drm/i915/kbl: Drop pre-production revision from stepping table
>       drm/i915/bxt: Use revid->stepping tables
>       drm/i915/glk: Use revid->stepping tables
>       drm/i915/icl: Use revid->stepping tables
>       drm/i915/jsl_ehl: Use revid->stepping tables
>       drm/i915/rkl: Use revid->stepping tables
>       drm/i915/dg1: Use revid->stepping tables
>       drm/i915/cnl: Drop all workarounds
>       drm/i915/icl: Drop workarounds that only apply to pre-production steppings
>       Merge branch 'topic/revid_steppings' into drm-intel-gt-next
>       drm/i915: Fix application of WaInPlaceDecompressionHang
>       drm/i915/icl: Drop a couple unnecessary workarounds
>       drm/i915: Program DFR enable/disable as a GT workaround
>       drm/i915: Make GT workaround upper bounds exclusive
>       drm/i915/dg2: add DG2 platform info
>       Merge branch 'topic/xehp-dg2-definitions-2021-07-21' into drm-intel-gt-next
>       drm/i915/xehp: Define multicast register ranges
>       drm/i915/xehp: Xe_HP forcewake support
>       drm/i915/xehpsdv: Correct parameters for IS_XEHPSDV_GT_STEP()
>       drm/i915/dg2: Add forcewake table
>       drm/i915/xehpsdv: Add maximum sseu limits
>       drm/i915/dg2: DG2 uses the same sseu limits as XeHP SDV
>       drm/i915/xehpsdv: Define steering tables
>       drm/i915/dg2: Update steering tables
>       drm/i915/dg2: Add SQIDI steering
> 
> Matthew Auld (25):
>       drm/i915/ttm: add ttm_buddy_man
>       drm/i915/ttm: add i915_sg_from_buddy_resource
>       drm/i915/ttm: pass along the I915_BO_ALLOC_CONTIGUOUS
>       drm/i915/ttm: remove node usage in our naming
>       drm/i915/ttm: switch over to ttm_buddy_man
>       drm/i915/ttm: restore min_page_size behaviour
>       drm/i915/ttm: remove unused function
>       drm/i915/selftests: add back the selftest() hook for the buddy
>       drm/i915/ttm: fix static warning
>       drm/i915/gem: Introduce a selftest for the gem object migrate functionality
>       drm/i915: support forcing the page size with lmem
>       drm/i915/gtt: ignore min_page_size for paging structures
>       drm/i915/selftests: fix smatch warning in igt_check_blocks
>       drm/i915/selftests: fix smatch warning in mock_reserve
>       drm/i915: use consistent CPU mappings for pin_map users
>       drm/i915/uapi: convert drm_i915_gem_caching to kernel doc
>       drm/i915/uapi: convert drm_i915_gem_set_domain to kernel doc
>       drm/i915/gtt: drop the page table optimisation
>       drm/i915/uapi: reject caching ioctls for discrete
>       drm/i915/uapi: convert drm_i915_gem_userptr to kernel doc
>       drm/i915/uapi: reject set_domain for discrete
>       drm/i915: document caching related bits
>       drm/i915/ehl: unconditionally flush the pages on acquire
>       drm/i915/selftests: prefer the create_user helper
>       drm/i915/xehp: Changes to ss/eu definitions
> 
> Matthew Brost (52):
>       drm/i915: Move priolist to new i915_sched_engine object
>       drm/i915: Add i915_sched_engine_is_empty function
>       drm/i915: Reset sched_engine.no_priolist immediately after dequeue
>       drm/i915: Move active tracking to i915_sched_engine
>       drm/i915: Move engine->schedule to i915_sched_engine
>       drm/i915: Add kick_backend function to i915_sched_engine
>       drm/i915: Update i915_scheduler to operate on i915_sched_engine
>       drm/i915: Move submission tasklet to i915_sched_engine
>       drm/doc/rfc: i915 GuC submission / DRM scheduler
>       drm/doc/rfc: i915 new parallel submission uAPI plan
>       drm/i915/guc: Relax CTB response timeout
>       drm/i915/guc: Improve error message for unsolicited CT response
>       drm/i915/guc: Increase size of CTB buffers
>       drm/i915/guc: Add non blocking CTB send function
>       drm/i915/guc: Add stall timer to non blocking CTB send function
>       drm/i915/guc: Optimize CTB writes and reads
>       drm/i915/guc: Add new GuC interface defines and structures
>       drm/i915/guc: Remove GuC stage descriptor, add LRC descriptor
>       drm/i915/guc: Add LRC descriptor context lookup array
>       drm/i915/guc: Implement GuC submission tasklet
>       drm/i915/guc: Add bypass tasklet submission path to GuC
>       drm/i915/guc: Implement GuC context operations for new inteface
>       drm/i915/guc: Insert fence on context when deregistering
>       drm/i915/guc: Defer context unpin until scheduling is disabled
>       drm/i915/guc: Disable engine barriers with GuC during unpin
>       drm/i915/guc: Extend deregistration fence to schedule disable
>       drm/i915: Disable preempt busywait when using GuC scheduling
>       drm/i915/guc: Ensure request ordering via completion fences
>       drm/i915/guc: Disable semaphores when using GuC scheduling
>       drm/i915/guc: Ensure G2H response has space in buffer
>       drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC
>       drm/i915/guc: Update GuC debugfs to support new GuC
>       drm/i915/guc: Add trace point for GuC submit
>       drm/i915: Add intel_context tracing
>       drm/i915/guc: GuC virtual engines
>       drm/i915: Hold reference to intel_context over life of i915_request
>       drm/i915/guc: Disable bonding extension with GuC submission
>       drm/i915/guc: Direct all breadcrumbs for a class to single breadcrumbs
>       drm/i915: Add i915_sched_engine destroy vfunc
>       drm/i915: Move active request tracking to a vfunc
>       drm/i915/guc: Reset implementation for new GuC interface
>       drm/i915: Reset GPU immediately if submission is disabled
>       drm/i915/guc: Add disable interrupts to guc sanitize
>       drm/i915/guc: Suspend/resume implementation for new interface
>       drm/i915/guc: Handle context reset notification
>       drm/i915/guc: Handle engine reset failure notification
>       drm/i915/guc: Enable the timer expired interrupt for GuC
>       drm/i915/guc: Capture error state on context reset
>       drm/i915/guc: Implement banned contexts for GuC submission
>       drm/i915/guc: Support request cancellation
>       drm/i915/selftest: Increase some timeouts in live_requests
>       drm/i915/guc: Implement GuC priority management
> 
> Michal Wajdeczko (3):
>       drm/i915/guc: Introduce unified HXG messages
>       drm/i915/guc: Update firmware to v62.0.0
>       drm/i915/doc: Include GuC ABI documentation
> 
> Prathap Kumar Valsan (1):
>       drm/i915/xehp: New engine context offsets
> 
> Rahul Kumar Singh (2):
>       drm/i915/selftest: Fix workarounds selftest for GuC submission
>       drm/i915/selftest: Fix MOCS selftest for GuC submission
> 
> Ramalingam C (1):
>       drm/i915/ttm: accelerated move implementation
> 
> Rodrigo Vivi (1):
>       Merge drm/drm-next into drm-intel-gt-next
> 
> Stuart Summers (1):
>       drm/i915/xehp: Handle new device context ID format
> 
> Tejas Upadhyay (2):
>       drm/i915/selftest: Extend ctx_timestamp ICL workaround to GEN11
>       drm/i915/adl_s: Fix dma_mask_size to 39 bit
> 
> Thomas Hellström (18):
>       drm/i915: Simplify userptr locking
>       drm/i915/ttm: Fix memory leaks
>       drm/i915/ttm: Calculate the object placement at get_pages time
>       drm/i915: Reference objects on the ww object list
>       drm/i915: Break out dma_resv ww locking utilities to separate files
>       drm/i915: Introduce a ww transaction helper
>       drm/i915/gem: Zap the client blt code
>       drm/i915/gem: Zap the i915_gem_object_blt code
>       drm/i915: Perform execbuffer object locking as a separate step
>       drm/i915/ttm: Fix incorrect assumptions about ttm_bo_validate() semantics
>       drm/i915: Update object placement flags to be mutable
>       drm/i915/ttm: Adjust gem flags and caching settings after a move
>       drm/i915/ttm: Use TTM for system memory
>       drm/i915: Reinstate the mmap ioctl for some platforms
>       drm/i915/gem: Implement object migration
>       drm/i915/display: Migrate objects to LMEM if possible for display
>       drm/i915/gem: Correct the locking and pin pattern for dma-buf (v8)
>       drm/i915/gem: Migrate to system at dma-buf attach time (v7)
> 
> Thomas Zimmermann (2):
>       drm/i915: Use the correct IRQ during resume
>       drm/i915: Drop all references to DRM IRQ midlayer
> 
> Tvrtko Ursulin (3):
>       drm/i915: Fix busy ioctl commentary
>       drm/i915: Document the Virtual Engine uAPI
>       drm/i915/xehp: VDBOX/VEBOX fusing registers are enable-based
> 
> Venkata Sandeep Dhanalakota (1):
>       drm/i915/gen12: Use fuse info to enable SFC
> 
> Ville Syrjälä (1):
>       drm/i915/gt: Fix -EDEADLK handling regression
> 
> Vinay Belgaumkar (14):
>       drm/i915/guc/slpc: Initial definitions for SLPC
>       drm/i915/guc/slpc: Gate Host RPS when SLPC is enabled
>       drm/i915/guc/slpc: Adding SLPC communication interfaces
>       drm/i915/guc/slpc: Allocate, initialize and release SLPC
>       drm/i915/guc/slpc: Enable SLPC and add related H2G events
>       drm/i915/guc/slpc: Remove BUG_ON in guc_submission_disable
>       drm/i915/guc/slpc: Add methods to set min/max frequency
>       drm/i915/guc/slpc: Add get max/min freq hooks
>       drm/i915/guc/slpc: Add debugfs for SLPC info
>       drm/i915/guc/slpc: Enable ARAT timer interrupt
>       drm/i915/guc/slpc: Cache platform frequency limits
>       drm/i915/guc/slpc: Sysfs hooks for SLPC
>       drm/i915/guc/slpc: Add SLPC selftest
>       drm/i915/guc/rc: Setup and enable GuCRC feature
> 
> Wan Jiabing (1):
>       drm/i915: Remove duplicate include of intel_region_lmem.h
> 
>  Documentation/gpu/i915.rst                         |   15 +
>  Documentation/gpu/rfc/i915_parallel_execbuf.h      |  122 +
>  Documentation/gpu/rfc/i915_scheduler.rst           |  148 +
>  Documentation/gpu/rfc/index.rst                    |    4 +
>  drivers/gpu/drm/drm_gem.c                          |    9 -
>  drivers/gpu/drm/i915/Kconfig.debug                 |    6 +
>  drivers/gpu/drm/i915/Makefile                      |   14 +-
>  drivers/gpu/drm/i915/display/intel_display.c       |    5 +-
>  drivers/gpu/drm/i915/display/intel_display_power.c |    2 +-
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    6 +-
>  drivers/gpu/drm/i915/display/intel_psr.c           |    4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_clflush.c        |    4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_client_blt.c     |  355 ---
>  drivers/gpu/drm/i915/gem/i915_gem_client_blt.h     |   21 -
>  drivers/gpu/drm/i915/gem/i915_gem_context.c        | 2920 +++++++++-----------
>  drivers/gpu/drm/i915/gem/i915_gem_context.h        |    6 +
>  drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |  196 +-
>  drivers/gpu/drm/i915/gem/i915_gem_create.c         |  188 +-
>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   58 +-
>  drivers/gpu/drm/i915/gem/i915_gem_domain.c         |   11 +-
>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  699 +----
>  drivers/gpu/drm/i915/gem/i915_gem_internal.c       |    4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  160 +-
>  drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   12 +-
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  107 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |  350 ++-
>  drivers/gpu/drm/i915/gem/i915_gem_object.h         |   69 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |  461 ---
>  drivers/gpu/drm/i915/gem/i915_gem_object_blt.h     |   39 -
>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  255 +-
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   54 +-
>  drivers/gpu/drm/i915/gem/i915_gem_phys.c           |    2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_region.c         |   23 +-
>  drivers/gpu/drm/i915/gem/i915_gem_region.h         |    1 +
>  drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   30 +-
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |    3 +-
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  965 +++++++
>  drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |   49 +
>  drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  117 +-
>  drivers/gpu/drm/i915/gem/i915_gem_wait.c           |   23 +-
>  .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |    4 +-
>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |    8 +-
>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  114 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  127 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |  190 +-
>  .../drm/i915/gem/selftests/i915_gem_execbuffer.c   |    4 +
>  .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |  243 ++
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  164 +-
>  .../drm/i915/gem/selftests/i915_gem_object_blt.c   |  597 ----
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c |    3 +-
>  drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   67 +-
>  drivers/gpu/drm/i915/gem/selftests/mock_context.h  |    4 +-
>  drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   10 +-
>  drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   17 +-
>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   73 +-
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |   44 +-
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs.h        |   16 +-
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h  |    7 +
>  drivers/gpu/drm/i915/gt/intel_context.c            |   88 +-
>  drivers/gpu/drm/i915/gt/intel_context.h            |   56 +-
>  drivers/gpu/drm/i915/gt/intel_context_param.c      |   63 -
>  drivers/gpu/drm/i915/gt/intel_context_param.h      |    6 +-
>  drivers/gpu/drm/i915/gt/intel_context_types.h      |   64 +-
>  drivers/gpu/drm/i915/gt/intel_engine.h             |   87 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  420 +--
>  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   74 +-
>  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h   |    4 +
>  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |    4 +-
>  drivers/gpu/drm/i915/gt/intel_engine_types.h       |   93 +-
>  drivers/gpu/drm/i915/gt/intel_engine_user.c        |    6 +-
>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  604 ++--
>  .../gpu/drm/i915/gt/intel_execlists_submission.h   |   12 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt.c               |    6 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |    2 +-
>  drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    2 +
>  drivers/gpu/drm/i915/gt/intel_gt.c                 |  197 +-
>  drivers/gpu/drm/i915/gt/intel_gt.h                 |   10 +
>  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   10 +-
>  drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   13 +-
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   11 +-
>  drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   21 +-
>  drivers/gpu/drm/i915/gt/intel_gt_requests.h        |    9 +-
>  drivers/gpu/drm/i915/gt/intel_gt_types.h           |   37 +
>  drivers/gpu/drm/i915/gt/intel_gtt.c                |   20 +-
>  drivers/gpu/drm/i915/gt/intel_gtt.h                |   18 +-
>  drivers/gpu/drm/i915/gt/intel_lrc.c                |  117 +-
>  drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    3 +-
>  drivers/gpu/drm/i915/gt/intel_migrate.c            |  688 +++++
>  drivers/gpu/drm/i915/gt/intel_migrate.h            |   65 +
>  drivers/gpu/drm/i915/gt/intel_migrate_types.h      |   15 +
>  drivers/gpu/drm/i915/gt/intel_mocs.c               |    2 +-
>  drivers/gpu/drm/i915/gt/intel_rc6.c                |   49 +-
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c        |    7 +-
>  drivers/gpu/drm/i915/gt/intel_renderstate.h        |    1 +
>  drivers/gpu/drm/i915/gt/intel_reset.c              |   56 +-
>  drivers/gpu/drm/i915/gt/intel_ring.h               |    1 +
>  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   70 +-
>  drivers/gpu/drm/i915/gt/intel_rps.c                |  209 +-
>  drivers/gpu/drm/i915/gt/intel_rps.h                |   10 +
>  drivers/gpu/drm/i915/gt/intel_sseu.c               |  126 +-
>  drivers/gpu/drm/i915/gt/intel_sseu.h               |   10 +-
>  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |    8 +-
>  drivers/gpu/drm/i915/gt/intel_workarounds.c        |  498 ++--
>  drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |    1 +
>  drivers/gpu/drm/i915/gt/mock_engine.c              |   51 +-
>  drivers/gpu/drm/i915/gt/selftest_context.c         |   10 +
>  .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   22 +
>  .../gpu/drm/i915/gt/selftest_engine_heartbeat.h    |    2 +
>  drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |    4 +-
>  drivers/gpu/drm/i915/gt/selftest_execlists.c       |  307 +-
>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  330 ++-
>  drivers/gpu/drm/i915/gt/selftest_lrc.c             |    6 +-
>  drivers/gpu/drm/i915/gt/selftest_migrate.c         |  669 +++++
>  drivers/gpu/drm/i915/gt/selftest_mocs.c            |   52 +-
>  drivers/gpu/drm/i915/gt/selftest_reset.c           |    2 +-
>  drivers/gpu/drm/i915/gt/selftest_slpc.c            |  311 +++
>  drivers/gpu/drm/i915/gt/selftest_timeline.c        |    2 +-
>  drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  162 +-
>  drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  129 +-
>  .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  |  235 ++
>  .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |  127 +-
>  .../i915/gt/uc/abi/guc_communication_mmio_abi.h    |   65 +-
>  drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |  213 ++
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  206 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  119 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  487 +++-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h         |    4 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  703 +++--
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |   36 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c     |   47 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  167 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   29 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |    6 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |   80 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h          |   31 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  626 +++++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   42 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |   29 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 2895 +++++++++++++++++--
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   18 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  126 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   15 +
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   27 +-
>  drivers/gpu/drm/i915/gvt/scheduler.c               |    7 +-
>  drivers/gpu/drm/i915/i915_active.c                 |   37 +-
>  drivers/gpu/drm/i915/i915_active.h                 |    3 +
>  drivers/gpu/drm/i915/i915_buddy.c                  |  421 +++
>  drivers/gpu/drm/i915/i915_buddy.h                  |  135 +
>  drivers/gpu/drm/i915/i915_cmd_parser.c             |  203 +-
>  drivers/gpu/drm/i915/i915_debugfs_params.c         |   32 +
>  drivers/gpu/drm/i915/i915_drv.c                    |    9 +-
>  drivers/gpu/drm/i915/i915_drv.h                    |  228 +-
>  drivers/gpu/drm/i915/i915_gem.c                    |   63 +-
>  drivers/gpu/drm/i915/i915_gem.h                    |   12 -
>  drivers/gpu/drm/i915/i915_gem_evict.c              |    1 +
>  drivers/gpu/drm/i915/i915_gem_ww.c                 |   63 +
>  drivers/gpu/drm/i915/i915_gem_ww.h                 |   50 +
>  drivers/gpu/drm/i915/i915_getparam.c               |    7 +-
>  drivers/gpu/drm/i915/i915_globals.c                |  160 --
>  drivers/gpu/drm/i915/i915_globals.h                |   37 -
>  drivers/gpu/drm/i915/i915_gpu_error.c              |   27 +-
>  drivers/gpu/drm/i915/i915_module.c                 |  113 +
>  drivers/gpu/drm/i915/i915_pci.c                    |  129 +-
>  drivers/gpu/drm/i915/i915_pci.h                    |    8 +
>  drivers/gpu/drm/i915/i915_perf.c                   |   36 +-
>  drivers/gpu/drm/i915/i915_perf.h                   |    2 +-
>  drivers/gpu/drm/i915/i915_pmu.c                    |    6 +-
>  drivers/gpu/drm/i915/i915_pmu.h                    |    4 +-
>  drivers/gpu/drm/i915/i915_reg.h                    |   48 +-
>  drivers/gpu/drm/i915/i915_request.c                |  307 +-
>  drivers/gpu/drm/i915/i915_request.h                |   38 +-
>  drivers/gpu/drm/i915/i915_scatterlist.c            |   80 +
>  drivers/gpu/drm/i915/i915_scatterlist.h            |    5 +
>  drivers/gpu/drm/i915/i915_scheduler.c              |  220 +-
>  drivers/gpu/drm/i915/i915_scheduler.h              |   54 +-
>  drivers/gpu/drm/i915/i915_scheduler_types.h        |  111 +
>  drivers/gpu/drm/i915/i915_sw_fence_work.c          |    5 +-
>  drivers/gpu/drm/i915/i915_sw_fence_work.h          |    2 +-
>  drivers/gpu/drm/i915/i915_sysfs.c                  |   83 +-
>  drivers/gpu/drm/i915/i915_trace.h                  |  201 +-
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  258 ++
>  drivers/gpu/drm/i915/i915_ttm_buddy_manager.h      |   56 +
>  drivers/gpu/drm/i915/i915_vma.c                    |   34 +-
>  drivers/gpu/drm/i915/i915_vma.h                    |    3 +
>  drivers/gpu/drm/i915/intel_device_info.c           |   16 +-
>  drivers/gpu/drm/i915/intel_device_info.h           |   12 +-
>  drivers/gpu/drm/i915/intel_memory_region.c         |   63 +-
>  drivers/gpu/drm/i915/intel_memory_region.h         |   30 +-
>  drivers/gpu/drm/i915/intel_pm.c                    |   22 +-
>  drivers/gpu/drm/i915/intel_region_ttm.c            |  150 +-
>  drivers/gpu/drm/i915/intel_region_ttm.h            |   23 +-
>  drivers/gpu/drm/i915/intel_step.c                  |  134 +-
>  drivers/gpu/drm/i915/intel_step.h                  |    5 +
>  drivers/gpu/drm/i915/intel_uncore.c                |  422 ++-
>  drivers/gpu/drm/i915/intel_uncore.h                |   20 +-
>  drivers/gpu/drm/i915/selftests/i915_buddy.c        |  787 ++++++
>  .../gpu/drm/i915/selftests/i915_live_selftests.h   |    5 +-
>  .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    2 +-
>  .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    2 +-
>  drivers/gpu/drm/i915/selftests/i915_request.c      |    4 +-
>  drivers/gpu/drm/i915/selftests/i915_selftest.c     |    4 +-
>  drivers/gpu/drm/i915/selftests/igt_flush_test.c    |    2 +-
>  drivers/gpu/drm/i915/selftests/igt_live_test.c     |    2 +-
>  drivers/gpu/drm/i915/selftests/igt_mmap.c          |   25 +-
>  drivers/gpu/drm/i915/selftests/igt_mmap.h          |   12 +-
>  .../gpu/drm/i915/selftests/intel_memory_region.c   |  257 +-
>  .../drm/i915/selftests/intel_scheduler_helpers.c   |   88 +
>  .../drm/i915/selftests/intel_scheduler_helpers.h   |   33 +
>  drivers/gpu/drm/i915/selftests/intel_uncore.c      |    2 +
>  drivers/gpu/drm/i915/selftests/mock_gem_device.c   |    3 +-
>  drivers/gpu/drm/i915/selftests/mock_gtt.c          |    1 -
>  drivers/gpu/drm/i915/selftests/mock_region.c       |   29 +-
>  include/drm/drm_vma_manager.h                      |    2 +-
>  include/uapi/drm/i915_drm.h                        |  498 +++-
>  214 files changed, 18965 insertions(+), 8462 deletions(-)
>  create mode 100644 Documentation/gpu/rfc/i915_parallel_execbuf.h
>  create mode 100644 Documentation/gpu/rfc/i915_scheduler.rst
>  delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.c
>  delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.h
>  delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c
>  delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.h
>  create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>  create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.h
>  create mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
>  delete mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
>  delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.c
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.c
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.h
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate_types.h
>  create mode 100644 drivers/gpu/drm/i915/gt/selftest_migrate.c
>  create mode 100644 drivers/gpu/drm/i915/gt/selftest_slpc.c
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
>  create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
>  create mode 100644 drivers/gpu/drm/i915/i915_buddy.c
>  create mode 100644 drivers/gpu/drm/i915/i915_buddy.h
>  create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
>  create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h
>  delete mode 100644 drivers/gpu/drm/i915/i915_globals.c
>  delete mode 100644 drivers/gpu/drm/i915/i915_globals.h
>  create mode 100644 drivers/gpu/drm/i915/i915_module.c
>  create mode 100644 drivers/gpu/drm/i915/i915_pci.h
>  create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c
>  create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h
>  create mode 100644 drivers/gpu/drm/i915/selftests/i915_buddy.c
>  create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
>  create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-08-06 10:06 Joonas Lahtinen
  2021-08-06 10:10 ` Joonas Lahtinen
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2021-08-06 10:06 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Sean Paul,
	Maarten Lankhorst, Maxime Ripard, dri-devel, intel-gfx,
	dim-tools

Hi Dave & Daniel,

Sorry for the big PR in advance. Had the summer vacations and did not
notice until tool late how many patches were in already before leaving.

As requested, there is a lot of refactoring to increase the use of TTM
allocator and prep for DRM scheduler. Note that at times the patches trade
simplicity for performance and revert optimizations not seen as critical.
So some performance regressions are expected.

As an example is dropping of faster GPU relocation path for older platforms,
which should be mitigated by updating to the latest UMD versions to regain
the perf.

This PR drops various bits of uAPI where userspace has dropped the ball after reviews
have been completed on both sides (Thanks Jason for doing the due-diligence!). [1]
Due to the complexity of tracing back who used what, I think we could do better in the
future to avoid such situations to begin with. See below for my suggestion [2].

In addition to the refactoring and uAPI cleanup there is preliminay code for
ADL-P/XeHP and DG2 platforms. Fixes for ADL-S and removal of CNL code.
A couple of fixes that have been Cc: stable already. Removing unnecessary
workarounds per stepping and adding missing for Gen12 iGFX.

I915_MMAP_OFFSET_FIXED is also added to to align with the static/fixed caching
mode per BO instead of per-mapping mode (for dGFX only). There is GuC firmware
interface update and backend code major rework that unblock enabling GuC on Gen11
(not on by default). Then there is the addition of the GuCRC power management
feature which can be enabled for Gen12+ when submission is enabled.

Then there is finally the drm-next backmerge and 3 topic branch merges.

I think that is mostly all. I tried to summarize much in the tag description so
it should hopefully not be horribly long...

Regards, Joonas

[1] Given that Jason is only human and there is no way to automate this analysis, we
may have to bring something back as fixes if we find breakage (like with the MMAP IOCTL).

[2] As we first require to merge the kernel code, should we introduce some further rules
that the userspace has to land their code before the final kernel version release? If
that is not followed through, we would neuter the new uAPI with as small patch as possible
in the final release candidate and then remove it in next release. Thoughts?

***

drm-intel-gt-next-2021-08-06-1:

UAPI Changes:

- Add I915_MMAP_OFFSET_FIXED

  On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
  type. On devices without local memory, this caching mode is invalid.

  As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
  be used, depending on the object placement on creation. WB will be used
  when the object can only exist in system memory, WC otherwise.

  Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888

- Reinstate the mmap ioctl for (already released) integrated Gen12 platforms

  Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
  still to sunset the IOCTL even for integrated and require using mmap_offset.

- Reject caching/set_domain IOCTLs on discrete

  Expected to become immutable property of the BO

- Disallow changing context parameters after first use on Gen12 and earlier
- Require setting context parameters at creation on platforms after Gen12

  Rationale (for both): Allow less dynamic changes to the context to simplify
  the implementation and avoid user shooting theirselves in the foot.

- Drop I915_CONTEXT_PARAM_RINGSIZE

  Userspace PR for compute-driver has not been merged

- Drop I915_CONTEXT_PARAM_NO_ZEROMAP

  Userspace PR for libdrm / Beignet was never landed

- Drop CONTEXT_CLONE API

  Userspace PR for Mesa was never landed

- Drop getparam support for I915_CONTEXT_PARAM_ENGINES

  Only existed for symmetry wrt. setparam, never used.

- Disallow bonding of virtual engines

  Drop the prep work, no hardware has been released needing it.

- (Implicit) Disable gpu relocations

  Media userspace was the last userspace to still use them. They
  have converted so performance can be regained with an update.

Core Changes:

- Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
- Merge topic branch 'topic/revid_steppings' (from Matt R)
- Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
- Backmerges drm-next (Rodrigo)

Driver Changes:

- Initial workarounds for ADL-P (Clint)
- Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
  Venkata, Akeem, Tvrtko, John, Lucas)
- Fix ADL-S DMA mask size to 39 bits (Tejas)
- Remove code for CNL (Lucas)
- Add ADL-P GuC/HuC firmwares (John)
- Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
- Fix -EDEADLK handling regression (Ville)
- Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
- Extend Wa_1406941453 to ADL-S (Jose)
- Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
- Use fuse info to enable SFC on Gen12 (Venkata)
- Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
- Probe existence of backing struct pages upon userptr creation (Chris, Matt A)

- Add an intermediate GEM proto-context to delay real context creation (Jason)
- Implement SINGLE_TIMELINE with a syncobj (Jason)
- Set the watchdog timeout directly in intel_context_set_gem (Jason)
- Disallow userspace from creating contexts with too many engines (Jason)
- Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
- Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
- Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
- Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
- Always let TTM handle object migration (Jason)
- Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
- Migrate to system at dma-buf attach time (Thomas, Michael R)

- MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
  (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
- Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
- Add GuCRC feature to hand over the control of HW RC6 to the GuC on
  Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
  John, Tvrtko)
- Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
- Add pipelined page migration and clearing (Chris, Thomas H)
- Use TTM for system memory on discrete (Thomas H)
- Implement object migration for display vs. dma-buf (Thomas H)
- Perform execbuffer object locking as a separate step (Thomas H)
- Add support for explicit L3BANK steering (Matt, Daniele)
- Remove duplicated call to ops->pread (Daniel)
- Fix pagefault disabling in the first execbuf slowpath (Daniel)
- Simplify userptr locking (Thomas H)
- Improvements to the GuC CTB code (Matt B, John)
- Make GT workaround upper bounds exclusive (Matt R)
- Check for nomodeset in i915_init() first (Daniel)
- Delete now unused gpu reloc code (Daniel)

- Document RFC plans for GuC submission, DRM scheduler and new parallel
  submit uAPI (Matt B)
- Reintroduce buddy allocator this time with TTM (Matt A)
- Support forcing page size with LMEM (Matt A)
- Add i915_sched_engine to abstract a submission queue between backends (Matt B)
- Use accelerated move in TTM (Ram)
- Fix memory leaks from TTM backend (Thomas H)
- Introduce WW transaction helper (Thomas H)
- Improve debug Kconfig texts a bit (Daniel)
- Unify user object creation code (Jason)
- Use a table for i915_init/exit (Jason)
- Move slabs to module init/exit (Daniel)
- Remove now unused i915_globals (Daniel)
- Extract i915_module.c (Daniel)

- Consistently use adl-p/adl-s in WA comments (Jose)
- Finish INTEL_GEN and friends conversion (Lucas)
- Correct variable/function namings (Lucas)
- Code checker fixes (Wan, Matt A)
- Tracepoint improvements (Matt B)
- Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
- Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
  Rahul, Vinay)
The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3:

  Linux 5.14-rc1 (2021-07-11 15:07:40 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-08-06-1

for you to fetch changes up to 927dfdd09d8c03ba100ed0c8c3915f8e1d1f5556:

  drm/i915/dg2: Add SQIDI steering (2021-08-05 08:07:25 -0700)

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

- Add I915_MMAP_OFFSET_FIXED

  On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
  type. On devices without local memory, this caching mode is invalid.

  As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
  be used, depending on the object placement on creation. WB will be used
  when the object can only exist in system memory, WC otherwise.

  Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888

- Reinstate the mmap ioctl for (already released) integrated Gen12 platforms

  Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
  still to sunset the IOCTL even for integrated and require using mmap_offset.

- Reject caching/set_domain IOCTLs on discrete

  Expected to become immutable property of the BO

- Disallow changing context parameters after first use on Gen12 and earlier
- Require setting context parameters at creation on platforms after Gen12

  Rationale (for both): Allow less dynamic changes to the context to simplify
  the implementation and avoid user shooting theirselves in the foot.

- Drop I915_CONTEXT_PARAM_RINGSIZE

  Userspace PR for compute-driver has not been merged

- Drop I915_CONTEXT_PARAM_NO_ZEROMAP

  Userspace PR for libdrm / Beignet was never landed

- Drop CONTEXT_CLONE API

  Userspace PR for Mesa was never landed

- Drop getparam support for I915_CONTEXT_PARAM_ENGINES

  Only existed for symmetry wrt. setparam, never used.

- Disallow bonding of virtual engines

  Drop the prep work, no hardware has been released needing it.

- (Implicit) Disable gpu relocations

  Media userspace was the last userspace to still use them. They
  have converted so performance can be regained with an update.

Core Changes:

- Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
- Merge topic branch 'topic/revid_steppings' (from Matt R)
- Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
- Backmerges drm-next (Rodrigo)

Driver Changes:

- Initial workarounds for ADL-P (Clint)
- Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
  Venkata, Akeem, Tvrtko, John, Lucas)
- Fix ADL-S DMA mask size to 39 bits (Tejas)
- Remove code for CNL (Lucas)
- Add ADL-P GuC/HuC firmwares (John)
- Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
- Fix -EDEADLK handling regression (Ville)
- Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
- Extend Wa_1406941453 to ADL-S (Jose)
- Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
- Use fuse info to enable SFC on Gen12 (Venkata)
- Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
- Probe existence of backing struct pages upon userptr creation (Chris, Matt A)

- Add an intermediate GEM proto-context to delay real context creation (Jason)
- Implement SINGLE_TIMELINE with a syncobj (Jason)
- Set the watchdog timeout directly in intel_context_set_gem (Jason)
- Disallow userspace from creating contexts with too many engines (Jason)
- Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
- Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
- Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
- Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
- Always let TTM handle object migration (Jason)
- Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
- Migrate to system at dma-buf attach time (Thomas, Michael R)

- MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
  (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
- Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
- Add GuCRC feature to hand over the control of HW RC6 to the GuC on
  Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
  John, Tvrtko)
- Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
- Add pipelined page migration and clearing (Chris, Thomas H)
- Use TTM for system memory on discrete (Thomas H)
- Implement object migration for display vs. dma-buf (Thomas H)
- Perform execbuffer object locking as a separate step (Thomas H)
- Add support for explicit L3BANK steering (Matt, Daniele)
- Remove duplicated call to ops->pread (Daniel)
- Fix pagefault disabling in the first execbuf slowpath (Daniel)
- Simplify userptr locking (Thomas H)
- Improvements to the GuC CTB code (Matt B, John)
- Make GT workaround upper bounds exclusive (Matt R)
- Check for nomodeset in i915_init() first (Daniel)
- Delete now unused gpu reloc code (Daniel)

- Document RFC plans for GuC submission, DRM scheduler and new parallel
  submit uAPI (Matt B)
- Reintroduce buddy allocator this time with TTM (Matt A)
- Support forcing page size with LMEM (Matt A)
- Add i915_sched_engine to abstract a submission queue between backends (Matt B)
- Use accelerated move in TTM (Ram)
- Fix memory leaks from TTM backend (Thomas H)
- Introduce WW transaction helper (Thomas H)
- Improve debug Kconfig texts a bit (Daniel)
- Unify user object creation code (Jason)
- Use a table for i915_init/exit (Jason)
- Move slabs to module init/exit (Daniel)
- Remove now unused i915_globals (Daniel)
- Extract i915_module.c (Daniel)

- Consistently use adl-p/adl-s in WA comments (Jose)
- Finish INTEL_GEN and friends conversion (Lucas)
- Correct variable/function namings (Lucas)
- Code checker fixes (Wan, Matt A)
- Tracepoint improvements (Matt B)
- Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
- Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
  Rahul, Vinay)

----------------------------------------------------------------
Anusha Srivatsa (1):
      drm/i915/step: s/<platform>_revid_tbl/<platform>_revids

Chris Wilson (8):
      drm/i915/selftests: Reorder tasklet_disable vs local_bh_disable
      drm/i915/gt: Add an insert_entry for gen8_ppgtt
      drm/i915/gt: Add a routine to iterate over the pagetables of a GTT
      drm/i915/gt: Export the pinned context constructor and destructor
      drm/i915/gt: Pipelined page migration
      drm/i915/gt: Pipelined clear
      drm/i915/gt: Setup a default migration context on the GT
      drm/i915/userptr: Probe existence of backing struct pages upon creation

Clint Taylor (1):
      drm/i915/adl_p: Add initial ADL_P Workarounds

Daniel Vetter (17):
      drm/i915/gem: Remove duplicated call to ops->pread
      drm/i915/eb: Fix pagefault disabling in the first slowpath
      drm/i915: Improve debug Kconfig texts a bit
      drm/i915: Ditch i915 globals shrink infrastructure
      drm/i915: Check for nomodeset in i915_init() first
      drm/i915: move i915_active slab to direct module init/exit
      drm/i915: move i915_buddy slab to direct module init/exit
      drm/i915: move intel_context slab to direct module init/exit
      drm/i915: move gem_context slab to direct module init/exit
      drm/i915: move gem_objects slab to direct module init/exit
      drm/i915: move request slabs to direct module init/exit
      drm/i915: move scheduler slabs to direct module init/exit
      drm/i915: move vma slab to direct module init/exit
      drm/i915: Remove i915_globals
      drm/i915: Extract i915_module.c
      drm/i915: Disable gpu relocations
      drm/i915: delete gpu reloc code

Daniele Ceraolo Spurio (3):
      drm/i915: extract steered reg access to common function
      drm/i915/guc: Unblock GuC submission on Gen11+
      drm/i915/xehp: handle new steering options

Jason Ekstrand (46):
      drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE
      drm/i915: Stop storing the ring size in the ring pointer (v3)
      drm/i915: Drop I915_CONTEXT_PARAM_NO_ZEROMAP
      drm/i915/gem: Set the watchdog timeout directly in intel_context_set_gem (v2)
      drm/i915/gem: Return void from context_apply_all
      drm/i915: Drop the CONTEXT_CLONE API (v2)
      drm/i915: Implement SINGLE_TIMELINE with a syncobj (v4)
      drm/i915: Drop getparam support for I915_CONTEXT_PARAM_ENGINES
      drm/i915/gem: Disallow bonding of virtual engines (v3)
      drm/i915/gem: Remove engine auto-magic with FENCE_SUBMIT (v2)
      drm/i915/request: Remove the hook from await_execution
      drm/i915/gem: Disallow creating contexts with too many engines
      drm/i915: Stop manually RCU banging in reset_stats_ioctl (v2)
      drm/i915/gem: Add a separate validate_priority helper
      drm/i915: Add gem/i915_gem_context.h to the docs
      drm/i915/gem: Add an intermediate proto_context struct (v5)
      drm/i915/gem: Rework error handling in default_engines
      drm/i915/gem: Optionally set SSEU in intel_context_set_gem
      drm/i915: Add an i915_gem_vm_lookup helper
      drm/i915/gem: Make an alignment check more sensible
      drm/i915/gem: Use the proto-context to handle create parameters (v5)
      drm/i915/gem: Return an error ptr from context_lookup
      drm/i915/gt: Drop i915_address_space::file (v2)
      drm/i915/gem: Delay context creation (v3)
      drm/i915/gem: Don't allow changing the VM on running contexts (v4)
      drm/i915/gem: Don't allow changing the engine set on running contexts (v3)
      drm/i915/selftests: Take a VM in kernel_context()
      i915/gem/selftests: Assign the VM at context creation in igt_shared_ctx_exec
      drm/i915/gem: Roll all of context creation together
      drm/i915: Finalize contexts in GEM_CONTEXT_CREATE on version 13+
      drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser"
      Revert "drm/i915: Propagate errors on awaiting already signaled fences"
      drm/i915: Remove allow_alloc from i915_gem_object_get_sg*
      drm/i915: Drop error handling from dma_fence_work
      Revert "drm/i915: Skip over MI_NOOP when parsing"
      drm/i915: Correct the docs for intel_engine_cmd_parser
      drm/i915: Call i915_globals_exit() after i915_pmu_exit()
      drm/i915: Call i915_globals_exit() if pci_register_device() fails
      drm/i915: Use a table for i915_init/exit (v2)
      drm/i915: Make the kmem slab for i915_buddy_block a global
      drm/i915/gem: Check object_can_migrate from object_migrate
      drm/i915/gem: Refactor placement setup for i915_gem_object_create* (v2)
      drm/i915/gem: Call i915_gem_flush_free_objects() in i915_gem_dumb_create()
      drm/i915/gem: Unify user object creation (v3)
      drm/i915/gem/ttm: Only call __i915_gem_object_set_pages if needed
      drm/i915/gem: Always call obj->ops->migrate unless can_migrate fails

John Harrison (19):
      drm/i915/huc: Update TGL and friends to HuC 7.9.3
      drm/i915/adlp: Add ADL-P GuC/HuC firmware files
      drm/i915/guc: Module load failure test for CT buffer creation
      drm/i915/selftests: Allow for larger engine counts
      drm/i915/xehp: Extra media engines - Part 1 (engine definitions)
      drm/i915/xehp: Extra media engines - Part 2 (interrupts)
      drm/i915/xehp: Extra media engines - Part 3 (reset)
      drm/i915/guc: Make hangcheck work with GuC virtual engines
      drm/i915/guc: Provide mmio list to be saved/restored on engine reset
      drm/i915/guc: Don't complain about reset races
      drm/i915/guc: Enable GuC engine reset
      drm/i915/guc: Fix for error capture after full GPU reset with GuC
      drm/i915/guc: Hook GuC scheduling policies up
      drm/i915/guc: Connect reset modparam updates to GuC policy flags
      drm/i915/guc: Include scheduling policies in the debugfs state dump
      drm/i915/guc: Add golden context to GuC ADS
      drm/i915/selftest: Better error reporting from hangcheck selftest
      drm/i915/selftest: Fix hangcheck self test for GuC submission
      drm/i915/selftest: Bump selftest timeouts for hangcheck

Joonas Lahtinen (1):
      Merge tag 'topic/i915-ttm-2021-06-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-intel-gt-next

José Roberto de Souza (4):
      drm/i915: Settle on "adl-x" in WA comments
      drm/i915: Implement Wa_1508744258
      drm/i915/adl_s: Extend Wa_1406941453
      drm/i915: Extend Wa_1406941453 to adl-p

Lucas De Marchi (14):
      drm/i915/gt: finish INTEL_GEN and friends conversion
      drm/i915: do not abbreviate version in debugfs
      drm/i915: Add release id version
      drm/i915: Add XE_HP initial definitions
      drm/i915/xehpsdv: add initial XeHP SDV definitions
      drm/i915/gt: fix platform prefix
      drm/i915/gt: nuke unused legacy engine hw_id
      drm/i915/gt: rename legacy engine->hw_id to engine->gen6_hw_id
      drm/i915/gt: nuke gen6_hw_id
      drm/i915/gt: remove explicit CNL handling from intel_mocs.c
      drm/i915/gt: remove explicit CNL handling from intel_sseu.c
      drm/i915/gt: rename CNL references in intel_engine.h
      drm/i915/gt: remove GRAPHICS_VER == 10
      drm/i915/xehp: Fix missing sentinel on mcr_ranges_xehp

Maarten Lankhorst (2):
      drm/i915: Fix missing docbook chapters for i915 uapi.
      drm/i915: Add TTM offset argument to mmap.

Matt Roper (29):
      drm/i915: Add GT support for multiple types of multicast steering
      drm/i915: Add support for explicit L3BANK steering
      drm/i915: Make pre-production detection use direct revid comparison
      drm/i915/skl: Use revid->stepping tables
      drm/i915/kbl: Drop pre-production revision from stepping table
      drm/i915/bxt: Use revid->stepping tables
      drm/i915/glk: Use revid->stepping tables
      drm/i915/icl: Use revid->stepping tables
      drm/i915/jsl_ehl: Use revid->stepping tables
      drm/i915/rkl: Use revid->stepping tables
      drm/i915/dg1: Use revid->stepping tables
      drm/i915/cnl: Drop all workarounds
      drm/i915/icl: Drop workarounds that only apply to pre-production steppings
      Merge branch 'topic/revid_steppings' into drm-intel-gt-next
      drm/i915: Fix application of WaInPlaceDecompressionHang
      drm/i915/icl: Drop a couple unnecessary workarounds
      drm/i915: Program DFR enable/disable as a GT workaround
      drm/i915: Make GT workaround upper bounds exclusive
      drm/i915/dg2: add DG2 platform info
      Merge branch 'topic/xehp-dg2-definitions-2021-07-21' into drm-intel-gt-next
      drm/i915/xehp: Define multicast register ranges
      drm/i915/xehp: Xe_HP forcewake support
      drm/i915/xehpsdv: Correct parameters for IS_XEHPSDV_GT_STEP()
      drm/i915/dg2: Add forcewake table
      drm/i915/xehpsdv: Add maximum sseu limits
      drm/i915/dg2: DG2 uses the same sseu limits as XeHP SDV
      drm/i915/xehpsdv: Define steering tables
      drm/i915/dg2: Update steering tables
      drm/i915/dg2: Add SQIDI steering

Matthew Auld (25):
      drm/i915/ttm: add ttm_buddy_man
      drm/i915/ttm: add i915_sg_from_buddy_resource
      drm/i915/ttm: pass along the I915_BO_ALLOC_CONTIGUOUS
      drm/i915/ttm: remove node usage in our naming
      drm/i915/ttm: switch over to ttm_buddy_man
      drm/i915/ttm: restore min_page_size behaviour
      drm/i915/ttm: remove unused function
      drm/i915/selftests: add back the selftest() hook for the buddy
      drm/i915/ttm: fix static warning
      drm/i915/gem: Introduce a selftest for the gem object migrate functionality
      drm/i915: support forcing the page size with lmem
      drm/i915/gtt: ignore min_page_size for paging structures
      drm/i915/selftests: fix smatch warning in igt_check_blocks
      drm/i915/selftests: fix smatch warning in mock_reserve
      drm/i915: use consistent CPU mappings for pin_map users
      drm/i915/uapi: convert drm_i915_gem_caching to kernel doc
      drm/i915/uapi: convert drm_i915_gem_set_domain to kernel doc
      drm/i915/gtt: drop the page table optimisation
      drm/i915/uapi: reject caching ioctls for discrete
      drm/i915/uapi: convert drm_i915_gem_userptr to kernel doc
      drm/i915/uapi: reject set_domain for discrete
      drm/i915: document caching related bits
      drm/i915/ehl: unconditionally flush the pages on acquire
      drm/i915/selftests: prefer the create_user helper
      drm/i915/xehp: Changes to ss/eu definitions

Matthew Brost (52):
      drm/i915: Move priolist to new i915_sched_engine object
      drm/i915: Add i915_sched_engine_is_empty function
      drm/i915: Reset sched_engine.no_priolist immediately after dequeue
      drm/i915: Move active tracking to i915_sched_engine
      drm/i915: Move engine->schedule to i915_sched_engine
      drm/i915: Add kick_backend function to i915_sched_engine
      drm/i915: Update i915_scheduler to operate on i915_sched_engine
      drm/i915: Move submission tasklet to i915_sched_engine
      drm/doc/rfc: i915 GuC submission / DRM scheduler
      drm/doc/rfc: i915 new parallel submission uAPI plan
      drm/i915/guc: Relax CTB response timeout
      drm/i915/guc: Improve error message for unsolicited CT response
      drm/i915/guc: Increase size of CTB buffers
      drm/i915/guc: Add non blocking CTB send function
      drm/i915/guc: Add stall timer to non blocking CTB send function
      drm/i915/guc: Optimize CTB writes and reads
      drm/i915/guc: Add new GuC interface defines and structures
      drm/i915/guc: Remove GuC stage descriptor, add LRC descriptor
      drm/i915/guc: Add LRC descriptor context lookup array
      drm/i915/guc: Implement GuC submission tasklet
      drm/i915/guc: Add bypass tasklet submission path to GuC
      drm/i915/guc: Implement GuC context operations for new inteface
      drm/i915/guc: Insert fence on context when deregistering
      drm/i915/guc: Defer context unpin until scheduling is disabled
      drm/i915/guc: Disable engine barriers with GuC during unpin
      drm/i915/guc: Extend deregistration fence to schedule disable
      drm/i915: Disable preempt busywait when using GuC scheduling
      drm/i915/guc: Ensure request ordering via completion fences
      drm/i915/guc: Disable semaphores when using GuC scheduling
      drm/i915/guc: Ensure G2H response has space in buffer
      drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC
      drm/i915/guc: Update GuC debugfs to support new GuC
      drm/i915/guc: Add trace point for GuC submit
      drm/i915: Add intel_context tracing
      drm/i915/guc: GuC virtual engines
      drm/i915: Hold reference to intel_context over life of i915_request
      drm/i915/guc: Disable bonding extension with GuC submission
      drm/i915/guc: Direct all breadcrumbs for a class to single breadcrumbs
      drm/i915: Add i915_sched_engine destroy vfunc
      drm/i915: Move active request tracking to a vfunc
      drm/i915/guc: Reset implementation for new GuC interface
      drm/i915: Reset GPU immediately if submission is disabled
      drm/i915/guc: Add disable interrupts to guc sanitize
      drm/i915/guc: Suspend/resume implementation for new interface
      drm/i915/guc: Handle context reset notification
      drm/i915/guc: Handle engine reset failure notification
      drm/i915/guc: Enable the timer expired interrupt for GuC
      drm/i915/guc: Capture error state on context reset
      drm/i915/guc: Implement banned contexts for GuC submission
      drm/i915/guc: Support request cancellation
      drm/i915/selftest: Increase some timeouts in live_requests
      drm/i915/guc: Implement GuC priority management

Michal Wajdeczko (3):
      drm/i915/guc: Introduce unified HXG messages
      drm/i915/guc: Update firmware to v62.0.0
      drm/i915/doc: Include GuC ABI documentation

Prathap Kumar Valsan (1):
      drm/i915/xehp: New engine context offsets

Rahul Kumar Singh (2):
      drm/i915/selftest: Fix workarounds selftest for GuC submission
      drm/i915/selftest: Fix MOCS selftest for GuC submission

Ramalingam C (1):
      drm/i915/ttm: accelerated move implementation

Rodrigo Vivi (1):
      Merge drm/drm-next into drm-intel-gt-next

Stuart Summers (1):
      drm/i915/xehp: Handle new device context ID format

Tejas Upadhyay (2):
      drm/i915/selftest: Extend ctx_timestamp ICL workaround to GEN11
      drm/i915/adl_s: Fix dma_mask_size to 39 bit

Thomas Hellström (18):
      drm/i915: Simplify userptr locking
      drm/i915/ttm: Fix memory leaks
      drm/i915/ttm: Calculate the object placement at get_pages time
      drm/i915: Reference objects on the ww object list
      drm/i915: Break out dma_resv ww locking utilities to separate files
      drm/i915: Introduce a ww transaction helper
      drm/i915/gem: Zap the client blt code
      drm/i915/gem: Zap the i915_gem_object_blt code
      drm/i915: Perform execbuffer object locking as a separate step
      drm/i915/ttm: Fix incorrect assumptions about ttm_bo_validate() semantics
      drm/i915: Update object placement flags to be mutable
      drm/i915/ttm: Adjust gem flags and caching settings after a move
      drm/i915/ttm: Use TTM for system memory
      drm/i915: Reinstate the mmap ioctl for some platforms
      drm/i915/gem: Implement object migration
      drm/i915/display: Migrate objects to LMEM if possible for display
      drm/i915/gem: Correct the locking and pin pattern for dma-buf (v8)
      drm/i915/gem: Migrate to system at dma-buf attach time (v7)

Thomas Zimmermann (2):
      drm/i915: Use the correct IRQ during resume
      drm/i915: Drop all references to DRM IRQ midlayer

Tvrtko Ursulin (3):
      drm/i915: Fix busy ioctl commentary
      drm/i915: Document the Virtual Engine uAPI
      drm/i915/xehp: VDBOX/VEBOX fusing registers are enable-based

Venkata Sandeep Dhanalakota (1):
      drm/i915/gen12: Use fuse info to enable SFC

Ville Syrjälä (1):
      drm/i915/gt: Fix -EDEADLK handling regression

Vinay Belgaumkar (14):
      drm/i915/guc/slpc: Initial definitions for SLPC
      drm/i915/guc/slpc: Gate Host RPS when SLPC is enabled
      drm/i915/guc/slpc: Adding SLPC communication interfaces
      drm/i915/guc/slpc: Allocate, initialize and release SLPC
      drm/i915/guc/slpc: Enable SLPC and add related H2G events
      drm/i915/guc/slpc: Remove BUG_ON in guc_submission_disable
      drm/i915/guc/slpc: Add methods to set min/max frequency
      drm/i915/guc/slpc: Add get max/min freq hooks
      drm/i915/guc/slpc: Add debugfs for SLPC info
      drm/i915/guc/slpc: Enable ARAT timer interrupt
      drm/i915/guc/slpc: Cache platform frequency limits
      drm/i915/guc/slpc: Sysfs hooks for SLPC
      drm/i915/guc/slpc: Add SLPC selftest
      drm/i915/guc/rc: Setup and enable GuCRC feature

Wan Jiabing (1):
      drm/i915: Remove duplicate include of intel_region_lmem.h

 Documentation/gpu/i915.rst                         |   15 +
 Documentation/gpu/rfc/i915_parallel_execbuf.h      |  122 +
 Documentation/gpu/rfc/i915_scheduler.rst           |  148 +
 Documentation/gpu/rfc/index.rst                    |    4 +
 drivers/gpu/drm/drm_gem.c                          |    9 -
 drivers/gpu/drm/i915/Kconfig.debug                 |    6 +
 drivers/gpu/drm/i915/Makefile                      |   14 +-
 drivers/gpu/drm/i915/display/intel_display.c       |    5 +-
 drivers/gpu/drm/i915/display/intel_display_power.c |    2 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    6 +-
 drivers/gpu/drm/i915/display/intel_psr.c           |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_clflush.c        |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_client_blt.c     |  355 ---
 drivers/gpu/drm/i915/gem/i915_gem_client_blt.h     |   21 -
 drivers/gpu/drm/i915/gem/i915_gem_context.c        | 2920 +++++++++-----------
 drivers/gpu/drm/i915/gem/i915_gem_context.h        |    6 +
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |  196 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         |  188 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   58 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |   11 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  699 +----
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  160 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   12 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  107 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  350 ++-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   69 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |  461 ---
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.h     |   39 -
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  255 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   54 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   23 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   30 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |    3 +-
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c            |  965 +++++++
 drivers/gpu/drm/i915/gem/i915_gem_ttm.h            |   49 +
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  117 +-
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |   23 +-
 .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |    4 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |    8 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  114 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  127 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c   |  190 +-
 .../drm/i915/gem/selftests/i915_gem_execbuffer.c   |    4 +
 .../gpu/drm/i915/gem/selftests/i915_gem_migrate.c  |  243 ++
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  164 +-
 .../drm/i915/gem/selftests/i915_gem_object_blt.c   |  597 ----
 drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c |    3 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.c  |   67 +-
 drivers/gpu/drm/i915/gem/selftests/mock_context.h  |    4 +-
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   10 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   17 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   73 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |   44 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.h        |   16 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h  |    7 +
 drivers/gpu/drm/i915/gt/intel_context.c            |   88 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   56 +-
 drivers/gpu/drm/i915/gt/intel_context_param.c      |   63 -
 drivers/gpu/drm/i915/gt/intel_context_param.h      |    6 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   64 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   87 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  420 +--
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   74 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h   |    4 +
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |    4 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   93 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |    6 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  604 ++--
 .../gpu/drm/i915/gt/intel_execlists_submission.h   |   12 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |    6 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |    2 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    2 +
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  197 +-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   10 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   10 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   13 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   11 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   21 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.h        |    9 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   37 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   20 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   18 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  117 +-
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    3 +-
 drivers/gpu/drm/i915/gt/intel_migrate.c            |  688 +++++
 drivers/gpu/drm/i915/gt/intel_migrate.h            |   65 +
 drivers/gpu/drm/i915/gt/intel_migrate_types.h      |   15 +
 drivers/gpu/drm/i915/gt/intel_mocs.c               |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   49 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |    7 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.h        |    1 +
 drivers/gpu/drm/i915/gt/intel_reset.c              |   56 +-
 drivers/gpu/drm/i915/gt/intel_ring.h               |    1 +
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   70 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  209 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   10 +
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  126 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   10 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |    8 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  498 ++--
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |    1 +
 drivers/gpu/drm/i915/gt/mock_engine.c              |   51 +-
 drivers/gpu/drm/i915/gt/selftest_context.c         |   10 +
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   22 +
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.h    |    2 +
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |    4 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  307 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  330 ++-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |    6 +-
 drivers/gpu/drm/i915/gt/selftest_migrate.c         |  669 +++++
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   52 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |    2 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c            |  311 +++
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |    2 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  162 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  129 +-
 .../gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h  |  235 ++
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h |  127 +-
 .../i915/gt/uc/abi/guc_communication_mmio_abi.h    |   65 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |  213 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  206 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |  119 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  487 +++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h         |    4 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |  703 +++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |   36 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c     |   47 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  167 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |   29 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h         |    6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          |   80 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h          |   31 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c        |  626 +++++
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h        |   42 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h  |   29 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  | 2895 +++++++++++++++++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   18 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  126 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.h              |   15 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   27 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |    7 +-
 drivers/gpu/drm/i915/i915_active.c                 |   37 +-
 drivers/gpu/drm/i915/i915_active.h                 |    3 +
 drivers/gpu/drm/i915/i915_buddy.c                  |  421 +++
 drivers/gpu/drm/i915/i915_buddy.h                  |  135 +
 drivers/gpu/drm/i915/i915_cmd_parser.c             |  203 +-
 drivers/gpu/drm/i915/i915_debugfs_params.c         |   32 +
 drivers/gpu/drm/i915/i915_drv.c                    |    9 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  228 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   63 +-
 drivers/gpu/drm/i915/i915_gem.h                    |   12 -
 drivers/gpu/drm/i915/i915_gem_evict.c              |    1 +
 drivers/gpu/drm/i915/i915_gem_ww.c                 |   63 +
 drivers/gpu/drm/i915/i915_gem_ww.h                 |   50 +
 drivers/gpu/drm/i915/i915_getparam.c               |    7 +-
 drivers/gpu/drm/i915/i915_globals.c                |  160 --
 drivers/gpu/drm/i915/i915_globals.h                |   37 -
 drivers/gpu/drm/i915/i915_gpu_error.c              |   27 +-
 drivers/gpu/drm/i915/i915_module.c                 |  113 +
 drivers/gpu/drm/i915/i915_pci.c                    |  129 +-
 drivers/gpu/drm/i915/i915_pci.h                    |    8 +
 drivers/gpu/drm/i915/i915_perf.c                   |   36 +-
 drivers/gpu/drm/i915/i915_perf.h                   |    2 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |    6 +-
 drivers/gpu/drm/i915/i915_pmu.h                    |    4 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   48 +-
 drivers/gpu/drm/i915/i915_request.c                |  307 +-
 drivers/gpu/drm/i915/i915_request.h                |   38 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |   80 +
 drivers/gpu/drm/i915/i915_scatterlist.h            |    5 +
 drivers/gpu/drm/i915/i915_scheduler.c              |  220 +-
 drivers/gpu/drm/i915/i915_scheduler.h              |   54 +-
 drivers/gpu/drm/i915/i915_scheduler_types.h        |  111 +
 drivers/gpu/drm/i915/i915_sw_fence_work.c          |    5 +-
 drivers/gpu/drm/i915/i915_sw_fence_work.h          |    2 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |   83 +-
 drivers/gpu/drm/i915/i915_trace.h                  |  201 +-
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c      |  258 ++
 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h      |   56 +
 drivers/gpu/drm/i915/i915_vma.c                    |   34 +-
 drivers/gpu/drm/i915/i915_vma.h                    |    3 +
 drivers/gpu/drm/i915/intel_device_info.c           |   16 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   12 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |   63 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |   30 +-
 drivers/gpu/drm/i915/intel_pm.c                    |   22 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            |  150 +-
 drivers/gpu/drm/i915/intel_region_ttm.h            |   23 +-
 drivers/gpu/drm/i915/intel_step.c                  |  134 +-
 drivers/gpu/drm/i915/intel_step.h                  |    5 +
 drivers/gpu/drm/i915/intel_uncore.c                |  422 ++-
 drivers/gpu/drm/i915/intel_uncore.h                |   20 +-
 drivers/gpu/drm/i915/selftests/i915_buddy.c        |  787 ++++++
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |    5 +-
 .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    2 +-
 .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |    4 +-
 drivers/gpu/drm/i915/selftests/i915_selftest.c     |    4 +-
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |    2 +-
 drivers/gpu/drm/i915/selftests/igt_live_test.c     |    2 +-
 drivers/gpu/drm/i915/selftests/igt_mmap.c          |   25 +-
 drivers/gpu/drm/i915/selftests/igt_mmap.h          |   12 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  257 +-
 .../drm/i915/selftests/intel_scheduler_helpers.c   |   88 +
 .../drm/i915/selftests/intel_scheduler_helpers.h   |   33 +
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |    2 +
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |    3 +-
 drivers/gpu/drm/i915/selftests/mock_gtt.c          |    1 -
 drivers/gpu/drm/i915/selftests/mock_region.c       |   29 +-
 include/drm/drm_vma_manager.h                      |    2 +-
 include/uapi/drm/i915_drm.h                        |  498 +++-
 214 files changed, 18965 insertions(+), 8462 deletions(-)
 create mode 100644 Documentation/gpu/rfc/i915_parallel_execbuf.h
 create mode 100644 Documentation/gpu/rfc/i915_scheduler.rst
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.c
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_client_blt.h
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c
 delete mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_blt.h
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.c
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm.h
 create mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
 delete mode 100644 drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
 delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate_types.h
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_migrate.c
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_slpc.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
 create mode 100644 drivers/gpu/drm/i915/i915_buddy.c
 create mode 100644 drivers/gpu/drm/i915/i915_buddy.h
 create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h
 delete mode 100644 drivers/gpu/drm/i915/i915_globals.c
 delete mode 100644 drivers/gpu/drm/i915/i915_globals.h
 create mode 100644 drivers/gpu/drm/i915/i915_module.c
 create mode 100644 drivers/gpu/drm/i915/i915_pci.h
 create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.c
 create mode 100644 drivers/gpu/drm/i915/i915_ttm_buddy_manager.h
 create mode 100644 drivers/gpu/drm/i915/selftests/i915_buddy.c
 create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
 create mode 100644 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-06-10  9:40 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-06-10  9:40 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Here's the final -gt-next PR for 5.14.

Two major uAPI changes for new Gen12+ platforms: Stop supporting
old MMAP IOCTL (excl. TGL) and require use of MMAP_OFFSET instead.
Start enabling HuC loading by default (excl. TGL and RKL).

Revert for io_mapping_map_user which was already in -fixes.

Enabling of the TTM device and memory managers for handling LMEM
on dGFX (currently replaces the buddy allocator). Note that this
only impacts the platforms behind force probe protection.

A lot of improvments to the GuC submission backend to prepare for
enabling on newer platforms.

Only a couple other reworks and fixes.

Regards, Joonas

***

drm-intel-gt-next-2021-06-10:

UAPI Changes:

- Disable mmap ioctl for gen12+ (excl. TGL-LP)
- Start enabling HuC loading by default for upcoming Gen12+
  platforms (excludes TGL and RKL)

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Revert "i915: use io_mapping_map_user" (Eero, Matt A)
- Initialize the TTM device and memory managers (Thomas)
- Major rework to the GuC submission backend to prepare
  for enabling on new platforms (Michal Wa., Daniele,
  Matt B, Rodrigo)
- Fix i915_sg_page_sizes to record dma segments rather
  than physical pages (Thomas)

- Locking rework to prep for TTM conversion (Thomas)
- Replace IS_GEN and friends with GRAPHICS_VER (Lucas)
- Use DEVICE_ATTR_RO macro (Yue)
- Static code checker fixes (Zhihao)

The following changes since commit ccd1950c2f7e38ae45aeefb99a08b39407cd6c63:

  Merge tag 'drm-intel-gt-next-2021-05-28' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2021-06-02 14:15:54 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-06-10

for you to fetch changes up to 47c65b3853f88d105017ef512a521794db51bfeb:

  drm/i915/uc: Use platform specific defaults for GuC/HuC enabling (2021-06-09 10:52:03 -0700)

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

- Disable mmap ioctl for gen12+ (excl. TGL-LP)
- Start enabling HuC loading by default for upcoming Gen12+
  platforms (excludes TGL and RKL)

Core Changes:

- Backmerge of drm-next

Driver Changes:

- Revert "i915: use io_mapping_map_user" (Eero, Matt A)
- Initialize the TTM device and memory managers (Thomas)
- Major rework to the GuC submission backend to prepare
  for enabling on new platforms (Michal Wa., Daniele,
  Matt B, Rodrigo)
- Fix i915_sg_page_sizes to record dma segments rather
  than physical pages (Thomas)

- Locking rework to prep for TTM conversion (Thomas)
- Replace IS_GEN and friends with GRAPHICS_VER (Lucas)
- Use DEVICE_ATTR_RO macro (Yue)
- Static code checker fixes (Zhihao)

----------------------------------------------------------------
Daniele Ceraolo Spurio (4):
      drm/i915/guc: skip disabling CTBs before sanitizing the GuC
      drm/i915/guc: use probe_error log for CT enablement failure
      drm/i915/guc: enable only the user interrupt when using GuC submission
      drm/i915/guc: Use guc_class instead of engine_class in fw interface

John Harrison (1):
      drm/i915/uc: Use platform specific defaults for GuC/HuC enabling

Joonas Lahtinen (1):
      Merge drm/drm-next into drm-intel-gt-next

Lucas De Marchi (3):
      drm/i915/gt: replace IS_GEN and friends with GRAPHICS_VER
      drm/i915/gt: Add remaining conversions to GRAPHICS_VER
      drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER

Maarten Lankhorst (1):
      drm/i915: Disable mmap ioctl for gen12+

Matthew Auld (1):
      Revert "i915: use io_mapping_map_user"

Matthew Brost (2):
      drm/i915/guc: Drop guc->interrupts.enabled
      drm/i915/guc: Ensure H2G buffer updates visible before tail update

Michal Wajdeczko (12):
      drm/i915/guc: Keep strict GuC ABI definitions
      drm/i915/guc: Stop using fence/status from CTB descriptor
      drm/i915: Promote ptrdiff() to i915_utils.h
      drm/i915/guc: Only rely on own CTB size
      drm/i915/guc: Don't repeat CTB layout calculations
      drm/i915/guc: Replace CTB array with explicit members
      drm/i915/guc: Update sizes of CTB buffers
      drm/i915/guc: Start protecting access to CTB descriptors
      drm/i915/guc: Stop using mutex while sending CTB messages
      drm/i915/guc: Don't receive all G2H messages in irq handler
      drm/i915/guc: Always copy CT message to new allocation
      drm/i915/guc: Early initialization of GuC send registers

Rodrigo Vivi (1):
      drm/i915/guc: Remove sample_forcewake h2g action

Thomas Hellström (5):
      drm/i915: Untangle the vma pages_mutex
      drm/i915: Don't free shared locks while shared
      drm/i915: Fix i915_sg_page_sizes to record dma segments rather than physical pages
      drm/i915/ttm Initialize the ttm device and memory managers
      drm/i915/ttm: Embed a ttm buffer object in the i915 gem object

YueHaibing (1):
      drm/i915: use DEVICE_ATTR_RO macro

Zhihao Cheng (1):
      drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest()

 drivers/gpu/drm/i915/Kconfig                       |   2 +-
 drivers/gpu/drm/i915/Makefile                      |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  10 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  59 +-
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  10 +
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  22 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         | 120 ----
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |   4 -
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  26 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   9 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |   2 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  10 +-
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |   4 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  16 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  14 +-
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |  10 +-
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |  40 +-
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   2 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_context_sseu.c       |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  60 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   4 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  18 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  37 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |  34 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  29 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  12 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  24 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c          |  10 +-
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  59 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  28 +-
 drivers/gpu/drm/i915/gt/intel_llc.c                |   6 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  46 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   8 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   8 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  16 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  27 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |  14 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  64 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  60 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |  14 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c       |   6 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  66 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   6 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   4 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   8 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   8 +-
 drivers/gpu/drm/i915/gt/selftest_llc.c             |   4 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   8 +-
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   4 +-
 drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   6 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |  16 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   6 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |   8 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h   |  51 ++
 .../drm/i915/gt/uc/abi/guc_communication_ctb_abi.h | 106 +++
 .../i915/gt/uc/abi/guc_communication_mmio_abi.h    |  52 ++
 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h    |  14 +
 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h  |  21 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  63 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |   2 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |  22 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 532 ++++++++------
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h          |  14 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        | 233 +-----
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  37 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  14 +-
 drivers/gpu/drm/i915/i915_buddy.c                  | 435 ------------
 drivers/gpu/drm/i915/i915_buddy.h                  | 131 ----
 drivers/gpu/drm/i915/i915_drv.c                    |  13 +
 drivers/gpu/drm/i915/i915_drv.h                    |  11 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   1 +
 drivers/gpu/drm/i915/i915_globals.c                |   1 -
 drivers/gpu/drm/i915/i915_globals.h                |   1 -
 drivers/gpu/drm/i915/i915_mm.c                     |  44 ++
 drivers/gpu/drm/i915/i915_params.c                 |   2 +-
 drivers/gpu/drm/i915/i915_params.h                 |   2 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   8 +-
 drivers/gpu/drm/i915/i915_scatterlist.c            |  70 ++
 drivers/gpu/drm/i915/i915_scatterlist.h            |  20 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |  30 +-
 drivers/gpu/drm/i915/i915_utils.h                  |   5 +
 drivers/gpu/drm/i915/i915_vma.c                    |  29 +-
 drivers/gpu/drm/i915/i915_vma.h                    |   5 -
 drivers/gpu/drm/i915/intel_memory_region.c         | 180 ++---
 drivers/gpu/drm/i915/intel_memory_region.h         |  44 +-
 drivers/gpu/drm/i915/intel_region_ttm.c            | 220 ++++++
 drivers/gpu/drm/i915/intel_region_ttm.h            |  32 +
 drivers/gpu/drm/i915/selftests/i915_buddy.c        | 789 ---------------------
 .../gpu/drm/i915/selftests/i915_mock_selftests.h   |   1 -
 drivers/gpu/drm/i915/selftests/i915_request.c      |   4 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   | 133 ++--
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |  10 +
 drivers/gpu/drm/i915/selftests/mock_region.c       |  70 +-
 108 files changed, 1888 insertions(+), 2723 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h
 create mode 100644 drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h
 delete mode 100644 drivers/gpu/drm/i915/i915_buddy.c
 delete mode 100644 drivers/gpu/drm/i915/i915_buddy.h
 create mode 100644 drivers/gpu/drm/i915/intel_region_ttm.c
 create mode 100644 drivers/gpu/drm/i915/intel_region_ttm.h
 delete mode 100644 drivers/gpu/drm/i915/selftests/i915_buddy.c

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2021-06-02  4:17     ` Dave Airlie
@ 2021-06-02  4:30       ` Dave Airlie
  0 siblings, 0 replies; 68+ messages in thread
From: Dave Airlie @ 2021-06-02  4:30 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: DRM maintainer tools announcements, discussion, and development,
	Daniel Vetter, dri-devel, Rodrigo Vivi, Sean Paul,
	Intel Graphics Development

On Wed, 2 Jun 2021 at 14:17, Dave Airlie <airlied@gmail.com> wrote:
>
> On Wed, 2 Jun 2021 at 10:28, Dave Airlie <airlied@gmail.com> wrote:
> >
> > This has these two patches applied, and it doesn't build.
> >
> >   drm/i915: drop the __i915_active_call pointer packing
> >   drm/i915: Fix crash in auto_retire
> >
> > The latter patch shouldn't be necessary after the former, please fix
> > that up and resend and please build test trees before I get them in
> > future.
>
> Oh maybe this is an unresolved conflict, not sure why drm-tip doesn't
> catch this though, or is this next tree not in next?

Oh looks like tip did catch it, I just didn't see it was done with a fixup.

Dave.

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2021-06-02  0:28   ` Dave Airlie
@ 2021-06-02  4:17     ` Dave Airlie
  2021-06-02  4:30       ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Dave Airlie @ 2021-06-02  4:17 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: DRM maintainer tools announcements, discussion, and development,
	Daniel Vetter, dri-devel, Rodrigo Vivi, Sean Paul,
	Intel Graphics Development

On Wed, 2 Jun 2021 at 10:28, Dave Airlie <airlied@gmail.com> wrote:
>
> This has these two patches applied, and it doesn't build.
>
>   drm/i915: drop the __i915_active_call pointer packing
>   drm/i915: Fix crash in auto_retire
>
> The latter patch shouldn't be necessary after the former, please fix
> that up and resend and please build test trees before I get them in
> future.

Oh maybe this is an unresolved conflict, not sure why drm-tip doesn't
catch this though, or is this next tree not in next?

That would explain it then.

I've pulled it with an fix in the merge commit.

Dave.

>
> Dave.
>
>
> On Fri, 28 May 2021 at 17:27, Joonas Lahtinen
> <joonas.lahtinen@linux.intel.com> wrote:
> >
> > Quoting Joonas Lahtinen (2021-05-28 10:25:57)
> > > Hi Dave & Daniel,
> > >
> > > Here's drm-intel-gt-next pull request.
> > >
> > > Most notably it has the reworked DG1 uAPI (behind CONFIG_BROKEN)
> > > as requested. Important fix for Gitlab issues #3293 and #3450 and
> > > one another kernel crash. Adds missing workarounds for Gen11 and
> > > Gen12. Hiding of modparams for compiled-out features. Conversion
> > > to use trylock shrinking for BSW VT-d and BXT.
> > >
> > > Then there are the uAPI kerneldoc improvements as part of the DG1
> > > uAPI rework. Usual amount smaller fixes, code refactoring and
> > > cleanups as prep for upcoming patches.
> >
> > And includes tag 'topic/intel-gen-to-ver-2021-04-19' (but that is
> > already merged to drm-next).
> >
> > Regards, Joonas
> >
> > > Regards, Joonas
> > >
> > > ***
> > >
> > > drm-intel-gt-next-2021-05-28:
> > >
> > > UAPI Changes:
> > > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> > >
> > > Driver Changes:
> > >
> > > - Fix for Gitlab issues #3293 and #3450:
> > >   Avoid kernel crash on older L-shape memory machines
> > >
> > > - Hide modparams for compiled-out features (Tvrtko)
> > > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> > > - Fix crash in auto_retire active retire callback due to
> > >   misalignment (Stephane)
> > > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> > > - Fix overlay active retire callback alignment (Tvrtko)
> > > - Eliminate need to align active retire callbacks (Matt A, Ville,
> > >   Daniel)
> > > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> > > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> > > - Create stolen memory region from local memory on DG1 (CQ)
> > > - Place PD in LMEM on dGFX (Matt A)
> > > - Use WC when default state object is allocated in LMEM (Venkata)
> > > - Determine the coherent map type based on object location (Venkata)
> > > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> > > - Bypass aperture on fbdev when LMEM is available (Anusha)
> > > - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> > > - Do release kernel context if breadcrumb measure fails (Janusz)
> > > - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> > > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> > > - Check actual RC6 enable status in PMU (Tvrtko)
> > > - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> > > - Remove erroneous i915_is_ggtt check for
> > >   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> > >
> > > - Convert uAPI headers to real kerneldoc (Matt A)
> > > - Clean up kerneldoc warnings headers (Matt A, Maarten)
> > > - Fail driver if LMEM training failed (Matt R)
> > > - Avoid div-by-zero on Gen2 (Ville)
> > > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> > > - Remove reference to struct drm_device.pdev (Thomas)
> > > - Increase separation between GuC and execlists code (Chris, Matt B)
> > >
> > > - Use might_alloc() (Bernard)
> > > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> > > - Deduplicate Wa_22010271021 programming on (Jose)
> > > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> > > - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> > > - Shuffle around init_memory_region for stolen (Matt)
> > > - Typo fixes (wengjianfeng)
> > >
> > > The following changes since commit 425390c5dce6da76578389629d19517fcd79c959:
> > >
> > >   drm/i915: split dgfx features from gen 12 (2021-04-14 13:05:06 +0300)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-05-28
> > >
> > > for you to fetch changes up to 5b26d57fdb499c2363f3d895ef008e73ec02eb9b:
> > >
> > >   drm/i915: Add Wa_14010733141 (2021-05-27 11:05:09 -0700)
> > >
> > > ----------------------------------------------------------------
> > > UAPI Changes:
> > > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> > >
> > > Driver Changes:
> > >
> > > - Fix for Gitlab issues #3293 and #3450:
> > >   Avoid kernel crash on older L-shape memory machines
> > >
> > > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> > > - Fix crash in auto_retire active retire callback due to
> > >   misalignment (Stephane)
> > > - Fix overlay active retire callback alignment (Tvrtko)
> > > - Eliminate need to align active retire callbacks (Matt A, Ville,
> > >   Daniel)
> > > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> > > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> > > - Create stolen memory region from local memory on DG1 (CQ)
> > > - Place PD in LMEM on dGFX (Matt A)
> > > - Use WC when default state object is allocated in LMEM (Venkata)
> > > - Determine the coherent map type based on object location (Venkata)
> > > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> > > - Bypass aperture on fbdev when LMEM is available (Anusha)
> > > - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> > > - Do release kernel context if breadcrumb measure fails (Janusz)
> > > - Hide modparams for compiled-out features (Tvrtko)
> > > - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> > > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> > > - Check actual RC6 enable status in PMU (Tvrtko)
> > > - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> > > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> > > - Remove erroneous i915_is_ggtt check for
> > >   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> > >
> > > - Convert uAPI headers to real kerneldoc (Matt A)
> > > - Clean up kerneldoc warnings headers (Matt A, Maarten)
> > > - Fail driver if LMEM training failed (Matt R)
> > > - Avoid div-by-zero on Gen2 (Ville)
> > > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> > > - Remove reference to struct drm_device.pdev (Thomas)
> > > - Increase separation between GuC and execlists code (Chris, Matt B)
> > >
> > > - Use might_alloc() (Bernard)
> > > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> > > - Deduplicate Wa_22010271021 programming on (Jose)
> > > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> > > - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> > > - Shuffle around init_memory_region for stolen (Matt)
> > > - Typo fixes (wengjianfeng)
> > >
> > > ----------------------------------------------------------------
> > > Abdiel Janulgue (1):
> > >       drm/i915/query: Expose memory regions through the query uAPI
> > >
> > > Aditya Swarup (1):
> > >       drm/i915: Add Wa_14010733141
> > >
> > > Anusha Srivatsa (1):
> > >       drm/i915/lmem: Bypass aperture when lmem is available
> > >
> > > Bernard Zhao (1):
> > >       drm/i915: Use might_alloc()
> > >
> > > CQ Tang (2):
> > >       drm/i915: Create stolen memory region from local memory
> > >       drm/i915/stolen: enforce the min_page_size contract
> > >
> > > Caz Yokoyama (2):
> > >       drm/i915/gen12: Add recommended hardware tuning value
> > >       drm/i915/icl: add Wa_22010271021 for all gen11
> > >
> > > Chris Wilson (6):
> > >       drm/i915/selftests: Skip aperture remapping selftest where there is no aperture
> > >       drm/i915/selftests: Only query RAPL for integrated power measurements
> > >       drm/i915/gem: Pin the L-shape quirked object as unshrinkable
> > >       drm/i915/gt: Move engine setup out of set_default_submission
> > >       drm/i915/gt: Move submission_method into intel_gt
> > >       drm/i915/gt: Move CS interrupt handler to the backend
> > >
> > > Hsin-Yi Wang (1):
> > >       drm/i915/selftests: Rename pm_ prefixed functions names
> > >
> > > Janusz Krzysztofik (1):
> > >       drm/i915/gt: Do release kernel context if breadcrumb measure fails
> > >
> > > Joonas Lahtinen (1):
> > >       Merge tag 'topic/intel-gen-to-ver-2021-04-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
> > >
> > > José Roberto de Souza (1):
> > >       drm/i915: Move Wa_16011163337 to gen12_ctx_workarounds_init()
> > >
> > > Lv Yunlong (1):
> > >       drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
> > >
> > > Maarten Lankhorst (4):
> > >       drm/i915: Fix docbook descriptions for i915_gem_shrinker
> > >       drm/i915: Fix docbook descriptions for i915_cmd_parser
> > >       drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.
> > >       drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK
> > >
> > > Matt Roper (1):
> > >       drm/i915/lmem: Fail driver init if LMEM training failed
> > >
> > > Matthew Auld (19):
> > >       drm/i915/uapi: fix kernel doc warnings
> > >       drm/i915/uapi: convert i915_user_extension to kernel doc
> > >       drm/i915/uapi: convert i915_query and friend to kernel doc
> > >       drm/doc: add section for driver uAPI
> > >       drm/i915/stolen: treat stolen local as normal local memory
> > >       drm/i915/stolen: actually mark as contiguous
> > >       drm/i915/gtt: map the PD up front
> > >       drm/i915/gtt/dgfx: place the PD in LMEM
> > >       drm/doc/rfc: i915 DG1 uAPI
> > >       drm/i915: mark stolen as private
> > >       drm/i915: rework gem_create flow for upcoming extensions
> > >       drm/i915/uapi: introduce drm_i915_gem_create_ext
> > >       drm/i915/uapi: implement object placement extension
> > >       drm/i915/lmem: support optional CPU clearing for special internal use
> > >       drm/i915/gem: clear userspace buffers for LMEM
> > >       drm/i915/gem: hide new uAPI behind CONFIG_BROKEN
> > >       drm/i915: drop the __i915_active_call pointer packing
> > >       drm/i915/stolen: shuffle around init_memory_region
> > >       drm/doc/rfc: drop the i915_gem_lmem.h header
> > >
> > > Mohammed Khajapasha (2):
> > >       drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete
> > >       drm/i915: Return error value when bo not in LMEM for discrete
> > >
> > > Stéphane Marchesin (1):
> > >       drm/i915: Fix crash in auto_retire
> > >
> > > Swathi Dhanavanthri (1):
> > >       drm/i915: Add Wa_14011060649
> > >
> > > Thomas Zimmermann (1):
> > >       drm/i915/gem: Remove reference to struct drm_device.pdev
> > >
> > > Tvrtko Ursulin (6):
> > >       drm/i915: Take request reference before arming the watchdog timer
> > >       drm/i915/pmu: Check actual RC6 status
> > >       drm/i915/overlay: Fix active retire callback alignment
> > >       drm/i915/selftests: Fix active retire callback alignment
> > >       drm/i915: Drop duplicate WaDisable4x2SubspanOptimization:hsw
> > >       drm/i915/params: Align visibility of device level and global modparams
> > >
> > > Venkata Ramana Nayana (1):
> > >       drm/i915/dg1: Fix mapping type for default state object
> > >
> > > Venkata Sandeep Dhanalakota (1):
> > >       drm/i915: Update the helper to set correct mapping
> > >
> > > Ville Syrjälä (3):
> > >       drm/i915: Avoid div-by-zero on gen2
> > >       drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
> > >       drm/i915: Give C0DRB3/C1DRB3 a _BW suffix
> > >
> > > wengjianfeng (1):
> > >       drm/i915/gt: fix typo issue
> > >
> > >  Documentation/gpu/driver-uapi.rst                  |   8 +
> > >  Documentation/gpu/index.rst                        |   1 +
> > >  Documentation/gpu/rfc/i915_gem_lmem.rst            | 131 +++++++
> > >  Documentation/gpu/rfc/index.rst                    |   4 +
> > >  drivers/gpu/drm/i915/display/intel_display.c       |  10 +
> > >  drivers/gpu/drm/i915/display/intel_fbdev.c         |  51 ++-
> > >  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   4 +-
> > >  drivers/gpu/drm/i915/display/intel_overlay.c       |   5 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_context.c        |   3 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_create.c         | 345 ++++++++++++++++--
> > >  drivers/gpu/drm/i915/gem/i915_gem_ioctls.h         |   2 +
> > >  drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  20 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   5 +
> > >  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_object.c         |   3 +
> > >  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  14 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   2 +
> > >  drivers/gpu/drm/i915/gem/i915_gem_region.c         |  22 ++
> > >  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  14 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 159 +++++++--
> > >  drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   3 +-
> > >  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  11 +-
> > >  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  26 ++
> > >  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  13 +-
> > >  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  32 +-
> > >  drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine.h             |   8 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  21 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   2 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine_types.h       |  14 +-
> > >  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  95 +++--
> > >  .../gpu/drm/i915/gt/intel_execlists_submission.h   |   3 -
> > >  drivers/gpu/drm/i915/gt/intel_ggtt.c               |  10 +-
> > >  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   6 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   3 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  82 ++---
> > >  drivers/gpu/drm/i915/gt/intel_gt_irq.h             |  23 ++
> > >  drivers/gpu/drm/i915/gt/intel_gt_types.h           |   7 +
> > >  drivers/gpu/drm/i915/gt/intel_gtt.c                |  91 +++--
> > >  drivers/gpu/drm/i915/gt/intel_gtt.h                |  12 +-
> > >  drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
> > >  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   7 +-
> > >  drivers/gpu/drm/i915/gt/intel_reset.c              | 201 +++++++----
> > >  drivers/gpu/drm/i915/gt/intel_ring.c               |  11 +-
> > >  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  12 +-
> > >  drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
> > >  drivers/gpu/drm/i915/gt/intel_timeline.c           |   4 +-
> > >  drivers/gpu/drm/i915/gt/intel_workarounds.c        | 100 ++++--
> > >  drivers/gpu/drm/i915/gt/mock_engine.c              |   2 +-
> > >  drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
> > >  .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
> > >  drivers/gpu/drm/i915/gt/selftest_execlists.c       |   2 +-
> > >  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   4 +-
> > >  drivers/gpu/drm/i915/gt/selftest_lrc.c             |   4 +-
> > >  drivers/gpu/drm/i915/gt/selftest_rc6.c             |  32 +-
> > >  drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
> > >  drivers/gpu/drm/i915/gt/selftest_rps.c             |   6 +-
> > >  drivers/gpu/drm/i915/gt/shmem_utils.c              |   4 +-
> > >  drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   4 +-
> > >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  64 ++--
> > >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   1 -
> > >  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   4 +-
> > >  drivers/gpu/drm/i915/i915_active.c                 |  11 +-
> > >  drivers/gpu/drm/i915/i915_active.h                 |  11 +-
> > >  drivers/gpu/drm/i915/i915_active_types.h           |   5 -
> > >  drivers/gpu/drm/i915/i915_cmd_parser.c             |  18 +-
> > >  drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
> > >  drivers/gpu/drm/i915/i915_drv.c                    |   1 +
> > >  drivers/gpu/drm/i915/i915_drv.h                    |  29 +-
> > >  drivers/gpu/drm/i915/i915_gem.c                    |  25 +-
> > >  drivers/gpu/drm/i915/i915_irq.c                    |  10 +-
> > >  drivers/gpu/drm/i915/i915_params.h                 |   8 +-
> > >  drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
> > >  drivers/gpu/drm/i915/i915_perf.c                   |  10 +-
> > >  drivers/gpu/drm/i915/i915_pmu.c                    |   4 +-
> > >  drivers/gpu/drm/i915/i915_query.c                  |  62 ++++
> > >  drivers/gpu/drm/i915/i915_reg.h                    |  17 +-
> > >  drivers/gpu/drm/i915/i915_request.c                |   5 +-
> > >  drivers/gpu/drm/i915/i915_vma.c                    |  31 +-
> > >  drivers/gpu/drm/i915/intel_memory_region.c         |  29 +-
> > >  drivers/gpu/drm/i915/intel_memory_region.h         |  18 +-
> > >  drivers/gpu/drm/i915/intel_uncore.c                |  12 +
> > >  drivers/gpu/drm/i915/selftests/i915_active.c       |   2 +-
> > >  drivers/gpu/drm/i915/selftests/i915_gem.c          |  20 +-
> > >  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
> > >  drivers/gpu/drm/i915/selftests/i915_perf.c         |   3 +-
> > >  drivers/gpu/drm/i915/selftests/i915_vma.c          |   3 +
> > >  drivers/gpu/drm/i915/selftests/igt_spinner.c       |   4 +-
> > >  .../gpu/drm/i915/selftests/intel_memory_region.c   |  87 ++++-
> > >  drivers/gpu/drm/i915/selftests/librapl.c           |  10 +
> > >  drivers/gpu/drm/i915/selftests/librapl.h           |   4 +
> > >  include/uapi/drm/i915_drm.h                        | 393 +++++++++++++++++++--
> > >  92 files changed, 2018 insertions(+), 575 deletions(-)
> > >  create mode 100644 Documentation/gpu/driver-uapi.rst
> > >  create mode 100644 Documentation/gpu/rfc/i915_gem_lmem.rst

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2021-05-28  7:27 ` Joonas Lahtinen
@ 2021-06-02  0:28   ` Dave Airlie
  2021-06-02  4:17     ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Dave Airlie @ 2021-06-02  0:28 UTC (permalink / raw)
  To: Joonas Lahtinen
  Cc: DRM maintainer tools announcements, discussion, and development,
	Daniel Vetter, dri-devel, Rodrigo Vivi, Sean Paul,
	Intel Graphics Development

This has these two patches applied, and it doesn't build.

  drm/i915: drop the __i915_active_call pointer packing
  drm/i915: Fix crash in auto_retire

The latter patch shouldn't be necessary after the former, please fix
that up and resend and please build test trees before I get them in
future.

Dave.


On Fri, 28 May 2021 at 17:27, Joonas Lahtinen
<joonas.lahtinen@linux.intel.com> wrote:
>
> Quoting Joonas Lahtinen (2021-05-28 10:25:57)
> > Hi Dave & Daniel,
> >
> > Here's drm-intel-gt-next pull request.
> >
> > Most notably it has the reworked DG1 uAPI (behind CONFIG_BROKEN)
> > as requested. Important fix for Gitlab issues #3293 and #3450 and
> > one another kernel crash. Adds missing workarounds for Gen11 and
> > Gen12. Hiding of modparams for compiled-out features. Conversion
> > to use trylock shrinking for BSW VT-d and BXT.
> >
> > Then there are the uAPI kerneldoc improvements as part of the DG1
> > uAPI rework. Usual amount smaller fixes, code refactoring and
> > cleanups as prep for upcoming patches.
>
> And includes tag 'topic/intel-gen-to-ver-2021-04-19' (but that is
> already merged to drm-next).
>
> Regards, Joonas
>
> > Regards, Joonas
> >
> > ***
> >
> > drm-intel-gt-next-2021-05-28:
> >
> > UAPI Changes:
> > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> >
> > Driver Changes:
> >
> > - Fix for Gitlab issues #3293 and #3450:
> >   Avoid kernel crash on older L-shape memory machines
> >
> > - Hide modparams for compiled-out features (Tvrtko)
> > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> > - Fix crash in auto_retire active retire callback due to
> >   misalignment (Stephane)
> > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> > - Fix overlay active retire callback alignment (Tvrtko)
> > - Eliminate need to align active retire callbacks (Matt A, Ville,
> >   Daniel)
> > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> > - Create stolen memory region from local memory on DG1 (CQ)
> > - Place PD in LMEM on dGFX (Matt A)
> > - Use WC when default state object is allocated in LMEM (Venkata)
> > - Determine the coherent map type based on object location (Venkata)
> > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> > - Bypass aperture on fbdev when LMEM is available (Anusha)
> > - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> > - Do release kernel context if breadcrumb measure fails (Janusz)
> > - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> > - Check actual RC6 enable status in PMU (Tvrtko)
> > - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> > - Remove erroneous i915_is_ggtt check for
> >   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> >
> > - Convert uAPI headers to real kerneldoc (Matt A)
> > - Clean up kerneldoc warnings headers (Matt A, Maarten)
> > - Fail driver if LMEM training failed (Matt R)
> > - Avoid div-by-zero on Gen2 (Ville)
> > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> > - Remove reference to struct drm_device.pdev (Thomas)
> > - Increase separation between GuC and execlists code (Chris, Matt B)
> >
> > - Use might_alloc() (Bernard)
> > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> > - Deduplicate Wa_22010271021 programming on (Jose)
> > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> > - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> > - Shuffle around init_memory_region for stolen (Matt)
> > - Typo fixes (wengjianfeng)
> >
> > The following changes since commit 425390c5dce6da76578389629d19517fcd79c959:
> >
> >   drm/i915: split dgfx features from gen 12 (2021-04-14 13:05:06 +0300)
> >
> > are available in the Git repository at:
> >
> >   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-05-28
> >
> > for you to fetch changes up to 5b26d57fdb499c2363f3d895ef008e73ec02eb9b:
> >
> >   drm/i915: Add Wa_14010733141 (2021-05-27 11:05:09 -0700)
> >
> > ----------------------------------------------------------------
> > UAPI Changes:
> > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> >
> > Driver Changes:
> >
> > - Fix for Gitlab issues #3293 and #3450:
> >   Avoid kernel crash on older L-shape memory machines
> >
> > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> > - Fix crash in auto_retire active retire callback due to
> >   misalignment (Stephane)
> > - Fix overlay active retire callback alignment (Tvrtko)
> > - Eliminate need to align active retire callbacks (Matt A, Ville,
> >   Daniel)
> > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> > - Create stolen memory region from local memory on DG1 (CQ)
> > - Place PD in LMEM on dGFX (Matt A)
> > - Use WC when default state object is allocated in LMEM (Venkata)
> > - Determine the coherent map type based on object location (Venkata)
> > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> > - Bypass aperture on fbdev when LMEM is available (Anusha)
> > - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> > - Do release kernel context if breadcrumb measure fails (Janusz)
> > - Hide modparams for compiled-out features (Tvrtko)
> > - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> > - Check actual RC6 enable status in PMU (Tvrtko)
> > - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> > - Remove erroneous i915_is_ggtt check for
> >   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> >
> > - Convert uAPI headers to real kerneldoc (Matt A)
> > - Clean up kerneldoc warnings headers (Matt A, Maarten)
> > - Fail driver if LMEM training failed (Matt R)
> > - Avoid div-by-zero on Gen2 (Ville)
> > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> > - Remove reference to struct drm_device.pdev (Thomas)
> > - Increase separation between GuC and execlists code (Chris, Matt B)
> >
> > - Use might_alloc() (Bernard)
> > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> > - Deduplicate Wa_22010271021 programming on (Jose)
> > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> > - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> > - Shuffle around init_memory_region for stolen (Matt)
> > - Typo fixes (wengjianfeng)
> >
> > ----------------------------------------------------------------
> > Abdiel Janulgue (1):
> >       drm/i915/query: Expose memory regions through the query uAPI
> >
> > Aditya Swarup (1):
> >       drm/i915: Add Wa_14010733141
> >
> > Anusha Srivatsa (1):
> >       drm/i915/lmem: Bypass aperture when lmem is available
> >
> > Bernard Zhao (1):
> >       drm/i915: Use might_alloc()
> >
> > CQ Tang (2):
> >       drm/i915: Create stolen memory region from local memory
> >       drm/i915/stolen: enforce the min_page_size contract
> >
> > Caz Yokoyama (2):
> >       drm/i915/gen12: Add recommended hardware tuning value
> >       drm/i915/icl: add Wa_22010271021 for all gen11
> >
> > Chris Wilson (6):
> >       drm/i915/selftests: Skip aperture remapping selftest where there is no aperture
> >       drm/i915/selftests: Only query RAPL for integrated power measurements
> >       drm/i915/gem: Pin the L-shape quirked object as unshrinkable
> >       drm/i915/gt: Move engine setup out of set_default_submission
> >       drm/i915/gt: Move submission_method into intel_gt
> >       drm/i915/gt: Move CS interrupt handler to the backend
> >
> > Hsin-Yi Wang (1):
> >       drm/i915/selftests: Rename pm_ prefixed functions names
> >
> > Janusz Krzysztofik (1):
> >       drm/i915/gt: Do release kernel context if breadcrumb measure fails
> >
> > Joonas Lahtinen (1):
> >       Merge tag 'topic/intel-gen-to-ver-2021-04-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
> >
> > José Roberto de Souza (1):
> >       drm/i915: Move Wa_16011163337 to gen12_ctx_workarounds_init()
> >
> > Lv Yunlong (1):
> >       drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
> >
> > Maarten Lankhorst (4):
> >       drm/i915: Fix docbook descriptions for i915_gem_shrinker
> >       drm/i915: Fix docbook descriptions for i915_cmd_parser
> >       drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.
> >       drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK
> >
> > Matt Roper (1):
> >       drm/i915/lmem: Fail driver init if LMEM training failed
> >
> > Matthew Auld (19):
> >       drm/i915/uapi: fix kernel doc warnings
> >       drm/i915/uapi: convert i915_user_extension to kernel doc
> >       drm/i915/uapi: convert i915_query and friend to kernel doc
> >       drm/doc: add section for driver uAPI
> >       drm/i915/stolen: treat stolen local as normal local memory
> >       drm/i915/stolen: actually mark as contiguous
> >       drm/i915/gtt: map the PD up front
> >       drm/i915/gtt/dgfx: place the PD in LMEM
> >       drm/doc/rfc: i915 DG1 uAPI
> >       drm/i915: mark stolen as private
> >       drm/i915: rework gem_create flow for upcoming extensions
> >       drm/i915/uapi: introduce drm_i915_gem_create_ext
> >       drm/i915/uapi: implement object placement extension
> >       drm/i915/lmem: support optional CPU clearing for special internal use
> >       drm/i915/gem: clear userspace buffers for LMEM
> >       drm/i915/gem: hide new uAPI behind CONFIG_BROKEN
> >       drm/i915: drop the __i915_active_call pointer packing
> >       drm/i915/stolen: shuffle around init_memory_region
> >       drm/doc/rfc: drop the i915_gem_lmem.h header
> >
> > Mohammed Khajapasha (2):
> >       drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete
> >       drm/i915: Return error value when bo not in LMEM for discrete
> >
> > Stéphane Marchesin (1):
> >       drm/i915: Fix crash in auto_retire
> >
> > Swathi Dhanavanthri (1):
> >       drm/i915: Add Wa_14011060649
> >
> > Thomas Zimmermann (1):
> >       drm/i915/gem: Remove reference to struct drm_device.pdev
> >
> > Tvrtko Ursulin (6):
> >       drm/i915: Take request reference before arming the watchdog timer
> >       drm/i915/pmu: Check actual RC6 status
> >       drm/i915/overlay: Fix active retire callback alignment
> >       drm/i915/selftests: Fix active retire callback alignment
> >       drm/i915: Drop duplicate WaDisable4x2SubspanOptimization:hsw
> >       drm/i915/params: Align visibility of device level and global modparams
> >
> > Venkata Ramana Nayana (1):
> >       drm/i915/dg1: Fix mapping type for default state object
> >
> > Venkata Sandeep Dhanalakota (1):
> >       drm/i915: Update the helper to set correct mapping
> >
> > Ville Syrjälä (3):
> >       drm/i915: Avoid div-by-zero on gen2
> >       drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
> >       drm/i915: Give C0DRB3/C1DRB3 a _BW suffix
> >
> > wengjianfeng (1):
> >       drm/i915/gt: fix typo issue
> >
> >  Documentation/gpu/driver-uapi.rst                  |   8 +
> >  Documentation/gpu/index.rst                        |   1 +
> >  Documentation/gpu/rfc/i915_gem_lmem.rst            | 131 +++++++
> >  Documentation/gpu/rfc/index.rst                    |   4 +
> >  drivers/gpu/drm/i915/display/intel_display.c       |  10 +
> >  drivers/gpu/drm/i915/display/intel_fbdev.c         |  51 ++-
> >  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   4 +-
> >  drivers/gpu/drm/i915/display/intel_overlay.c       |   5 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_context.c        |   3 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_create.c         | 345 ++++++++++++++++--
> >  drivers/gpu/drm/i915/gem/i915_gem_ioctls.h         |   2 +
> >  drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  20 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   5 +
> >  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_object.c         |   3 +
> >  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  14 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   2 +
> >  drivers/gpu/drm/i915/gem/i915_gem_region.c         |  22 ++
> >  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  14 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 159 +++++++--
> >  drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   3 +-
> >  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  11 +-
> >  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  26 ++
> >  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  13 +-
> >  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  32 +-
> >  drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
> >  drivers/gpu/drm/i915/gt/intel_engine.h             |   8 +-
> >  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  21 +-
> >  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   2 +-
> >  drivers/gpu/drm/i915/gt/intel_engine_types.h       |  14 +-
> >  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  95 +++--
> >  .../gpu/drm/i915/gt/intel_execlists_submission.h   |   3 -
> >  drivers/gpu/drm/i915/gt/intel_ggtt.c               |  10 +-
> >  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   6 +-
> >  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   3 +-
> >  drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  82 ++---
> >  drivers/gpu/drm/i915/gt/intel_gt_irq.h             |  23 ++
> >  drivers/gpu/drm/i915/gt/intel_gt_types.h           |   7 +
> >  drivers/gpu/drm/i915/gt/intel_gtt.c                |  91 +++--
> >  drivers/gpu/drm/i915/gt/intel_gtt.h                |  12 +-
> >  drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
> >  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   7 +-
> >  drivers/gpu/drm/i915/gt/intel_reset.c              | 201 +++++++----
> >  drivers/gpu/drm/i915/gt/intel_ring.c               |  11 +-
> >  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  12 +-
> >  drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
> >  drivers/gpu/drm/i915/gt/intel_timeline.c           |   4 +-
> >  drivers/gpu/drm/i915/gt/intel_workarounds.c        | 100 ++++--
> >  drivers/gpu/drm/i915/gt/mock_engine.c              |   2 +-
> >  drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
> >  .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
> >  drivers/gpu/drm/i915/gt/selftest_execlists.c       |   2 +-
> >  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   4 +-
> >  drivers/gpu/drm/i915/gt/selftest_lrc.c             |   4 +-
> >  drivers/gpu/drm/i915/gt/selftest_rc6.c             |  32 +-
> >  drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
> >  drivers/gpu/drm/i915/gt/selftest_rps.c             |   6 +-
> >  drivers/gpu/drm/i915/gt/shmem_utils.c              |   4 +-
> >  drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   4 +-
> >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  64 ++--
> >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   1 -
> >  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   4 +-
> >  drivers/gpu/drm/i915/i915_active.c                 |  11 +-
> >  drivers/gpu/drm/i915/i915_active.h                 |  11 +-
> >  drivers/gpu/drm/i915/i915_active_types.h           |   5 -
> >  drivers/gpu/drm/i915/i915_cmd_parser.c             |  18 +-
> >  drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
> >  drivers/gpu/drm/i915/i915_drv.c                    |   1 +
> >  drivers/gpu/drm/i915/i915_drv.h                    |  29 +-
> >  drivers/gpu/drm/i915/i915_gem.c                    |  25 +-
> >  drivers/gpu/drm/i915/i915_irq.c                    |  10 +-
> >  drivers/gpu/drm/i915/i915_params.h                 |   8 +-
> >  drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
> >  drivers/gpu/drm/i915/i915_perf.c                   |  10 +-
> >  drivers/gpu/drm/i915/i915_pmu.c                    |   4 +-
> >  drivers/gpu/drm/i915/i915_query.c                  |  62 ++++
> >  drivers/gpu/drm/i915/i915_reg.h                    |  17 +-
> >  drivers/gpu/drm/i915/i915_request.c                |   5 +-
> >  drivers/gpu/drm/i915/i915_vma.c                    |  31 +-
> >  drivers/gpu/drm/i915/intel_memory_region.c         |  29 +-
> >  drivers/gpu/drm/i915/intel_memory_region.h         |  18 +-
> >  drivers/gpu/drm/i915/intel_uncore.c                |  12 +
> >  drivers/gpu/drm/i915/selftests/i915_active.c       |   2 +-
> >  drivers/gpu/drm/i915/selftests/i915_gem.c          |  20 +-
> >  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
> >  drivers/gpu/drm/i915/selftests/i915_perf.c         |   3 +-
> >  drivers/gpu/drm/i915/selftests/i915_vma.c          |   3 +
> >  drivers/gpu/drm/i915/selftests/igt_spinner.c       |   4 +-
> >  .../gpu/drm/i915/selftests/intel_memory_region.c   |  87 ++++-
> >  drivers/gpu/drm/i915/selftests/librapl.c           |  10 +
> >  drivers/gpu/drm/i915/selftests/librapl.h           |   4 +
> >  include/uapi/drm/i915_drm.h                        | 393 +++++++++++++++++++--
> >  92 files changed, 2018 insertions(+), 575 deletions(-)
> >  create mode 100644 Documentation/gpu/driver-uapi.rst
> >  create mode 100644 Documentation/gpu/rfc/i915_gem_lmem.rst

^ permalink raw reply	[flat|nested] 68+ messages in thread

* Re: [PULL] drm-intel-gt-next
  2021-05-28  7:25 Joonas Lahtinen
@ 2021-05-28  7:27 ` Joonas Lahtinen
  2021-06-02  0:28   ` Dave Airlie
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2021-05-28  7:27 UTC (permalink / raw)
  To: Daniel Vetter, Dave Airlie
  Cc: dim-tools, intel-gfx, dri-devel, Rodrigo Vivi, Sean Paul

Quoting Joonas Lahtinen (2021-05-28 10:25:57)
> Hi Dave & Daniel,
> 
> Here's drm-intel-gt-next pull request.
> 
> Most notably it has the reworked DG1 uAPI (behind CONFIG_BROKEN)
> as requested. Important fix for Gitlab issues #3293 and #3450 and
> one another kernel crash. Adds missing workarounds for Gen11 and
> Gen12. Hiding of modparams for compiled-out features. Conversion
> to use trylock shrinking for BSW VT-d and BXT.
> 
> Then there are the uAPI kerneldoc improvements as part of the DG1
> uAPI rework. Usual amount smaller fixes, code refactoring and
> cleanups as prep for upcoming patches.

And includes tag 'topic/intel-gen-to-ver-2021-04-19' (but that is
already merged to drm-next).

Regards, Joonas

> Regards, Joonas
> 
> ***
> 
> drm-intel-gt-next-2021-05-28:
> 
> UAPI Changes:
> - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> 
> Driver Changes:
> 
> - Fix for Gitlab issues #3293 and #3450:
>   Avoid kernel crash on older L-shape memory machines
> 
> - Hide modparams for compiled-out features (Tvrtko)
> - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> - Fix crash in auto_retire active retire callback due to
>   misalignment (Stephane)
> - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> - Fix overlay active retire callback alignment (Tvrtko)
> - Eliminate need to align active retire callbacks (Matt A, Ville,
>   Daniel)
> - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> - Create stolen memory region from local memory on DG1 (CQ)
> - Place PD in LMEM on dGFX (Matt A)
> - Use WC when default state object is allocated in LMEM (Venkata)
> - Determine the coherent map type based on object location (Venkata)
> - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> - Bypass aperture on fbdev when LMEM is available (Anusha)
> - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> - Do release kernel context if breadcrumb measure fails (Janusz)
> - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> - Check actual RC6 enable status in PMU (Tvrtko)
> - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> - Remove erroneous i915_is_ggtt check for
>   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> 
> - Convert uAPI headers to real kerneldoc (Matt A)
> - Clean up kerneldoc warnings headers (Matt A, Maarten)
> - Fail driver if LMEM training failed (Matt R)
> - Avoid div-by-zero on Gen2 (Ville)
> - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> - Remove reference to struct drm_device.pdev (Thomas)
> - Increase separation between GuC and execlists code (Chris, Matt B)
> 
> - Use might_alloc() (Bernard)
> - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> - Deduplicate Wa_22010271021 programming on (Jose)
> - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> - Shuffle around init_memory_region for stolen (Matt)
> - Typo fixes (wengjianfeng)
> 
> The following changes since commit 425390c5dce6da76578389629d19517fcd79c959:
> 
>   drm/i915: split dgfx features from gen 12 (2021-04-14 13:05:06 +0300)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-05-28
> 
> for you to fetch changes up to 5b26d57fdb499c2363f3d895ef008e73ec02eb9b:
> 
>   drm/i915: Add Wa_14010733141 (2021-05-27 11:05:09 -0700)
> 
> ----------------------------------------------------------------
> UAPI Changes:
> - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)
> 
> Driver Changes:
> 
> - Fix for Gitlab issues #3293 and #3450:
>   Avoid kernel crash on older L-shape memory machines
> 
> - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
> - Fix crash in auto_retire active retire callback due to
>   misalignment (Stephane)
> - Fix overlay active retire callback alignment (Tvrtko)
> - Eliminate need to align active retire callbacks (Matt A, Ville,
>   Daniel)
> - Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
> - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
> - Create stolen memory region from local memory on DG1 (CQ)
> - Place PD in LMEM on dGFX (Matt A)
> - Use WC when default state object is allocated in LMEM (Venkata)
> - Determine the coherent map type based on object location (Venkata)
> - Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
> - Bypass aperture on fbdev when LMEM is available (Anusha)
> - Return error value when displayable BO not in LMEM for dGFX (Mohammed)
> - Do release kernel context if breadcrumb measure fails (Janusz)
> - Hide modparams for compiled-out features (Tvrtko)
> - Apply Wa_22010271021 for all Gen11 platforms (Caz)
> - Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
> - Check actual RC6 enable status in PMU (Tvrtko)
> - Fix a double free in gen8_preallocate_top_level_pdp (Lv)
> - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
> - Remove erroneous i915_is_ggtt check for
>   I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)
> 
> - Convert uAPI headers to real kerneldoc (Matt A)
> - Clean up kerneldoc warnings headers (Matt A, Maarten)
> - Fail driver if LMEM training failed (Matt R)
> - Avoid div-by-zero on Gen2 (Ville)
> - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
> - Remove reference to struct drm_device.pdev (Thomas)
> - Increase separation between GuC and execlists code (Chris, Matt B)
> 
> - Use might_alloc() (Bernard)
> - Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
> - Deduplicate Wa_22010271021 programming on (Jose)
> - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
> - Selftest improvements (Chris, Hsin-Yi, Tvrtko)
> - Shuffle around init_memory_region for stolen (Matt)
> - Typo fixes (wengjianfeng)
> 
> ----------------------------------------------------------------
> Abdiel Janulgue (1):
>       drm/i915/query: Expose memory regions through the query uAPI
> 
> Aditya Swarup (1):
>       drm/i915: Add Wa_14010733141
> 
> Anusha Srivatsa (1):
>       drm/i915/lmem: Bypass aperture when lmem is available
> 
> Bernard Zhao (1):
>       drm/i915: Use might_alloc()
> 
> CQ Tang (2):
>       drm/i915: Create stolen memory region from local memory
>       drm/i915/stolen: enforce the min_page_size contract
> 
> Caz Yokoyama (2):
>       drm/i915/gen12: Add recommended hardware tuning value
>       drm/i915/icl: add Wa_22010271021 for all gen11
> 
> Chris Wilson (6):
>       drm/i915/selftests: Skip aperture remapping selftest where there is no aperture
>       drm/i915/selftests: Only query RAPL for integrated power measurements
>       drm/i915/gem: Pin the L-shape quirked object as unshrinkable
>       drm/i915/gt: Move engine setup out of set_default_submission
>       drm/i915/gt: Move submission_method into intel_gt
>       drm/i915/gt: Move CS interrupt handler to the backend
> 
> Hsin-Yi Wang (1):
>       drm/i915/selftests: Rename pm_ prefixed functions names
> 
> Janusz Krzysztofik (1):
>       drm/i915/gt: Do release kernel context if breadcrumb measure fails
> 
> Joonas Lahtinen (1):
>       Merge tag 'topic/intel-gen-to-ver-2021-04-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next
> 
> José Roberto de Souza (1):
>       drm/i915: Move Wa_16011163337 to gen12_ctx_workarounds_init()
> 
> Lv Yunlong (1):
>       drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
> 
> Maarten Lankhorst (4):
>       drm/i915: Fix docbook descriptions for i915_gem_shrinker
>       drm/i915: Fix docbook descriptions for i915_cmd_parser
>       drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.
>       drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK
> 
> Matt Roper (1):
>       drm/i915/lmem: Fail driver init if LMEM training failed
> 
> Matthew Auld (19):
>       drm/i915/uapi: fix kernel doc warnings
>       drm/i915/uapi: convert i915_user_extension to kernel doc
>       drm/i915/uapi: convert i915_query and friend to kernel doc
>       drm/doc: add section for driver uAPI
>       drm/i915/stolen: treat stolen local as normal local memory
>       drm/i915/stolen: actually mark as contiguous
>       drm/i915/gtt: map the PD up front
>       drm/i915/gtt/dgfx: place the PD in LMEM
>       drm/doc/rfc: i915 DG1 uAPI
>       drm/i915: mark stolen as private
>       drm/i915: rework gem_create flow for upcoming extensions
>       drm/i915/uapi: introduce drm_i915_gem_create_ext
>       drm/i915/uapi: implement object placement extension
>       drm/i915/lmem: support optional CPU clearing for special internal use
>       drm/i915/gem: clear userspace buffers for LMEM
>       drm/i915/gem: hide new uAPI behind CONFIG_BROKEN
>       drm/i915: drop the __i915_active_call pointer packing
>       drm/i915/stolen: shuffle around init_memory_region
>       drm/doc/rfc: drop the i915_gem_lmem.h header
> 
> Mohammed Khajapasha (2):
>       drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete
>       drm/i915: Return error value when bo not in LMEM for discrete
> 
> Stéphane Marchesin (1):
>       drm/i915: Fix crash in auto_retire
> 
> Swathi Dhanavanthri (1):
>       drm/i915: Add Wa_14011060649
> 
> Thomas Zimmermann (1):
>       drm/i915/gem: Remove reference to struct drm_device.pdev
> 
> Tvrtko Ursulin (6):
>       drm/i915: Take request reference before arming the watchdog timer
>       drm/i915/pmu: Check actual RC6 status
>       drm/i915/overlay: Fix active retire callback alignment
>       drm/i915/selftests: Fix active retire callback alignment
>       drm/i915: Drop duplicate WaDisable4x2SubspanOptimization:hsw
>       drm/i915/params: Align visibility of device level and global modparams
> 
> Venkata Ramana Nayana (1):
>       drm/i915/dg1: Fix mapping type for default state object
> 
> Venkata Sandeep Dhanalakota (1):
>       drm/i915: Update the helper to set correct mapping
> 
> Ville Syrjälä (3):
>       drm/i915: Avoid div-by-zero on gen2
>       drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
>       drm/i915: Give C0DRB3/C1DRB3 a _BW suffix
> 
> wengjianfeng (1):
>       drm/i915/gt: fix typo issue
> 
>  Documentation/gpu/driver-uapi.rst                  |   8 +
>  Documentation/gpu/index.rst                        |   1 +
>  Documentation/gpu/rfc/i915_gem_lmem.rst            | 131 +++++++
>  Documentation/gpu/rfc/index.rst                    |   4 +
>  drivers/gpu/drm/i915/display/intel_display.c       |  10 +
>  drivers/gpu/drm/i915/display/intel_fbdev.c         |  51 ++-
>  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   4 +-
>  drivers/gpu/drm/i915/display/intel_overlay.c       |   5 +-
>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |   3 +-
>  drivers/gpu/drm/i915/gem/i915_gem_create.c         | 345 ++++++++++++++++--
>  drivers/gpu/drm/i915/gem/i915_gem_ioctls.h         |   2 +
>  drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  20 +-
>  drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   5 +
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |   3 +
>  drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  14 +-
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   2 +
>  drivers/gpu/drm/i915/gem/i915_gem_region.c         |  22 ++
>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  14 +-
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 159 +++++++--
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   3 +-
>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  11 +-
>  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  26 ++
>  drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  13 +-
>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  32 +-
>  drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
>  drivers/gpu/drm/i915/gt/intel_engine.h             |   8 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  21 +-
>  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   2 +-
>  drivers/gpu/drm/i915/gt/intel_engine_types.h       |  14 +-
>  .../gpu/drm/i915/gt/intel_execlists_submission.c   |  95 +++--
>  .../gpu/drm/i915/gt/intel_execlists_submission.h   |   3 -
>  drivers/gpu/drm/i915/gt/intel_ggtt.c               |  10 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   6 +-
>  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   3 +-
>  drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  82 ++---
>  drivers/gpu/drm/i915/gt/intel_gt_irq.h             |  23 ++
>  drivers/gpu/drm/i915/gt/intel_gt_types.h           |   7 +
>  drivers/gpu/drm/i915/gt/intel_gtt.c                |  91 +++--
>  drivers/gpu/drm/i915/gt/intel_gtt.h                |  12 +-
>  drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
>  drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   7 +-
>  drivers/gpu/drm/i915/gt/intel_reset.c              | 201 +++++++----
>  drivers/gpu/drm/i915/gt/intel_ring.c               |  11 +-
>  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  12 +-
>  drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
>  drivers/gpu/drm/i915/gt/intel_timeline.c           |   4 +-
>  drivers/gpu/drm/i915/gt/intel_workarounds.c        | 100 ++++--
>  drivers/gpu/drm/i915/gt/mock_engine.c              |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
>  .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_execlists.c       |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   4 +-
>  drivers/gpu/drm/i915/gt/selftest_lrc.c             |   4 +-
>  drivers/gpu/drm/i915/gt/selftest_rc6.c             |  32 +-
>  drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
>  drivers/gpu/drm/i915/gt/selftest_rps.c             |   6 +-
>  drivers/gpu/drm/i915/gt/shmem_utils.c              |   4 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   4 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  64 ++--
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   1 -
>  drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   4 +-
>  drivers/gpu/drm/i915/i915_active.c                 |  11 +-
>  drivers/gpu/drm/i915/i915_active.h                 |  11 +-
>  drivers/gpu/drm/i915/i915_active_types.h           |   5 -
>  drivers/gpu/drm/i915/i915_cmd_parser.c             |  18 +-
>  drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
>  drivers/gpu/drm/i915/i915_drv.c                    |   1 +
>  drivers/gpu/drm/i915/i915_drv.h                    |  29 +-
>  drivers/gpu/drm/i915/i915_gem.c                    |  25 +-
>  drivers/gpu/drm/i915/i915_irq.c                    |  10 +-
>  drivers/gpu/drm/i915/i915_params.h                 |   8 +-
>  drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
>  drivers/gpu/drm/i915/i915_perf.c                   |  10 +-
>  drivers/gpu/drm/i915/i915_pmu.c                    |   4 +-
>  drivers/gpu/drm/i915/i915_query.c                  |  62 ++++
>  drivers/gpu/drm/i915/i915_reg.h                    |  17 +-
>  drivers/gpu/drm/i915/i915_request.c                |   5 +-
>  drivers/gpu/drm/i915/i915_vma.c                    |  31 +-
>  drivers/gpu/drm/i915/intel_memory_region.c         |  29 +-
>  drivers/gpu/drm/i915/intel_memory_region.h         |  18 +-
>  drivers/gpu/drm/i915/intel_uncore.c                |  12 +
>  drivers/gpu/drm/i915/selftests/i915_active.c       |   2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem.c          |  20 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
>  drivers/gpu/drm/i915/selftests/i915_perf.c         |   3 +-
>  drivers/gpu/drm/i915/selftests/i915_vma.c          |   3 +
>  drivers/gpu/drm/i915/selftests/igt_spinner.c       |   4 +-
>  .../gpu/drm/i915/selftests/intel_memory_region.c   |  87 ++++-
>  drivers/gpu/drm/i915/selftests/librapl.c           |  10 +
>  drivers/gpu/drm/i915/selftests/librapl.h           |   4 +
>  include/uapi/drm/i915_drm.h                        | 393 +++++++++++++++++++--
>  92 files changed, 2018 insertions(+), 575 deletions(-)
>  create mode 100644 Documentation/gpu/driver-uapi.rst
>  create mode 100644 Documentation/gpu/rfc/i915_gem_lmem.rst

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-05-28  7:25 Joonas Lahtinen
  2021-05-28  7:27 ` Joonas Lahtinen
  0 siblings, 1 reply; 68+ messages in thread
From: Joonas Lahtinen @ 2021-05-28  7:25 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Here's drm-intel-gt-next pull request.

Most notably it has the reworked DG1 uAPI (behind CONFIG_BROKEN)
as requested. Important fix for Gitlab issues #3293 and #3450 and
one another kernel crash. Adds missing workarounds for Gen11 and
Gen12. Hiding of modparams for compiled-out features. Conversion
to use trylock shrinking for BSW VT-d and BXT.

Then there are the uAPI kerneldoc improvements as part of the DG1
uAPI rework. Usual amount smaller fixes, code refactoring and
cleanups as prep for upcoming patches.

Regards, Joonas

***

drm-intel-gt-next-2021-05-28:

UAPI Changes:
- Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)

Driver Changes:

- Fix for Gitlab issues #3293 and #3450:
  Avoid kernel crash on older L-shape memory machines

- Hide modparams for compiled-out features (Tvrtko)
- Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
- Fix crash in auto_retire active retire callback due to
  misalignment (Stephane)
- Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
- Fix overlay active retire callback alignment (Tvrtko)
- Eliminate need to align active retire callbacks (Matt A, Ville,
  Daniel)
- Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
- Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
- Create stolen memory region from local memory on DG1 (CQ)
- Place PD in LMEM on dGFX (Matt A)
- Use WC when default state object is allocated in LMEM (Venkata)
- Determine the coherent map type based on object location (Venkata)
- Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
- Bypass aperture on fbdev when LMEM is available (Anusha)
- Return error value when displayable BO not in LMEM for dGFX (Mohammed)
- Do release kernel context if breadcrumb measure fails (Janusz)
- Apply Wa_22010271021 for all Gen11 platforms (Caz)
- Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
- Check actual RC6 enable status in PMU (Tvrtko)
- Fix a double free in gen8_preallocate_top_level_pdp (Lv)
- Remove erroneous i915_is_ggtt check for
  I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)

- Convert uAPI headers to real kerneldoc (Matt A)
- Clean up kerneldoc warnings headers (Matt A, Maarten)
- Fail driver if LMEM training failed (Matt R)
- Avoid div-by-zero on Gen2 (Ville)
- Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
- Remove reference to struct drm_device.pdev (Thomas)
- Increase separation between GuC and execlists code (Chris, Matt B)

- Use might_alloc() (Bernard)
- Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
- Deduplicate Wa_22010271021 programming on (Jose)
- Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
- Selftest improvements (Chris, Hsin-Yi, Tvrtko)
- Shuffle around init_memory_region for stolen (Matt)
- Typo fixes (wengjianfeng)

The following changes since commit 425390c5dce6da76578389629d19517fcd79c959:

  drm/i915: split dgfx features from gen 12 (2021-04-14 13:05:06 +0300)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-05-28

for you to fetch changes up to 5b26d57fdb499c2363f3d895ef008e73ec02eb9b:

  drm/i915: Add Wa_14010733141 (2021-05-27 11:05:09 -0700)

----------------------------------------------------------------
UAPI Changes:
- Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel)

Driver Changes:

- Fix for Gitlab issues #3293 and #3450:
  Avoid kernel crash on older L-shape memory machines

- Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya)
- Fix crash in auto_retire active retire callback due to
  misalignment (Stephane)
- Fix overlay active retire callback alignment (Tvrtko)
- Eliminate need to align active retire callbacks (Matt A, Ville,
  Daniel)
- Program FF_MODE2 tuning value for all Gen12 platforms (Caz)
- Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi)
- Create stolen memory region from local memory on DG1 (CQ)
- Place PD in LMEM on dGFX (Matt A)
- Use WC when default state object is allocated in LMEM (Venkata)
- Determine the coherent map type based on object location (Venkata)
- Use lmem physical addresses for fb_mmap() on discrete (Mohammed)
- Bypass aperture on fbdev when LMEM is available (Anusha)
- Return error value when displayable BO not in LMEM for dGFX (Mohammed)
- Do release kernel context if breadcrumb measure fails (Janusz)
- Hide modparams for compiled-out features (Tvrtko)
- Apply Wa_22010271021 for all Gen11 platforms (Caz)
- Fix unlikely ref count race in arming the watchdog timer (Tvrtko)
- Check actual RC6 enable status in PMU (Tvrtko)
- Fix a double free in gen8_preallocate_top_level_pdp (Lv)
- Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten)
- Remove erroneous i915_is_ggtt check for
  I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten)

- Convert uAPI headers to real kerneldoc (Matt A)
- Clean up kerneldoc warnings headers (Matt A, Maarten)
- Fail driver if LMEM training failed (Matt R)
- Avoid div-by-zero on Gen2 (Ville)
- Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville)
- Remove reference to struct drm_device.pdev (Thomas)
- Increase separation between GuC and execlists code (Chris, Matt B)

- Use might_alloc() (Bernard)
- Split DGFX_FEATURES from GEN12_FEATURES (Lucas)
- Deduplicate Wa_22010271021 programming on (Jose)
- Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko)
- Selftest improvements (Chris, Hsin-Yi, Tvrtko)
- Shuffle around init_memory_region for stolen (Matt)
- Typo fixes (wengjianfeng)

----------------------------------------------------------------
Abdiel Janulgue (1):
      drm/i915/query: Expose memory regions through the query uAPI

Aditya Swarup (1):
      drm/i915: Add Wa_14010733141

Anusha Srivatsa (1):
      drm/i915/lmem: Bypass aperture when lmem is available

Bernard Zhao (1):
      drm/i915: Use might_alloc()

CQ Tang (2):
      drm/i915: Create stolen memory region from local memory
      drm/i915/stolen: enforce the min_page_size contract

Caz Yokoyama (2):
      drm/i915/gen12: Add recommended hardware tuning value
      drm/i915/icl: add Wa_22010271021 for all gen11

Chris Wilson (6):
      drm/i915/selftests: Skip aperture remapping selftest where there is no aperture
      drm/i915/selftests: Only query RAPL for integrated power measurements
      drm/i915/gem: Pin the L-shape quirked object as unshrinkable
      drm/i915/gt: Move engine setup out of set_default_submission
      drm/i915/gt: Move submission_method into intel_gt
      drm/i915/gt: Move CS interrupt handler to the backend

Hsin-Yi Wang (1):
      drm/i915/selftests: Rename pm_ prefixed functions names

Janusz Krzysztofik (1):
      drm/i915/gt: Do release kernel context if breadcrumb measure fails

Joonas Lahtinen (1):
      Merge tag 'topic/intel-gen-to-ver-2021-04-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-gt-next

José Roberto de Souza (1):
      drm/i915: Move Wa_16011163337 to gen12_ctx_workarounds_init()

Lv Yunlong (1):
      drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp

Maarten Lankhorst (4):
      drm/i915: Fix docbook descriptions for i915_gem_shrinker
      drm/i915: Fix docbook descriptions for i915_cmd_parser
      drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.
      drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK

Matt Roper (1):
      drm/i915/lmem: Fail driver init if LMEM training failed

Matthew Auld (19):
      drm/i915/uapi: fix kernel doc warnings
      drm/i915/uapi: convert i915_user_extension to kernel doc
      drm/i915/uapi: convert i915_query and friend to kernel doc
      drm/doc: add section for driver uAPI
      drm/i915/stolen: treat stolen local as normal local memory
      drm/i915/stolen: actually mark as contiguous
      drm/i915/gtt: map the PD up front
      drm/i915/gtt/dgfx: place the PD in LMEM
      drm/doc/rfc: i915 DG1 uAPI
      drm/i915: mark stolen as private
      drm/i915: rework gem_create flow for upcoming extensions
      drm/i915/uapi: introduce drm_i915_gem_create_ext
      drm/i915/uapi: implement object placement extension
      drm/i915/lmem: support optional CPU clearing for special internal use
      drm/i915/gem: clear userspace buffers for LMEM
      drm/i915/gem: hide new uAPI behind CONFIG_BROKEN
      drm/i915: drop the __i915_active_call pointer packing
      drm/i915/stolen: shuffle around init_memory_region
      drm/doc/rfc: drop the i915_gem_lmem.h header

Mohammed Khajapasha (2):
      drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on discrete
      drm/i915: Return error value when bo not in LMEM for discrete

Stéphane Marchesin (1):
      drm/i915: Fix crash in auto_retire

Swathi Dhanavanthri (1):
      drm/i915: Add Wa_14011060649

Thomas Zimmermann (1):
      drm/i915/gem: Remove reference to struct drm_device.pdev

Tvrtko Ursulin (6):
      drm/i915: Take request reference before arming the watchdog timer
      drm/i915/pmu: Check actual RC6 status
      drm/i915/overlay: Fix active retire callback alignment
      drm/i915/selftests: Fix active retire callback alignment
      drm/i915: Drop duplicate WaDisable4x2SubspanOptimization:hsw
      drm/i915/params: Align visibility of device level and global modparams

Venkata Ramana Nayana (1):
      drm/i915/dg1: Fix mapping type for default state object

Venkata Sandeep Dhanalakota (1):
      drm/i915: Update the helper to set correct mapping

Ville Syrjälä (3):
      drm/i915: Avoid div-by-zero on gen2
      drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
      drm/i915: Give C0DRB3/C1DRB3 a _BW suffix

wengjianfeng (1):
      drm/i915/gt: fix typo issue

 Documentation/gpu/driver-uapi.rst                  |   8 +
 Documentation/gpu/index.rst                        |   1 +
 Documentation/gpu/rfc/i915_gem_lmem.rst            | 131 +++++++
 Documentation/gpu/rfc/index.rst                    |   4 +
 drivers/gpu/drm/i915/display/intel_display.c       |  10 +
 drivers/gpu/drm/i915/display/intel_fbdev.c         |  51 ++-
 drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   4 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |   5 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_create.c         | 345 ++++++++++++++++--
 drivers/gpu/drm/i915/gem/i915_gem_ioctls.h         |   2 +
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  20 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   5 +
 drivers/gpu/drm/i915/gem/i915_gem_mman.c           |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   2 +
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  22 ++
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |  14 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         | 159 +++++++--
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   3 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |  11 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |  26 ++
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  13 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  32 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   8 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  21 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   2 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |  14 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  95 +++--
 .../gpu/drm/i915/gt/intel_execlists_submission.h   |   3 -
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  10 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   6 +-
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |  82 ++---
 drivers/gpu/drm/i915/gt/intel_gt_irq.h             |  23 ++
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   7 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  91 +++--
 drivers/gpu/drm/i915/gt/intel_gtt.h                |  12 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   7 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              | 201 +++++++----
 drivers/gpu/drm/i915/gt/intel_ring.c               |  11 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |  12 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |   4 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        | 100 ++++--
 drivers/gpu/drm/i915/gt/mock_engine.c              |   2 +-
 drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   2 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |   2 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   4 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   4 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |  32 +-
 drivers/gpu/drm/i915/gt/selftest_ring_submission.c |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |   6 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c              |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  64 ++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |   1 -
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   4 +-
 drivers/gpu/drm/i915/i915_active.c                 |  11 +-
 drivers/gpu/drm/i915/i915_active.h                 |  11 +-
 drivers/gpu/drm/i915/i915_active_types.h           |   5 -
 drivers/gpu/drm/i915/i915_cmd_parser.c             |  18 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
 drivers/gpu/drm/i915/i915_drv.c                    |   1 +
 drivers/gpu/drm/i915/i915_drv.h                    |  29 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  25 +-
 drivers/gpu/drm/i915/i915_irq.c                    |  10 +-
 drivers/gpu/drm/i915/i915_params.h                 |   8 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
 drivers/gpu/drm/i915/i915_perf.c                   |  10 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   4 +-
 drivers/gpu/drm/i915/i915_query.c                  |  62 ++++
 drivers/gpu/drm/i915/i915_reg.h                    |  17 +-
 drivers/gpu/drm/i915/i915_request.c                |   5 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  31 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |  29 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |  18 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  12 +
 drivers/gpu/drm/i915/selftests/i915_active.c       |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem.c          |  20 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  10 +-
 drivers/gpu/drm/i915/selftests/i915_perf.c         |   3 +-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |   3 +
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |   4 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  87 ++++-
 drivers/gpu/drm/i915/selftests/librapl.c           |  10 +
 drivers/gpu/drm/i915/selftests/librapl.h           |   4 +
 include/uapi/drm/i915_drm.h                        | 393 +++++++++++++++++++--
 92 files changed, 2018 insertions(+), 575 deletions(-)
 create mode 100644 Documentation/gpu/driver-uapi.rst
 create mode 100644 Documentation/gpu/rfc/i915_gem_lmem.rst

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-04-06 13:40 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-04-06 13:40 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Bit late PR due to Easter break. 

Prep work for local memory support as requested. Hard hang
fix for Sandybridge. Sanitize dma-buf size on import and
avoid GPU reset if heartbeat callback runs before timeout.

The rest is mostly small fixes and code/checkpatch cleanups.

Regards, Joonas

***

drm-intel-gt-next-2021-04-06:
Driver Changes:

- Prepare for local/device memory support on DG1 by starting
  to use it for kernel internal allocations: context, ring
  and engine scratch (Matt A, CQ, Abdiel, Imre)
- Sandybridge fix to avoid hard hang on ring resume (Chris)
- Limit imported dma-buf size to int32 (Matt A)
- Double check heartbeat timeout before resetting (Chris)

- Use new tasklet API for execution list (Emil)
- Fix SPDX checkpats warnings (Chris)
- Fixes for various checkpatch warnings (Chris)
- Selftest improvements (Chris)
- Move the defer_request waiter active assertion to correct spot (Chris)
- Make local-memory probing a GT operation (Matt, Tvrtko)
- Protect against request freeing during cancellation on wedging (Chris)
- Retire unexpected starting state error dumping (Chris)
- Distinction of memory regions in debugging (Zbigniew)
- Always flush the submission queue on checking for idle (Chris)

- Consolidate 2big error check to helper (Matt)
- Decrease number of subplatform bits (Tvrtko)
- Remove unused internal request priority levels (Chris)
- Document the unused internal header bits in buddy allocator (Matt)
- Cleanup the region class/instance encoding (Matt)

The following changes since commit 06debd6e1b28029e6e77c41e59a162868f377897:

  Merge tag 'drm-intel-next-2021-03-16' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2021-03-18 08:06:34 +1000)

are available in the Git repository at:

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

for you to fetch changes up to 2da21daa7d93817fa82f703c29adfcb5eed7f77d:

  drm/i915/gt: Always flush the submission queue on checking for idle (2021-03-24 19:31:59 +0100)

----------------------------------------------------------------
Driver Changes:

- Prepare for local/device memory support on DG1 by starting
  to use it for kernel internal allocations: context, ring
  and engine scratch (Matt A, CQ, Abdiel, Imre)
- Sandybridge fix to avoid hard hang on ring resume (Chris)
- Limit imported dma-buf size to int32 (Matt A)
- Double check heartbeat timeout before resetting (Chris)

- Use new tasklet API for execution list (Emil)
- Fix SPDX checkpats warnings (Chris)
- Fixes for various checkpatch warnings (Chris)
- Selftest improvements (Chris)
- Move the defer_request waiter active assertion to correct spot (Chris)
- Make local-memory probing a GT operation (Matt, Tvrtko)
- Protect against request freeing during cancellation on wedging (Chris)
- Retire unexpected starting state error dumping (Chris)
- Distinction of memory regions in debugging (Zbigniew)
- Always flush the submission queue on checking for idle (Chris)

- Consolidate 2big error check to helper (Matt)
- Decrease number of subplatform bits (Tvrtko)
- Remove unused internal request priority levels (Chris)
- Document the unused internal header bits in buddy allocator (Matt)
- Cleanup the region class/instance encoding (Matt)

----------------------------------------------------------------
Abdiel Janulgue (1):
      drm/i915: introduce mem->reserved

CQ Tang (1):
      drm/i915: reserve stolen for LMEM region

Chris Wilson (22):
      drm/i915: Strip out internal priorities
      drm/i915: Remove I915_USER_PRIORITY_SHIFT
      drm/i915/gt: Call stop_ring() from ring resume, again
      drm/i915/gt: SPDX cleanup
      drm/i915/gt: Add some missing blank lines after declaration
      drm/i915/gt: Remove repeated words from comments
      drm/i915/gt: Fixup misaligned function parameters
      drm/i915/gt: Remove a bonus newline
      drm/i915/gt: Wrap macro arg in ()
      drm/i915/gt: Insert spaces into GEN3_L3LOG_SIZE/4
      drm/i915/gt: Replace unnecessary ',' with '; '
      drm/i915/gt: Add a space before '('
      drm/i915/gt: Replace 'return' with a fall-through
      drm/i915/selftests: Check for engine-reset errors in the middle of workarounds
      drm/i915/gt: Move the defer_request waiter active assertion
      drm/i915: Protect against request freeing during cancellation on wedging
      drm/i915/selftests: Use a single copy of the mocs table
      drm/i915/gt: Retire unexpected starting state error dumping
      drm/i915/selftests: Restore previous heartbeat interval
      drm/i915/gt: Double check heartbeat timeout before resetting
      drm/i915/selftest: Synchronise with the GPU timestamp
      drm/i915/gt: Always flush the submission queue on checking for idle

Emil Renner Berthing (1):
      drm/i915/gt: use new tasklet API for execution list

Imre Deak (1):
      drm/i915/dg1: Reserve first 1MB of local memory

Matthew Auld (11):
      drm/i915/gem: don't trust the dma_buf->size
      drm/i915/gem: consolidate 2big error checking for object sizes
      drm/i915/buddy: document the unused header bits
      drm/i915: make local-memory probing a GT operation
      drm/i915: setup the LMEM region
      drm/i915: allocate context from LMEM
      drm/i915: move engine scratch to LMEM
      drm/i915/gtt/dg1: add PTE_LM plumbing for ppGTT
      drm/i915/gtt/dg1: add PTE_LM plumbing for GGTT
      drm/i915: cleanup the region class/instance encoding
      drm/i915: give stolen system memory its own class

Michel Thierry (1):
      drm/i915: allocate cmd ring in lmem

Tvrtko Ursulin (1):
      drm/i915: Decrease number of subplatform bits

Zbigniew Kempczyński (1):
      drm/i915: Distinction of memory regions

 drivers/gpu/drm/i915/display/intel_display.c       |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   6 +-
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c         |   3 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  26 ++++
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c        |  16 +--
 .../drm/i915/gem/selftests/i915_gem_object_blt.c   |   4 +-
 drivers/gpu/drm/i915/gt/debugfs_gt.c               |   2 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.h               |   4 +-
 drivers/gpu/drm/i915/gt/gen6_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen7_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  13 +-
 drivers/gpu/drm/i915/gt/gen8_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/gen9_renderstate.c         |  20 +--
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  23 +---
 drivers/gpu/drm/i915/gt/intel_context.c            |   3 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   3 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  35 +----
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |  26 ++--
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h   |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.h        |   3 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |  97 +++++---------
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |  26 +++-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |  23 +---
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h       |  21 +--
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  44 ++++++-
 drivers/gpu/drm/i915/gt/intel_gt.h                 |   1 +
 .../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h   |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |   1 -
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.h             |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c          |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.h        |   3 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   5 +
 drivers/gpu/drm/i915/gt/intel_llc.c                |   3 +-
 drivers/gpu/drm/i915/gt/intel_llc.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_llc_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   6 +-
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |   5 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  21 +--
 drivers/gpu/drm/i915/gt/intel_mocs.h               |  22 +---
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   4 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   4 +-
 drivers/gpu/drm/i915/gt/intel_rc6.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rc6_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |  97 +++++++++++++-
 drivers/gpu/drm/i915/gt/intel_region_lmem.h        |   6 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |  27 +---
 drivers/gpu/drm/i915/gt/intel_renderstate.h        |  20 +--
 drivers/gpu/drm/i915/gt/intel_reset.c              |  18 +--
 drivers/gpu/drm/i915/gt/intel_reset.h              |   3 +-
 drivers/gpu/drm/i915/gt/intel_reset_types.h        |   2 +-
 drivers/gpu/drm/i915/gt/intel_ring.c               |   8 +-
 drivers/gpu/drm/i915/gt/intel_ring.h               |   4 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    | 146 +++++++++------------
 drivers/gpu/drm/i915/gt/intel_ring_types.h         |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps.h                |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   3 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c               |   3 +-
 drivers/gpu/drm/i915/gt/intel_sseu.h               |   3 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |   3 +-
 drivers/gpu/drm/i915/gt/intel_timeline.h           |  21 +--
 drivers/gpu/drm/i915/gt/intel_timeline_types.h     |   3 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  14 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.h        |   3 +-
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h  |   3 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |  29 +---
 drivers/gpu/drm/i915/gt/mock_engine.h              |  21 +--
 drivers/gpu/drm/i915/gt/selftest_context.c         |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine.c          |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine.h          |   3 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |   3 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |  17 ++-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |  11 +-
 drivers/gpu/drm/i915/gt/selftest_execlists.c       |  54 +++-----
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |   4 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  21 +--
 drivers/gpu/drm/i915/gt/selftest_llc.c             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_llc.h             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |   1 -
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |  35 +++--
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.h             |   3 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   3 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  19 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  16 +--
 drivers/gpu/drm/i915/i915_buddy.c                  |   3 +
 drivers/gpu/drm/i915/i915_buddy.h                  |   7 +-
 drivers/gpu/drm/i915/i915_drv.c                    |   6 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   2 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   2 +-
 drivers/gpu/drm/i915/i915_priolist_types.h         |  11 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   2 +
 drivers/gpu/drm/i915/i915_request.c                |   9 +-
 drivers/gpu/drm/i915/i915_request.h                |   2 +-
 drivers/gpu/drm/i915/i915_scheduler.c              |  52 +-------
 drivers/gpu/drm/i915/i915_scheduler.h              |  16 +--
 drivers/gpu/drm/i915/intel_device_info.c           |   2 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   3 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |  54 +++++---
 drivers/gpu/drm/i915/intel_memory_region.h         |  22 ++--
 drivers/gpu/drm/i915/selftests/i915_buddy.c        |  48 +++++++
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  77 +++++++++++
 115 files changed, 735 insertions(+), 844 deletions(-)
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-01-21 15:07 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-01-21 15:07 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Here is the final PR for v5.12.

One more fix for the clear residuals security mitigation.

Per-engine reset for Gen7 to avoid collateral damage when some
workloads misbehave, flip priority boosting when using explicit
fences (sync_file), improving suspend/freeze speed and avoiding
casual eviction of used framebuffers.

The rest is usual refactoring, cleanup and prep for upcoming
features.

Regards, Joonas

PS. There will be one warning due to duplicate Fixes: line (one pointing
to drm-intel-gt-next and other to drm-intel-fixes).

dim: ace44e13e577 ("drm/i915/gt: Clear CACHE_MODE prior to clearing residuals"): Fixes: SHA1 in not pointing at an ancestor:
dim:     09aa9e45863e ("drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail")

I think it's fine to add in advance, assuming the -fixes has been pulled,
to avoid missing such patch. Otherwise the chance is that the tooling
misses picking the Fixes for Fixes which has happened in past.

***

drm-intel-gt-next-2021-01-21-1:

Cross-subsystem Changes:

- Includes gvt-gt-next-2021-01-18 + header check fix for GVT

Driver Changes:

- Fix for #2955: Clear potentially malicious register state before
  executing clear residuals security mitigation (Chris)
- Fixes that lead to marking per-engine-reset as supported on Gen7
  (Chris)
- Remove per-client stats from debugfs/i915_gem_objects) (Tvrtko, Chris)
- Add arbitration check before semaphore wait (Chris)
- Apply interactive priority to explicit flip fences (Chris)
- Make GEM errors non-fatal by default to help capturing logs during
  development (Chris)
- Fix object page offset within a region in error capture (CQ, Matt A)
- Close race between enable_breadcrumbs and cancel_breadcrumbs (Chris)
- Almagamate clflushes on suspend/freeze to speed up S/R (Chris)
- Protect used framebuffers from casual eviction (Chris)

- Fix the sgt.pfn sanity check (Kui, Matt A)
- Reduce locking around i915_request.lock and ctx->engines_mutex (Chris)
- Simplify tracking for engine->fw_active and stats.active (Chris)
- Constrain pool objects by mapping type (Chris, Matt A)
- Use shrinkable status for unknown swizzle quirks (Chris)
- Do not suspend bonded requests if one hangs (Chris)
- Restore "Skip over completed active execlists" optimization (Chris)

- Move stolen node into GEM object union (Chris)
. Split gem_create into own file (Matt A)
- Convert object_create into object_init in LMEM region code (Matt A)
- Reduce test_and_set_bit to set_bit in i915_request_submit() (Chris)
- Mark up protected uses of 'i915_request_completed' (Chris)
- Remove extraneous inline modifiers (Chris)
- Add function to define defaults for GuC/HuC enable (John)

- Improve code locality by moving closer to single user (Matt A, Chris)
- Compiler warning fixes (Matt A, Chris)
- Selftest / CI improvements (Chris)

The following changes since commit fb5cfcaa2efbb4c71abb1dfbc8f4da727e0bfd89:

  Merge tag 'drm-intel-gt-next-2021-01-14' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2021-01-15 15:03:36 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-01-21-1

for you to fetch changes up to 69b4b99842201bc24c98ba66b922d8879e190483:

  drm/i915/gvt: Add missing forward decl of intel_vgpu for HDRTEST (2021-01-21 15:51:21 +0200)

----------------------------------------------------------------
Cross-subsystem Changes:

- Includes gvt-gt-next-2021-01-18 + header check fix for GVT

Driver Changes:

- Fix for #2955: Clear potentially malicious register state before
  executing clear residuals security mitigation (Chris)
- Fixes that lead to marking per-engine-reset as supported on Gen7
  (Chris)
- Remove per-client stats from debugfs/i915_gem_objects) (Tvrtko, Chris)
- Add arbitration check before semaphore wait (Chris)
- Apply interactive priority to explicit flip fences (Chris)
- Make GEM errors non-fatal by default to help capturing logs during
  development (Chris)
- Fix object page offset within a region in error capture (CQ, Matt A)
- Close race between enable_breadcrumbs and cancel_breadcrumbs (Chris)
- Almagamate clflushes on suspend/freeze to speed up S/R (Chris)
- Protect used framebuffers from casual eviction (Chris)

- Fix the sgt.pfn sanity check (Kui, Matt A)
- Reduce locking around i915_request.lock and ctx->engines_mutex (Chris)
- Simplify tracking for engine->fw_active and stats.active (Chris)
- Constrain pool objects by mapping type (Chris, Matt A)
- Use shrinkable status for unknown swizzle quirks (Chris)
- Do not suspend bonded requests if one hangs (Chris)
- Restore "Skip over completed active execlists" optimization (Chris)

- Move stolen node into GEM object union (Chris)
. Split gem_create into own file (Matt A)
- Convert object_create into object_init in LMEM region code (Matt A)
- Reduce test_and_set_bit to set_bit in i915_request_submit() (Chris)
- Mark up protected uses of 'i915_request_completed' (Chris)
- Remove extraneous inline modifiers (Chris)
- Add function to define defaults for GuC/HuC enable (John)

- Improve code locality by moving closer to single user (Matt A, Chris)
- Compiler warning fixes (Matt A, Chris)
- Selftest / CI improvements (Chris)

----------------------------------------------------------------
CQ Tang (1):
      drm/i915/error: Fix object page offset within a region

Chris Wilson (34):
      drm/i915/gt: Reapply ppgtt enabling after engine resets
      drm/i915/gt: Prune 'inline' from execlists
      drm/i915/gt: Prune inlines
      drm/i915: Mark up protected uses of 'i915_request_completed'
      drm/i915: Drop i915_request.lock serialisation around await_start
      drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source
      drm/i915/gem: Reduce ctx->engines_mutex for get_engines()
      drm/i915: Reduce test_and_set_bit to set_bit in i915_request_submit()
      drm/i915/gt: Drop atomic for engine->fw_active tracking
      drm/i915/gt: Extract busy-stats for ring-scheduler
      drm/i915/gt: Convert stats.active to plain unsigned int
      drm/i915/gt: Clear CACHE_MODE prior to clearing residuals
      drm/i915/gt: Add arbitration check before semaphore wait
      drm/i915: Add DEBUG_GEM to the recommended CI config
      drm/i915: Make GEM errors non-fatal by default
      drm/i915/gt: One more flush for Baytrail clear residuals
      drm/i915/selftests: Prepare the selftests for engine resets with ring submission
      drm/i915/gt: Lift stop_ring() to reset_prepare
      drm/i915/gt: Disable the ring before resetting HEAD/TAIL
      drm/i915/gt: Pull ring submission resume under its caller forcewake
      drm/i915: Mark per-engine-reset as supported on gen7
      drm/i915/gem: Remove per-client stats from debugfs/i915_gem_objects
      drm/i915/gem: Make i915_gem_object_flush_write_domain() static
      drm/i915/display: Apply interactive priority to explicit flip fences
      drm/i915/gt: Close race between enable_breadcrumbs and cancel_breadcrumbs
      drm/i915/gem: Almagamate clflushes on suspend
      drm/i915/gem: Almagamate clflushes on freeze
      drm/i915/gem: Move stolen node into GEM object union
      drm/i915/gem: Use shrinkable status for unknown swizzle quirks
      drm/i915/gem: Protect used framebuffers from casual eviction
      drm/i915/gem: Drop lru bumping on display unpinning
      drm/i915/gt: Do not suspend bonded requests if one hangs
      drm/i915/gt: Skip over completed active execlists, again
      drm/i915/gvt: Add missing forward decl of intel_vgpu for HDRTEST

John Harrison (1):
      drm/i915/uc: Add function to define defaults for GuC/HuC enable

Joonas Lahtinen (2):
      Merge drm/drm-next into drm-intel-gt-next
      Merge tag 'gvt-gt-next-2021-01-18' of https://github.com/intel/gvt-linux into drm-intel-gt-next

Kui Wen (1):
      drm/i915: Fix the sgt.pfn sanity check

Matthew Auld (7):
      drm/i915/gem: split gem_create into own file
      drm/i915/gem: sanity check object size in gem_create
      drm/i915/region: convert object_create into object_init
      drm/i915: add back static declaration
      drm/i915: move i915_map_type into i915_gem_object_types.h
      drm/i915/pool: constrain pool objects by mapping type
      drm/i915/region: don't leak the object on error

Yan Zhao (11):
      drm/i915/gvt: parse init context to update cmd accessible reg whitelist
      drm/i915/gvt: scan VM ctx pages
      drm/i915/gvt: filter cmds "srm" and "lrm" in cmd_handler
      drm/i915/gvt: filter cmds "lrr-src" and "lrr-dst" in cmd_handler
      drm/i915/gvt: filter cmd "pipe-ctrl" in cmd_handler
      drm/i915/gvt: export find_mmio_info
      drm/i915/gvt: make width of mmio_attribute bigger
      drm/i915/gvt: introduce a new flag F_CMD_WRITE_PATCH
      drm/i915/gvt: statically set F_CMD_WRITE_PATCH flag
      drm/i915/gvt: update F_CMD_WRITE_PATCH flag when parsing init ctx
      drm/i915/gvt: unify lri cmd handler and mmio handlers

 drivers/gpu/drm/i915/Kconfig.debug                 |  22 +-
 drivers/gpu/drm/i915/Makefile                      |   1 +
 drivers/gpu/drm/i915/display/intel_display.c       |  23 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c         |   4 +-
 drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   4 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  65 ++--
 drivers/gpu/drm/i915/gem/i915_gem_create.c         | 113 +++++++
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         | 104 +++----
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  13 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.c           |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_lmem.h           |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |  47 ---
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  36 ++-
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |   8 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_pm.c             |  41 +--
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  16 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |  28 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  70 ++---
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   2 +
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |  46 ++-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  15 +-
 drivers/gpu/drm/i915/gt/gen7_renderclear.c         |  23 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |   4 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  13 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  13 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  16 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  12 +-
 drivers/gpu/drm/i915/gt/intel_engine_stats.h       |  60 ++++
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   6 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   | 145 ++++-----
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |  12 +-
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h     |   3 +-
 .../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h   |   4 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |   4 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_ppgtt.c              |   2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c        |   2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   5 +-
 drivers/gpu/drm/i915/gt/intel_ring.c               |   2 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    | 209 ++++++-------
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |   4 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   2 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  18 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           |  11 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c              |   2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |  31 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |   7 +-
 drivers/gpu/drm/i915/gvt/cmd_parser.c              | 335 ++++++++++++++++-----
 drivers/gpu/drm/i915/gvt/cmd_parser.h              |   5 +
 drivers/gpu/drm/i915/gvt/gvt.h                     |  37 ++-
 drivers/gpu/drm/i915/gvt/handlers.c                |  15 +-
 drivers/gpu/drm/i915/gvt/mmio.h                    |   3 +
 drivers/gpu/drm/i915/gvt/reg.h                     |   2 +
 drivers/gpu/drm/i915/gvt/scheduler.c               |  22 +-
 drivers/gpu/drm/i915/gvt/vgpu.c                    |   4 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   2 +-
 drivers/gpu/drm/i915/i915_debugfs.c                | 144 +--------
 drivers/gpu/drm/i915/i915_gem.c                    | 130 +-------
 drivers/gpu/drm/i915/i915_gem.h                    |   9 +-
 drivers/gpu/drm/i915/i915_gem_evict.c              |  13 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |   4 +-
 drivers/gpu/drm/i915/i915_mm.c                     |   2 +-
 drivers/gpu/drm/i915/i915_params.h                 |   1 +
 drivers/gpu/drm/i915/i915_pci.c                    |   5 +-
 drivers/gpu/drm/i915/i915_request.c                |  43 +--
 drivers/gpu/drm/i915/i915_scheduler.c              |   2 +-
 drivers/gpu/drm/i915/i915_vma.h                    |  15 +
 drivers/gpu/drm/i915/i915_vma_types.h              |   3 +
 drivers/gpu/drm/i915/intel_memory_region.h         |   8 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  10 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |  19 +-
 78 files changed, 1191 insertions(+), 997 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_create.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_engine_stats.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2021-01-14 15:22 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2021-01-14 15:22 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Here is the first PR for v5.12. There are quite a few patches
accumulated after the holidays as usual:

Most importantly there are fixes to the clear residual security
mitigations to avoid GPU hangs caused by them. Further there is
option to allow the user to decide to disable such mitigations
similar to CPU side (i915.mitigations=auto,!residuals), if they
are an expert user and wish to do so. Of course, usual caveats
apply to disabling any security mitigations!

For Tigerlake, a fix to reduce the likelihood of DMAR errors when
IOMMU is enabled (MTBF bump from 10 secs to hours) and correction
to detecting the device stepping. Addition of W/As for DG1 and TGL.

Tuning the RPS algorithm further to limit to RPe on parking an
engine. Plenty of refactoring, cleanups and optimizing code in
preparation of upcoming series. The usual amount of selftest and
documentation fixes.

Then there are 3 other fixes for user reported/visible bugs;
GPU hang due to wrong MOCS caching for index used by HW, false
error message for case where GuC firmware doesn't load on first
instance of the retry-loop and supplementing the GuC firmware
table for Cometlake SKUs.

Fixes for pre-emption on Gen8-era devices. Build and runtime
fixes for 32-bit machines.

Regards, Joonas

PS. After you merge this, I will proceed to backmerge drm-next so
that we can have a common topic branches for din and dign as
requested by Jani and Rodrigo.

***

drm-intel-gt-next-2021-01-14:

UAPI Changes:
- Deprecate I915_PMU_LAST and optimize state tracking (Tvrtko)

  Avoid relying on last item ABI marker in i915_drm.h, add a
  comment to mark as deprecated.

Driver Changes:

- Restore clear residuals security mitigations for Ivybridge and
  Baytrail (Chris)
- Close #1858: Allow sysadmin to choose applied GPU security mitigations
  through i915.mitigations=... similar to CPU (Chris)
- Fix for #2024: GPU hangs on HSW GT1 (Chris)
- Fix for #2707: Driver hang when editing UVs in Blender (Chris, Ville)
- Fix for #2797: False positive GuC loading error message (Chris)
- Fix for #2859: Missing GuC firmware for older Cometlakes (Chris)
- Lessen probability of GPU hang due to DMAR faults [reason 7,
  next page table ptr is invalid] on Tigerlake (Chris)
- Fix REVID macros for TGL to fetch correct stepping (Aditya)
- Limit frequency drop to RPe on parking (Chris, Edward)
- Limit W/A 1406941453 to TGL, RKL and DG1 (Swathi)
- Make W/A 22010271021 permanent on DG1 (Lucas)
- Implement W/A 16011163337 to prevent a HS/DS hang on DG1 (Swathi)
- Only disable preemption on gen8 render engines (Chris)
- Disable arbitration around Braswell's PDP updates (Chris)
- Disable arbitration on no-preempt requests (Chris)
- Check for arbitration after writing start seqno before busywaiting (Chris)
- Retain default context state across shrinking (Venkata, CQ)
- Fix mismatch between misplaced vma check and vma insert for 32-bit
  addressing userspaces (Chris, CQ)
- Propagate error for vmap() failure instead kernel NULL deref (Chris)
- Propagate error from cancelled submit due to context closure
  immediately (Chris)
- Fix RCU race on HWSP tracking per request (Chris)
- Clear CMD parser shadow and GPU reloc batches (Matt A)

- Populate logical context during first pin (Maarten)
- Optimistically prune dma-resv from the shrinker (Chris)
- Fix for virtual engine ownership race (Chris)
- Remove timeslice suppression to restore fairness for virtual engines (Chris)
- Rearrange IVB/HSW workarounds properly between GT and engine (Chris)
- Taint the reset mutex with the shrinker (Chris)
- Replace direct submit with direct call to tasklet (Chris)
- Multiple corrections to virtual engine dequeue and breadcrumbs code (Chris)
- Avoid wakeref from potentially hard IRQ context in PMU (Tvrtko)
- Use raw clock for RC6 time estimation in PMU (Tvrtko)
- Differentiate OOM failures from invalid map types (Chris)
- Fix Gen9 to have 64 MOCS entries similar to Gen11 (Chris)
- Ignore repeated attempts to suspend request flow across reset (Chris)
- Remove livelock from "do_idle_maps" VT-d W/A (Chris)
- Cancel the preemption timeout early in case engine reset fails (Chris)
- Code flow optimization in the scheduling code (Chris)
- Clear the execlists timers upon reset (Chris)
- Drain the breadcrumbs just once (Chris, Matt A)
- Track the overall GT awake/busy time (Chris)
- Tweak submission tasklet flushing to avoid starvation (Chris)
- Track timelines created using the HWSP to restore on resume (Chris)
- Use cmpxchg64 for 32b compatilibity for active tracking (Chris)
- Prefer recycling an idle GGTT fence to avoid GPU wait (Chris)

- Restructure GT code organization for clearer split between GuC
  and execlists (Chris, Daniele, John, Matt A)
- Remove GuC code that will remain unused by new interfaces (Matt B)
- Restructure the CS timestamp clocks code to local to GT (Chris)
- Fix error return paths in perf code (Zhang)
- Replace idr_init() by idr_init_base() in perf (Deepak)
- Fix shmem_pin_map error path (Colin)
- Drop redundant free_work worker for GEM contexts (Chris, Mika)
- Increase readability and understandability of intel_workarounds.c (Lucas)
- Defer enabling the breadcrumb interrupt to after submission (Chris)
- Deal with buddy alloc block sizes beyond 4G (Venkata, Chris)
- Encode fence specific waitqueue behaviour into the wait.flags (Chris)
- Don't cancel the breadcrumb interrupt shadow too early (Chris)
- Cancel submitted requests upon context reset (Chris)
- Use correct locks in GuC code (Tvrtko)
- Prevent use of engine->wa_ctx after error (Chris, Matt R)

- Fix build warning on 32-bit (Arnd)
- Avoid memory leak if platform would have more than 16 W/A (Tvrtko)
- Avoid unnecessary #if CONFIG_PM in PMU code (Chris, Tvrtko)
- Improve debugging output (Chris, Tvrtko, Matt R)
- Make file local variables static (Jani)
- Avoid uint*_t types in i915 (Jani)
- Selftest improvements (Chris, Matt A, Dan)
- Documentation fixes (Chris, Jose)

The following changes since commit 31b05212360cbf3af3c2e1b7f42e176e0eebedb5:

  Merge branch 'linux-5.11' of git://github.com/skeggsb/linux into drm-next (2020-11-16 07:25:46 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2021-01-14

for you to fetch changes up to 368fd0d79c099493f2b8e80f2ffaa6f70dd0461a:

  drm/i915/selftests: fix the uint*_t types that have crept in (2021-01-14 11:52:07 +0200)

----------------------------------------------------------------
UAPI Changes:
- Deprecate I915_PMU_LAST and optimize state tracking (Tvrtko)

  Avoid relying on last item ABI marker in i915_drm.h, add a
  comment to mark as deprecated.

Cross-subsystem Changes:

Core Changes:

Driver Changes:

- Restore clear residuals security mitigations for Ivybridge and
  Baytrail (Chris)
- Close #1858: Allow sysadmin to choose applied GPU security mitigations
  through i915.mitigations=... similar to CPU (Chris)
- Fix for #2024: GPU hangs on HSW GT1 (Chris)
- Fix for #2707: Driver hang when editing UVs in Blender (Chris, Ville)
- Fix for #2797: False positive GuC loading error message (Chris)
- Fix for #2859: Missing GuC firmware for older Cometlakes (Chris)
- Lessen probability of GPU hang due to DMAR faults [reason 7,
  next page table ptr is invalid] on Tigerlake (Chris)
- Fix REVID macros for TGL to fetch correct stepping (Aditya)
- Limit frequency drop to RPe on parking (Chris, Edward)
- Limit W/A 1406941453 to TGL, RKL and DG1 (Swathi)
- Make W/A 22010271021 permanent on DG1 (Lucas)
- Implement W/A 16011163337 to prevent a HS/DS hang on DG1 (Swathi)
- Only disable preemption on gen8 render engines (Chris)
- Disable arbitration around Braswell's PDP updates (Chris)
- Disable arbitration on no-preempt requests (Chris)
- Check for arbitration after writing start seqno before busywaiting (Chris)
- Retain default context state across shrinking (Venkata, CQ)
- Fix mismatch between misplaced vma check and vma insert for 32-bit
  addressing userspaces (Chris, CQ)
- Propagate error for vmap() failure instead kernel NULL deref (Chris)
- Propagate error from cancelled submit due to context closure
  immediately (Chris)
- Fix RCU race on HWSP tracking per request (Chris)
- Clear CMD parser shadow and GPU reloc batches (Matt A)

- Populate logical context during first pin (Maarten)
- Optimistically prune dma-resv from the shrinker (Chris)
- Fix for virtual engine ownership race (Chris)
- Remove timeslice suppression to restore fairness for virtual engines (Chris)
- Rearrange IVB/HSW workarounds properly between GT and engine (Chris)
- Taint the reset mutex with the shrinker (Chris)
- Replace direct submit with direct call to tasklet (Chris)
- Multiple corrections to virtual engine dequeue and breadcrumbs code (Chris)
- Avoid wakeref from potentially hard IRQ context in PMU (Tvrtko)
- Use raw clock for RC6 time estimation in PMU (Tvrtko)
- Differentiate OOM failures from invalid map types (Chris)
- Fix Gen9 to have 64 MOCS entries similar to Gen11 (Chris)
- Ignore repeated attempts to suspend request flow across reset (Chris)
- Remove livelock from "do_idle_maps" VT-d W/A (Chris)
- Cancel the preemption timeout early in case engine reset fails (Chris)
- Code flow optimization in the scheduling code (Chris)
- Clear the execlists timers upon reset (Chris)
- Drain the breadcrumbs just once (Chris, Matt A)
- Track the overall GT awake/busy time (Chris)
- Tweak submission tasklet flushing to avoid starvation (Chris)
- Track timelines created using the HWSP to restore on resume (Chris)
- Use cmpxchg64 for 32b compatilibity for active tracking (Chris)
- Prefer recycling an idle GGTT fence to avoid GPU wait (Chris)

- Restructure GT code organization for clearer split between GuC
  and execlists (Chris, Daniele, John, Matt A)
- Remove GuC code that will remain unused by new interfaces (Matt B)
- Restructure the CS timestamp clocks code to local to GT (Chris)
- Fix error return paths in perf code (Zhang)
- Replace idr_init() by idr_init_base() in perf (Deepak)
- Fix shmem_pin_map error path (Colin)
- Drop redundant free_work worker for GEM contexts (Chris, Mika)
- Increase readability and understandability of intel_workarounds.c (Lucas)
- Defer enabling the breadcrumb interrupt to after submission (Chris)
- Deal with buddy alloc block sizes beyond 4G (Venkata, Chris)
- Encode fence specific waitqueue behaviour into the wait.flags (Chris)
- Don't cancel the breadcrumb interrupt shadow too early (Chris)
- Cancel submitted requests upon context reset (Chris)
- Use correct locks in GuC code (Tvrtko)
- Prevent use of engine->wa_ctx after error (Chris, Matt R)

- Fix build warning on 32-bit (Arnd)
- Avoid memory leak if platform would have more than 16 W/A (Tvrtko)
- Avoid unnecessary #if CONFIG_PM in PMU code (Chris, Tvrtko)
- Improve debugging output (Chris, Tvrtko, Matt R)
- Make file local variables static (Jani)
- Avoid uint*_t types in i915 (Jani)
- Selftest improvements (Chris, Matt A, Dan)
- Documentation fixes (Chris, Jose)

----------------------------------------------------------------
Aditya Swarup (2):
      drm/i915/tgl: Fix REVID macros for TGL to fetch correct stepping
      drm/i915/tgl: Add bound checks and simplify TGL REVID macros

Arnd Bergmann (1):
      drm/i915: fix shift warning

Chris Wilson (117):
      drm/i915/gt: Ignore dt==0 for reporting underflows
      drm/i915/gt: Remember to free the virtual breadcrumbs
      drm/i915/gvt: Remove incorrect kerneldoc marking
      drm/i915/gt: Include semaphore status in print_request()
      drm/i915: Lift i915_request_show()
      drm/i915/gt: Update request status flags for debug pretty-printer
      drm/i915/gt: Show all active timelines for debugging
      drm/i915: Lift waiter/signaler iterators
      drm/i915/gem: Remove incorrect early dbg print
      drm/i915/selftests: Improve granularity for mocs reset checks
      drm/i915/selftests: Small tweak to put the termination conditions together
      drm/i915/gt: Plug IPS into intel_rps_set
      drm/i915/gt: Defer enabling the breadcrumb interrupt to after submission
      drm/i915/gt: Track signaled breadcrumbs outside of the breadcrumb spinlock
      drm/i915/gt: Don't cancel the interrupt shadow too early
      drm/i915/gt: Free stale request on destroying the virtual engine
      drm/i915/gt: Program mocs:63 for cache eviction on gen9
      drm/i915/gt: Decouple completed requests on unwind
      drm/i915/gt: Check for a completed last request once
      drm/i915/gt: Protect context lifetime with RCU
      drm/i915/gt: Split the breadcrumb spinlock between global and contexts
      drm/i915/gt: Move the breadcrumb to the signaler if completed upon cancel
      drm/i915/gt: Declare gen9 has 64 mocs entries!
      drm/i915/gt: Limit frequency drop to RPe on parking
      drm/i915/gem: Differentiate oom failures from invalid map types
      drm/i915/gem: Report error for vmap() failure
      drm/i915/selftests: Tidy prng constructor for client blits
      drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX
      Revert "drm/i915/lmem: Limit block size to 4G"
      drm/i915/gem: Propagate error from cancelled submit due to context closure
      drm/i915/gt: Ignore repeated attempts to suspend request flow across reset
      drm/i915/gt: Cancel the preemption timeout on responding to it
      drm/i915/gt: Include reset failures in the trace
      drm/i915/gt: Clear the execlists timers upon reset
      drm/i915/selftests: Improve error reporting for igt_mock_max_segment
      drm/i915/gem: Drop false !i915_vma_is_closed assertion
      drm/i915: Remove livelock from "do_idle_maps" vtd w/a
      drm/i915: Sleep around performing iommu unmaps on Tigerlake
      drm/i915/gt: Remove uninterruptible parameter from intel_gt_wait_for_idle
      drm/i915/gt: Move move context layout registers and offsets to lrc_reg.h
      drm/i915/gt: Rename lrc.c to execlists_submission.c
      drm/i915/gt: Mark legacy ring context as lost
      drm/i915/gt: Wean workaround selftests off GEM context
      drm/i915: Fix mismatch between misplaced vma check and vma insert
      drm/i915/gem: Drop free_work for GEM contexts
      drm/i915/gt: Move gen8 CS emitters into gen8_engine_cs.h
      drm/i915: Encode fence specific waitqueue behaviour into the wait.flags
      drm/i915/gt: Drain the breadcrumbs just once
      drm/i915/gt: Track the overall awake/busy time
      drm/i915: Check for rq->hwsp validity after acquiring RCU lock
      drm/i915/gt: Another tweak for flushing the tasklets
      drm/i915/gt: Split logical ring contexts from execlist submission
      drm/i915/gt: Provide a utility to create a scratch buffer
      drm/i915/gt: Track all timelines created using the HWSP
      drm/i915/selftests: Kick timeslice until selftest yields
      drm/i915/selftests: Flush the preemption request before waiting
      drm/i915/selftests: Be paranoid and flush the tasklet before checking status
      drm/i915: Use cmpxchg64 for 32b compatilibity
      drm/i915/uc: Squelch load failure error message
      drm/i915/selftests: Remove redundant live_context for eviction
      drm/i915/selftests: Confirm CS_TIMESTAMP / CTX_TIMESTAMP share a clock
      drm/i915/gt: Consolidate the CS timestamp clocks
      drm/i915/gt: Prefer recycling an idle fence
      drm/i915/gem: Optimistically prune dma-resv from the shrinker.
      drm/i915/gt: Replace direct submit with direct call to tasklet
      drm/i915/gt: Use virtual_engine during execlists_dequeue
      drm/i915/gt: Decouple inflight virtual engines
      drm/i915/gt: Defer schedule_out until after the next dequeue
      drm/i915/gt: Remove virtual breadcrumb before transfer
      drm/i915/gt: Shrink the critical section for irq signaling
      drm/i915/gt: Resubmit the virtual engine on schedule-out
      drm/i915/gt: Simplify virtual engine handling for execlists_hold()
      drm/i915/gt: ce->inflight updates are now serialised
      drm/i915/gt: Refactor heartbeat request construction and submission
      drm/i915/gt: Define guc firmware blob for older Cometlakes
      drm/i915/gem: Peek at the inflight context
      drm/i915/gt: Taint the reset mutex with the shrinker
      drm/i915/gt: Cancel submitted requests upon context reset
      drm/i915/gt: Pull context closure check from request submit to schedule-in
      drm/i915: Drop i915_request.lock requirement for intel_rps_boost()
      drm/i915/gt: Rearrange snb workarounds
      drm/i915/gt: Rearrange hsw workarounds
      drm/i915/selftests: Guard against redifinition of SZ_8G
      drm/i915/selftests: Set error returns
      drm/i915: Set rawclk earlier during mmio probe
      drm/i915/gt: Allow failed resets without assertion
      drm/i915/gt: Check the virtual still matches upon locking
      drm/i915/selftests: Switch 4k kmalloc to use get_free_page for alignment
      drm/i915/selftests: Break out of the lrc layout test after register mismatch
      drm/i915/selftests: Improve handling of iomem around stolen
      drm/i915: Wrap our timer_list.expires checking
      drm/i915/gt: Remove timeslice suppression
      drm/i915/gt: Prevent use of engine->wa_ctx after error
      drm/i915/selftests: Skip unstable timing measurements
      drm/i915/selftests: Rearrange ktime_get to reduce latency against CS
      drm/i915/gt: Restore ce->signal flush before releasing virtual engine
      drm/i915/gt: Only retire on the last breadcrumb if the last request
      drm/i915/gt: Only disable preemption on gen8 render engines
      drm/i915/gt: Disable arbitration on no-preempt requests
      drm/i915/gt: Exercise lrc_wa_ctx initialisation failure
      drm/i915/gt: Remove unused function 'dword_in_page'
      drm/i915/gt: Mark up a debug-only function
      drm/i915: Refactor marking a request as EIO
      drm/i915/gt: Disable arbitration around Braswell's pdp updates
      drm/i915/selftests: Include engine name after reset failure
      drm/i915/gt: Limit VFE threads based on GT
      drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail
      drm/i915: Allow the sysadmin to override security mitigations
      drm/i915/gem: Remove stolen node before releasing the region
      drm/i915/selftests: Allow huge_gem_object to kick the shrinker
      drm/i915/gt: Check for arbitration after writing start seqno
      drm/i915/gt: Perform an arbitration check before busywaiting
      drm/i915/selftests: Force a failed engine reset
      drm/i915/selftests: Bump the scheduling error threshold for fast heartbeats
      drm/i915/gt: Replace open-coded intel_engine_stop_cs()
      drm/i915/gt: Rearrange vlv workarounds
      drm/i915/gt: Rearrange ivb workarounds

Colin Ian King (1):
      drm/i915: fix size_t greater or equal to zero comparison

Dan Carpenter (2):
      drm/i915/gem: Check the correct variable in selftest
      drm/i915/selftests: Fix some error codes

Daniele Ceraolo Spurio (4):
      drm/i915: split gen8+ flush and bb_start emission functions
      drm/i915/guc: do not dump execlists state with GuC submission
      drm/i915/guc: init engine directly in GuC submission mode
      drm/i915/guc: stop calling execlists_set_default_submission

Deepak R Varma (1):
      drm/i915/perf: replace idr_init() by idr_init_base()

Jani Nikula (3):
      drm/i915/region: make intel_region_map static
      drm/i915/lmem: make intel_region_lmem_ops static
      drm/i915/selftests: fix the uint*_t types that have crept in

John Harrison (1):
      drm/i915: Correct location of Wa_1408615072

José Roberto de Souza (1):
      doc: Fix build of documentation after i915 file rename

Lucas De Marchi (7):
      drm/i915/dg1: make Wa_22010271021 permanent
      drm/i915: remove WA_SET_BIT_MASKED()
      drm/i915: remove WA_CLR_BIT_MASKED()
      drm/i915: remove WA_SET_FIELD_MASKED()
      drm/i915/gt: stop ignoring read with wa_masked_field_set
      drm/i915/gt: rename wa_write_masked_or()
      drm/i915/gt: document masked registers

Maarten Lankhorst (1):
      drm/i915: Populate logical context during first pin.

Matt Roper (1):
      drm/i915: Clarify error message on failed workaround

Matthew Auld (5):
      drm/i915/selftest: also consider non-contiguous objects
      drm/i915/selftest: assert we get 2M GTT pages
      drm/i915: clear the shadow batch
      drm/i915: clear the gpu reloc batch
      drm/i915: move region_lmem under gt

Matthew Brost (1):
      drm/i915/guc: Delete GuC code unused in future patches

Swathi Dhanavanthri (2):
      drm/i915/tgl, rkl, dg1: Apply WA_1406941453 to TGL, RKL and DG1
      drm/i915/dg1: Implement WA_16011163337

Tvrtko Ursulin (8):
      drm/i915: Avoid memory leak with more than 16 workarounds on a list
      drm/i915: Show timeline dependencies for debug
      drm/i915/guc: Use correct lock for accessing guc->mmio_msg
      drm/i915/guc: Use correct lock for CT event handler
      drm/i915/pmu: Deprecate I915_PMU_LAST and optimize state tracking
      drm/i915/pmu: Don't grab wakeref when enabling events
      drm/i915/pmu: Use raw clock for rc6 estimation
      drm/i915/pmu: Remove !CONFIG_PM code

Venkata Ramana Nayana (1):
      drm/i915/gt: Retain default context state across shrinking

Venkata Sandeep Dhanalakota (1):
      drm/i915/lmem: Limit block size to 4G

Zhang Xiaoxu (2):
      drm/i915/selftests: Fix wrong return value of perf_series_engines()
      drm/i915/selftests: Fix wrong return value of perf_request_latency()

 Documentation/gpu/i915.rst                         |    2 +-
 drivers/gpu/drm/i915/Makefile                      |    6 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |    1 +
 drivers/gpu/drm/i915/dma_resv_utils.c              |   17 +
 drivers/gpu/drm/i915/dma_resv_utils.h              |   13 +
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   67 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.h        |    1 -
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |    1 -
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |   24 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |   32 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |   36 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c       |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |    5 +-
 drivers/gpu/drm/i915/gem/i915_gem_wait.c           |    8 +-
 .../gpu/drm/i915/gem/selftests/huge_gem_object.c   |    2 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   22 +
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |    4 +-
 .../drm/i915/gem/selftests/i915_gem_coherency.c    |    1 +
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |    1 +
 drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.c |    1 +
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   27 +-
 drivers/gpu/drm/i915/gt/gen7_renderclear.c         |  157 +-
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c           |  633 ++
 drivers/gpu/drm/i915/gt/gen8_engine_cs.h           |  127 +
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c        |  365 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.h        |   17 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h  |   15 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   15 +-
 drivers/gpu/drm/i915/gt/intel_context.h            |   11 +-
 drivers/gpu/drm/i915/gt/intel_context_sseu.c       |    1 -
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   48 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   93 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  151 +-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   |   59 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   10 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   16 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   | 3929 +++++++++++
 .../gpu/drm/i915/gt/intel_execlists_submission.h   |   47 +
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |   18 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |   22 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |    4 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  197 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h     |    8 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c             |    1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   49 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.h              |    2 +
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |    7 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |   25 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |   29 +
 drivers/gpu/drm/i915/gt/intel_gtt.h                |    3 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 6798 ++++----------------
 drivers/gpu/drm/i915/gt/intel_lrc.h                |  167 +-
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |   41 +
 drivers/gpu/drm/i915/gt/intel_mocs.c               |   25 +-
 drivers/gpu/drm/i915/{ => gt}/intel_region_lmem.c  |    2 +-
 drivers/gpu/drm/i915/{ => gt}/intel_region_lmem.h  |    2 -
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |    3 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   96 +-
 drivers/gpu/drm/i915/gt/intel_reset.h              |    2 +
 drivers/gpu/drm/i915/gt/intel_ring.c               |    2 +
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   73 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |   63 +-
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |    2 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |  109 +-
 drivers/gpu/drm/i915/gt/intel_timeline.h           |   25 +-
 drivers/gpu/drm/i915/gt/intel_timeline_types.h     |    2 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |  648 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |   15 +-
 drivers/gpu/drm/i915/gt/selftest_context.c         |    2 +-
 drivers/gpu/drm/i915/gt/selftest_engine_cs.c       |    1 +
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |   13 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |  203 +
 drivers/gpu/drm/i915/gt/selftest_execlists.c       | 4741 ++++++++++++++
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    8 +-
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |  157 +-
 drivers/gpu/drm/i915/gt/selftest_lrc.c             | 4771 +-------------
 drivers/gpu/drm/i915/gt/selftest_mocs.c            |   80 +-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |    1 +
 drivers/gpu/drm/i915/gt/selftest_reset.c           |   19 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             |    5 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   14 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  196 +-
 drivers/gpu/drm/i915/gt/shmem_utils.c              |    9 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   16 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.h             |    7 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |   13 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  457 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h  |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   23 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |    1 +
 drivers/gpu/drm/i915/gvt/cmd_parser.c              |    1 +
 drivers/gpu/drm/i915/gvt/handlers.c                |    2 +-
 drivers/gpu/drm/i915/gvt/mmio_context.c            |    1 +
 drivers/gpu/drm/i915/gvt/mmio_context.h            |    2 +
 drivers/gpu/drm/i915/gvt/scheduler.c               |    2 +
 drivers/gpu/drm/i915/i915_active.c                 |    7 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   28 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   39 +-
 drivers/gpu/drm/i915/i915_drv.c                    |    3 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   54 +-
 drivers/gpu/drm/i915/i915_gem.c                    |    2 -
 drivers/gpu/drm/i915/i915_gem_gtt.c                |   25 +-
 drivers/gpu/drm/i915/i915_getparam.c               |    2 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |    2 +-
 drivers/gpu/drm/i915/i915_mitigations.c            |  146 +
 drivers/gpu/drm/i915/i915_mitigations.h            |   13 +
 drivers/gpu/drm/i915/i915_pci.c                    |    2 -
 drivers/gpu/drm/i915/i915_perf.c                   |   17 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |  117 +-
 drivers/gpu/drm/i915/i915_pmu.h                    |   35 +-
 drivers/gpu/drm/i915/i915_request.c                |  139 +-
 drivers/gpu/drm/i915/i915_request.h                |   49 +-
 drivers/gpu/drm/i915/i915_scheduler.c              |   32 +-
 drivers/gpu/drm/i915/i915_scheduler.h              |    7 +
 drivers/gpu/drm/i915/i915_scheduler_types.h        |   10 +
 drivers/gpu/drm/i915/i915_sw_fence.c               |   25 +-
 drivers/gpu/drm/i915/i915_utils.c                  |    2 +-
 drivers/gpu/drm/i915/i915_utils.h                  |    7 +-
 drivers/gpu/drm/i915/intel_device_info.c           |  157 -
 drivers/gpu/drm/i915/intel_device_info.h           |    4 -
 drivers/gpu/drm/i915/intel_memory_region.c         |    2 +-
 drivers/gpu/drm/i915/intel_memory_region.h         |    5 -
 drivers/gpu/drm/i915/selftests/i915_gem.c          |    4 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   18 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |    1 +
 drivers/gpu/drm/i915/selftests/i915_perf.c         |    2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |   17 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |    4 +
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  110 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |    2 -
 include/uapi/drm/i915_drm.h                        |    3 +-
 133 files changed, 13896 insertions(+), 12352 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/dma_resv_utils.c
 create mode 100644 drivers/gpu/drm/i915/dma_resv_utils.h
 create mode 100644 drivers/gpu/drm/i915/gt/gen8_engine_cs.c
 create mode 100644 drivers/gpu/drm/i915/gt/gen8_engine_cs.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_execlists_submission.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_execlists_submission.h
 rename drivers/gpu/drm/i915/{ => gt}/intel_region_lmem.c (97%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_region_lmem.h (80%)
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_execlists.c
 create mode 100644 drivers/gpu/drm/i915/i915_mitigations.c
 create mode 100644 drivers/gpu/drm/i915/i915_mitigations.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2020-11-12 16:34 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2020-11-12 16:34 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Here goes the drm-intel-gt-next PR for 5.11.

Most importantly there is a healthy chunk of Tigerlake
related fixes and a fix for user reported issue #2381 where
graphics output would stop at "switching to inteldrmfb from
simple".

Fixes to DMA mapped sg usage in i915 to unblock intel iommu
rework. Fixes to previously introduced WW mutex rework.

We're enabling eLLC for displayable buffers on SKL+. Plenty
of fixes to driver unbind/bind cycle. The GuC firmware
version is being updated (that just loads HuC for now).

The usual amount of fixes for CI found corner cases.

Expect a few conflicts with drm-intel-next (resolved in rerere)
as the platform enabling ones go there. I'll backmerge drm-next
once you've accepted this to pull all the changes to gt-next.

The -next-fixes and -fixes would come from Jani after this is
accepted, too.

Regards, Joonas

***

drm-intel-gt-next-2020-11-12-1:

Cross-subsystem Changes:
- DMA mapped scatterlist fixes in i915 to unblock merging of
  https://lkml.org/lkml/2020/9/27/70 (Tvrtko, Tom)

Driver Changes:

- Fix for user reported issue #2381 (Graphical output stops with "switching to inteldrmfb from simple"):
  Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init (Ville, Chris)
- Fix for Tigerlake (and earlier) to avoid spurious empty CSB events leading to hang (Chris, Bruce)
- Delay execlist processing for Tigerlake to avoid hang (Chris)
- Fix for Tigerlake RCS engine health check through heartbeat (Chris)
- Fix for Tigerlake reserved MOCS entries (Ayaz, Chris)
- Fix Media power gate sequence on Tigerlake (Rodrigo)
- Enable eLLC caching of display buffers for SKL+ (Ville)
- Support parsing of oversize batches on Gen9 (Matt, Chris)
- Exclude low pages (128KiB) of stolen from use to avoid thrashing during reset (Chris)
- Flush engines before Tigerlake breadcrumbs (Chris)

- Use the local HWSP offset during submission (Chris)
- Flush coherency domains on first set-domain-ioctl (Chris, Zbigniew)
- Use the active reference on the vma while capturing to avoid use-after-free (Chris)
- Fix MOCS PTE setting for gen9+ (Ville)
- Avoid NULL dereference on IPS driver callback while unbinding i915 (Chris)
- Avoid NULL dereference from PT/PD stash allocation error (Matt)
- Hold request reference for canceling an active context (Chris)
- Avoid infinite loop on x86-32 when mapping a lot of objects (Chris)
- Disallow WC mappings when processor doesn't support them (Chris)
- Return correct error in i915_gem_object_copy_blt() error path (Dan)
- Return correct error in intel_context_create_request() error path (Maarten)
- Tune down GuC communication enabled/disabled messages to debug (Jani)
- Fix rebased commit "Remove i915_request.lock requirement for execution callbacks" (Chris)
- Cancel outstanding work after disabling heartbeats on an engine (Chris)
- Signal cancelled requests (Chris)
- Retire cancelled requests on unload (Chris)
- Scrub HW state on driver remove (Chris)
- Undo forced context restores after trivial preemptions (Chris)
- Handle PCI unbind in PMU code (Tvrtko)
- Fix CPU hotplug with multiple GPUs in PMU code (Trtkko)
- Correctly set SFC capability for video engines (Venkata)

- Update GuC code to use firmware v49.0.1 (John, Matthew B., Daniele, Oscar, Michel, Rodrigo, Michal)
- Improve GuC warnings on loading failure (John)
- Avoid ownership race in buffer pool by clearing age (Chris)
- Use MMIO to read CSB in case of failure (Chris, Mika)
- Show engine properties in engine state dump to indicate changes (Chris, Joonas)
- Break up error capture compression loops with cond_resched() (Chris)
- Reduce GPU error capture mutex hold time to avoid khungtaskd (Chris)
- Serialise debugfs i915_gem_objects with ctx->mutex (Chris)
- Always test execution status on closing the context and close if not persistent (Chris)
- Avoid mixing integer types during batch copies (Chris, Jared)
- Skip over MI_NOOP when parsing to avoid overhead (Chris)
- Hold onto an explicit ref to i915_vma_work.pinned (Chris)
- Perform all asynchronous waits prior to marking payload start (Chris)
- Pull phys pread/pwrite implementations to the backend (Matt)

- Improve record of hung engines in error state (Tvrtko)
- Allow backends to override pread implementation (Matt)
- Reinforce LRC poisoning checks to confirm context survives execution (Chris)
- Fix memory region max size calculation (Matt)
- Fix order when adding blocks to memory region (Matt)
- Eliminate unused intel_virtual_engine_get_sibling func (Chris)
- Cleanup kasan warning for on-stack (unsigned long) casting (Chris)
- Onion unwind for scratch page allocation failure (Chris)
- Poison stolen pages before use (Chris)
- Selftest improvements (Chris)
The following changes since commit e0ee152fce25dc9269c7ea5280c98aa4b3682759:

  drm/i915: Unlock the shared hwsp_gtt object after pinning (2020-09-07 15:08:11 +0300)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2020-11-12-1

for you to fetch changes up to 695dc55b573985569259e18f8e6261a77924342b:

  drm/i915/tgl: Fix Media power gate sequence. (2020-11-11 15:07:10 +0000)

----------------------------------------------------------------
Cross-subsystem Changes:
- DMA mapped scatterlist fixes in i915 to unblock merging of
  https://lkml.org/lkml/2020/9/27/70 (Tvrtko, Tom)

Driver Changes:

- Fix for user reported issue #2381 (Graphical output stops with "switching to inteldrmfb from simple"):
  Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init (Ville, Chris)
- Fix for Tigerlake (and earlier) to avoid spurious empty CSB events leading to hang (Chris, Bruce)
- Delay execlist processing for Tigerlake to avoid hang (Chris)
- Fix for Tigerlake RCS engine health check through heartbeat (Chris)
- Fix for Tigerlake reserved MOCS entries (Ayaz, Chris)
- Fix Media power gate sequence on Tigerlake (Rodrigo)
- Enable eLLC caching of display buffers for SKL+ (Ville)
- Support parsing of oversize batches on Gen9 (Matt, Chris)
- Exclude low pages (128KiB) of stolen from use to avoid thrashing during reset (Chris)
- Flush engines before Tigerlake breadcrumbs (Chris)

- Use the local HWSP offset during submission (Chris)
- Flush coherency domains on first set-domain-ioctl (Chris, Zbigniew)
- Use the active reference on the vma while capturing to avoid use-after-free (Chris)
- Fix MOCS PTE setting for gen9+ (Ville)
- Avoid NULL dereference on IPS driver callback while unbinding i915 (Chris)
- Avoid NULL dereference from PT/PD stash allocation error (Matt)
- Hold request reference for canceling an active context (Chris)
- Avoid infinite loop on x86-32 when mapping a lot of objects (Chris)
- Disallow WC mappings when processor doesn't support them (Chris)
- Return correct error in i915_gem_object_copy_blt() error path (Dan)
- Return correct error in intel_context_create_request() error path (Maarten)
- Tune down GuC communication enabled/disabled messages to debug (Jani)
- Fix rebased commit "Remove i915_request.lock requirement for execution callbacks" (Chris)
- Cancel outstanding work after disabling heartbeats on an engine (Chris)
- Signal cancelled requests (Chris)
- Retire cancelled requests on unload (Chris)
- Scrub HW state on driver remove (Chris)
- Undo forced context restores after trivial preemptions (Chris)
- Handle PCI unbind in PMU code (Tvrtko)
- Fix CPU hotplug with multiple GPUs in PMU code (Trtkko)
- Correctly set SFC capability for video engines (Venkata)

- Update GuC code to use firmware v49.0.1 (John, Matthew B., Daniele, Oscar, Michel, Rodrigo, Michal)
- Improve GuC warnings on loading failure (John)
- Avoid ownership race in buffer pool by clearing age (Chris)
- Use MMIO to read CSB in case of failure (Chris, Mika)
- Show engine properties in engine state dump to indicate changes (Chris, Joonas)
- Break up error capture compression loops with cond_resched() (Chris)
- Reduce GPU error capture mutex hold time to avoid khungtaskd (Chris)
- Serialise debugfs i915_gem_objects with ctx->mutex (Chris)
- Always test execution status on closing the context and close if not persistent (Chris)
- Avoid mixing integer types during batch copies (Chris, Jared)
- Skip over MI_NOOP when parsing to avoid overhead (Chris)
- Hold onto an explicit ref to i915_vma_work.pinned (Chris)
- Perform all asynchronous waits prior to marking payload start (Chris)
- Pull phys pread/pwrite implementations to the backend (Matt)

- Improve record of hung engines in error state (Tvrtko)
- Allow backends to override pread implementation (Matt)
- Reinforce LRC poisoning checks to confirm context survives execution (Chris)
- Fix memory region max size calculation (Matt)
- Fix order when adding blocks to memory region (Matt)
- Eliminate unused intel_virtual_engine_get_sibling func (Chris)
- Cleanup kasan warning for on-stack (unsigned long) casting (Chris)
- Onion unwind for scratch page allocation failure (Chris)
- Poison stolen pages before use (Chris)
- Selftest improvements (Chris)

----------------------------------------------------------------
Ayaz A Siddiqui (1):
      drm/i915/gt: Initialize reserved and unspecified MOCS indices

Chris Wilson (46):
      drm/i915/gem: Avoid implicit vmap for highmem on x86-32
      drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported
      drm/i915/gt: Clear the buffer pool age before use
      drm/i915/gt: Check for a registered driver with IPS
      drm/i915/gt: Widen CSB pointer to u64 for the parsers
      drm/i915/gt: Wait for CSB entries on Tigerlake
      drm/i915/gt: Apply the CSB w/a for all
      drm/i915/gt: Use a mmio read of the CSB in case of failure
      drm/i915/gt: Show engine properties in the pretty printer
      drm/i915: Break up error capture compression loops with cond_resched()
      drm/i915: Reduce GPU error capture mutex hold time
      drm/i915/gt: Remove defunct intel_virtual_engine_get_sibling()
      drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex
      drm/i915: Redo "Remove i915_request.lock requirement for execution callbacks"
      drm/i915/gem: Hold request reference for canceling an active context
      drm/i915: Cancel outstanding work after disabling heartbeats on an engine
      drm/i915/gt: Always send a pulse down the engine after disabling heartbeat
      drm/i915/gem: Always test execution status on closing the context
      drm/i915: Avoid mixing integer types during batch copies
      drm/i915/gt: Signal cancelled requests
      drm/i915/selftests: Finish pending mock requests on cancellation.
      drm/i915/gt: Retire cancelled requests on unload
      drm/i915: Skip over MI_NOOP when parsing
      drm/i915/gt: Scrub HW state on remove
      drm/i915/gt: Track the most recent pulse for the heartbeat
      drm/i915/gt: Fixup tgl mocs for PTE tracking
      drm/i915/gem: Support parsing of oversize batches
      drm/i915/gt: Delay execlist processing for tgl
      drm/i915/gt: Undo forced context restores after trivial preemptions
      drm/i915/gt: Cleanup kasan warning for on-stack (unsigned long) casting
      drm/i915/gt: Confirm the context survives execution
      drm/i915: Use the active reference on the vma while capturing
      drm/i915/gt: Onion unwind for scratch page allocation failure
      drm/i915/gem: Poison stolen pages before use
      drm/i915: Exclude low pages (128KiB) of stolen from use
      drm/i915/selftests: Flush the old heartbeat more gently
      drm/i915/gem: Flush coherency domains on first set-domain-ioctl
      drm/i915/selftests: Skip RPS tests on Ironlake (only IPS)
      drm/i915/gt: Use the local HWSP offset during submission
      drm/i915/selftests: Exercise intel_timeline_read_hwsp()
      drm/i915/gem: Avoid synchronous binds deep within locks
      drm/i915/gt: Expose more parameters for emitting writes into the ring
      drm/i915/gt: Flush xcs before tgl breadcrumbs
      drm/i915: Hold onto an explicit ref to i915_vma_work.pinned
      drm/i915/gem: Perform all asynchronous waits prior to marking payload start
      drm/i915/gem: Pull phys pread/pwrite implementations to the backend

Dan Carpenter (1):
      drm/i915: Fix an error code i915_gem_object_copy_blt()

Jani Nikula (1):
      drm/i915/uc: tune down GuC communication enabled/disabled messages

John Harrison (3):
      drm/i915/guc: Update to use firmware v49.0.1
      drm/i915/guc: Improved reporting when GuC fails to load
      drm/i915/guc: Clear pointers on free

Maarten Lankhorst (1):
      drm/i915: Fix uninitialised variable in intel_context_create_request.

Matthew Auld (4):
      drm/i915: check i915_vm_alloc_pt_stash for errors
      drm/i915/region: fix max size calculation
      drm/i915/gem: Allow backends to override pread implementation
      drm/i915/region: fix order when adding blocks

Rodrigo Vivi (1):
      drm/i915/tgl: Fix Media power gate sequence.

Tvrtko Ursulin (6):
      drm/i915: Fix DMA mapped scatterlist walks
      drm/i915: Fix DMA mapped scatterlist lookup
      drm/i915/pmu: Handle PCI unbind
      drm/i915/pmu: Fix CPU hotplug with multiple GPUs
      drm/i915: Improve record of hung engines in error state
      drm/i915: Use ABI engine class in error state ecode

Venkata Sandeep Dhanalakota (1):
      drm/i915: Correctly set SFC capability for video engines

Ville Syrjälä (3):
      drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init
      drm/i915: Fix MOCS PTE setting for gen9+
      drm/i915: Enable eLLC caching of display buffers for SKL+

 drivers/gpu/drm/i915/Kconfig.debug                 |   1 +
 drivers/gpu/drm/i915/display/intel_display.c       |   8 +
 drivers/gpu/drm/i915/gem/i915_gem_client_blt.c     |  18 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |  73 ++--
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |  28 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |  17 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |   2 +
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |  20 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_blt.c     |   2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |  19 +-
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |  51 ++-
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |  55 +++
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |  54 ++-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |   2 +
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c               |  24 +-
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c               |  20 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |   1 +
 drivers/gpu/drm/i915/gt/intel_engine.h             |  64 ++--
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  42 ++-
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c   | 112 +++---
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |  37 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |  11 +-
 drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c     |   2 +
 drivers/gpu/drm/i915/gt/intel_gtt.c                |  10 +-
 drivers/gpu/drm/i915/gt/intel_gtt.h                |   2 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                | 162 ++++++---
 drivers/gpu/drm/i915/gt/intel_lrc.h                |   4 -
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |   3 +
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  21 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c                |  22 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   4 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   1 +
 drivers/gpu/drm/i915/gt/intel_rps.c                |   2 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |  18 +-
 drivers/gpu/drm/i915/gt/intel_timeline_types.h     |   2 +
 drivers/gpu/drm/i915/gt/mock_engine.c              |  29 +-
 .../gpu/drm/i915/gt/selftest_engine_heartbeat.c    |  13 +-
 drivers/gpu/drm/i915/gt/selftest_reset.c           | 196 +++++++++++
 drivers/gpu/drm/i915/gt/selftest_rps.c             |   8 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        | 378 ++++++++++++++++++++-
 drivers/gpu/drm/i915/gt/sysfs_engines.c            |  10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |  18 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c         | 132 +++++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          |   1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c          |  31 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h        |  80 +++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h         |   5 +
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c           |  27 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h           |   2 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |   6 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c             |  77 +++--
 drivers/gpu/drm/i915/i915_debugfs.c                |   4 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   7 +-
 drivers/gpu/drm/i915/i915_gem.c                    |  32 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  74 ++--
 drivers/gpu/drm/i915/i915_gpu_error.h              |  10 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   7 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |  96 ++++--
 drivers/gpu/drm/i915/i915_pmu.h                    |  10 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  12 +-
 drivers/gpu/drm/i915/i915_request.c                |  17 +-
 drivers/gpu/drm/i915/i915_scatterlist.h            |  17 +-
 drivers/gpu/drm/i915/i915_vma.c                    |  14 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |   4 +-
 drivers/gpu/drm/i915/intel_pm.c                    |  13 -
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  77 +++++
 drivers/gpu/drm/i915/selftests/mock_region.c       |   2 +-
 70 files changed, 1759 insertions(+), 576 deletions(-)
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [PULL] drm-intel-gt-next
@ 2020-09-07 13:00 Joonas Lahtinen
  0 siblings, 0 replies; 68+ messages in thread
From: Joonas Lahtinen @ 2020-09-07 13:00 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: dim-tools, dri-devel, Rodrigo Vivi, Sean Paul, intel-gfx

Hi Dave & Daniel,

Exactly same content as previous PR:

https://lists.freedesktop.org/archives/intel-gfx/2020-September/247626.html

Just rebased adding the missing S-o-b:s and updated "Fixes:" tags accordingly
as requested.

Regards, Joonas

***

drm-intel-gt-next-2020-09-07:

(Same content as drm-intel-gt-next-2020-09-04-3, S-o-b's added)

UAPI Changes:
(- Potential implicit changes from WW locking refactoring)

Cross-subsystem Changes:
(- WW locking changes should align the i915 locking more with others)

Driver Changes:

- MAJOR: Apply WW locking across the driver (Maarten)

- Reverts for 5 commits to make applying WW locking faster (Maarten)
- Disable preparser around invalidations on Tigerlake for non-RCS engines (Chris)
- Add missing dma_fence_put() for error case of syncobj timeline (Chris)
- Parse command buffer earlier in eb_relocate(slow) to facilitate backoff (Maarten)
- Pin engine before pinning all objects (Maarten)
- Rework intel_context pinning to do everything outside of pin_mutex (Maarten)

- Avoid tracking GEM context until registered (Cc: stable, Chris)
- Provide a fastpath for waiting on vma bindings (Chris)
- Fixes to preempt-to-busy mechanism (Chris)
- Distinguish the virtual breadcrumbs from the irq breadcrumbs (Chris)
- Switch to object allocations for page directories (Chris)
- Hold context/request reference while breadcrumbs are active (Chris)
- Make sure execbuffer always passes ww state to i915_vma_pin (Maarten)

- Code refactoring to facilitate use of WW locking (Maarten)
- Locking refactoring to use more granular locking (Maarten, Chris)
- Support for multiple pinned timelines per engine (Chris)
- Move complication of I915_GEM_THROTTLE to the ioctl from general code (Chris)
- Make active tracking/vma page-directory stash work preallocated (Chris)
- Avoid flushing submission tasklet too often (Chris)
- Reduce context termination list iteration guard to RCU (Chris)
- Reductions to locking contention (Chris)
- Fixes for issues found by CI (Chris)
The following changes since commit 3393649977f9a8847c659e282ea290d4b703295c:

  Merge tag 'drm-intel-next-2020-08-24-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2020-08-28 14:09:31 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-2020-09-07

for you to fetch changes up to e0ee152fce25dc9269c7ea5280c98aa4b3682759:

  drm/i915: Unlock the shared hwsp_gtt object after pinning (2020-09-07 15:08:11 +0300)

----------------------------------------------------------------
(Same content as drm-intel-gt-next-2020-09-04-3, S-o-b's added)

UAPI Changes:
(- Potential implicit changes from WW locking refactoring)

Cross-subsystem Changes:
(- WW locking changes should align the i915 locking more with others)

Driver Changes:

- MAJOR: Apply WW locking across the driver (Maarten)

- Reverts for 5 commits to make applying WW locking faster (Maarten)
- Disable preparser around invalidations on Tigerlake for non-RCS engines (Chris)
- Add missing dma_fence_put() for error case of syncobj timeline (Chris)
- Parse command buffer earlier in eb_relocate(slow) to facilitate backoff (Maarten)
- Pin engine before pinning all objects (Maarten)
- Rework intel_context pinning to do everything outside of pin_mutex (Maarten)

- Avoid tracking GEM context until registered (Cc: stable, Chris)
- Provide a fastpath for waiting on vma bindings (Chris)
- Fixes to preempt-to-busy mechanism (Chris)
- Distinguish the virtual breadcrumbs from the irq breadcrumbs (Chris)
- Switch to object allocations for page directories (Chris)
- Hold context/request reference while breadcrumbs are active (Chris)
- Make sure execbuffer always passes ww state to i915_vma_pin (Maarten)

- Code refactoring to facilitate use of WW locking (Maarten)
- Locking refactoring to use more granular locking (Maarten, Chris)
- Support for multiple pinned timelines per engine (Chris)
- Move complication of I915_GEM_THROTTLE to the ioctl from general code (Chris)
- Make active tracking/vma page-directory stash work preallocated (Chris)
- Avoid flushing submission tasklet too often (Chris)
- Reduce context termination list iteration guard to RCU (Chris)
- Reductions to locking contention (Chris)
- Fixes for issues found by CI (Chris)

----------------------------------------------------------------
Chris Wilson (33):
      drm/i915: Reduce i915_request.lock contention for i915_request_wait
      drm/i915/selftests: Mock the status_page.vma for the kernel_context
      drm/i915: Soften the tasklet flush frequency before waits
      drm/i915/gem: Remove disordered per-file request list for throttling
      drm/i915/gt: Disable preparser around xcs invalidations on tgl
      drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool
      drm/i915/selftests: Flush the active barriers before asserting
      drm/i915/gt: Fix termination condition for freeing all buffer objects
      drm/i915/gem: Delay tracking the GEM context until it is registered
      drm/i915/gt: Support multiple pinned timelines
      drm/i915/gt: Pull release of node->age under the spinlock
      drm/i915/selftests: Drop stale timeline constructor assert
      drm/i915: Skip taking acquire mutex for no ref->active callback
      drm/i915: Export a preallocate variant of i915_active_acquire()
      drm/i915: Keep the most recently used active-fence upon discard
      drm/i915: Make the stale cached active node available for any timeline
      drm/i915: Reduce locking around i915_active_acquire_preallocate_barrier()
      drm/i915: Provide a fastpath for waiting on vma bindings
      drm/i915: Remove requirement for holding i915_request.lock for breadcrumbs
      drm/i915/gt: Replace intel_engine_transfer_stale_breadcrumbs
      drm/i915/gt: Only transfer the virtual context to the new engine if active
      drm/i915/gt: