* [PULL] drm-intel-gt-next
@ 2021-05-28 7:25 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [Intel-gfx] [PULL] drm-intel-gt-next
@ 2021-05-28 7:25 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ messages in thread
From: Joonas Lahtinen @ 2021-05-28 7:25 UTC (permalink / raw)
To: Dave Airlie, Daniel Vetter; +Cc: dim-tools, dri-devel, Maxime Ripard, 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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: [PULL] drm-intel-gt-next
2021-05-28 7:25 ` [Intel-gfx] " Joonas Lahtinen
@ 2021-05-28 7:27 ` Joonas Lahtinen
-1 siblings, 0 replies; 69+ 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] 69+ messages in thread
* Re: [Intel-gfx] [PULL] drm-intel-gt-next
@ 2021-05-28 7:27 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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, Maxime Ripard
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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: [PULL] drm-intel-gt-next
2021-05-28 7:27 ` [Intel-gfx] " Joonas Lahtinen
@ 2021-06-02 0:28 ` Dave Airlie
-1 siblings, 0 replies; 69+ 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] 69+ messages in thread
* Re: [Intel-gfx] [PULL] drm-intel-gt-next
@ 2021-06-02 0:28 ` Dave Airlie
0 siblings, 0 replies; 69+ 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, Maxime Ripard,
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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: [PULL] drm-intel-gt-next
2021-06-02 0:28 ` [Intel-gfx] " Dave Airlie
@ 2021-06-02 4:17 ` Dave Airlie
-1 siblings, 0 replies; 69+ 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] 69+ messages in thread
* Re: [Intel-gfx] [PULL] drm-intel-gt-next
@ 2021-06-02 4:17 ` Dave Airlie
0 siblings, 0 replies; 69+ 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, Maxime Ripard,
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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: [PULL] drm-intel-gt-next
2021-06-02 4:17 ` [Intel-gfx] " Dave Airlie
@ 2021-06-02 4:30 ` Dave Airlie
-1 siblings, 0 replies; 69+ 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] 69+ messages in thread
* Re: [Intel-gfx] [PULL] drm-intel-gt-next
@ 2021-06-02 4:30 ` Dave Airlie
0 siblings, 0 replies; 69+ 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, Maxime Ripard,
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.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2024-04-26 7:17 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2024-02-28 14:02 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-12-15 12:11 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-12-15 12:11 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-12-08 16:18 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-12-08 16:18 ` Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-10-19 14:54 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-10-12 10:30 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-09-28 12:36 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-08-11 10:47 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-08-04 8:45 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-06-08 15:34 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-05-24 18:09 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-03-16 12:58 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2023-02-01 11:36 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-11-18 9:12 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-11-03 8:03 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-09-16 8:47 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-09-09 11:20 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-08-24 12:01 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-06-29 10:45 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-05-05 6:39 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-04-27 10:49 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2022-03-03 7:50 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-12-23 12:47 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-12-09 13:14 Tvrtko Ursulin
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-10-21 13:07 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-10-08 9:27 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ 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; 69+ 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] 69+ 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; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-06-10 9:40 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-04-06 13:40 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-01-21 15:07 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2021-01-14 15:22 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2020-11-12 16:34 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2020-09-07 13:00 Joonas Lahtinen
0 siblings, 0 replies; 69+ 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: Distinguish the virtual breadcrumbs from the irq breadcrumbs
drm/i915: Preallocate stashes for vma page-directories
drm/i915/gt: Switch to object allocations for page directories
drm/i915/gt: Shrink i915_page_directory's slab bucket
drm/i915/gt: Move intel_breadcrumbs_arm_irq earlier
drm/i915/gt: Hold context/request reference while breadcrumbs are active
drm/i915/selftests: Prevent selecting 0 for our random width/align
drm/i915/gem: Reduce context termination list iteration guard to RCU
drm/i915/gem: Free the fence after a fence-chain lookup failure
drm/i915: Be wary of data races when reading the active execlists
drm/i915: Remove i915_request.lock requirement for execution callbacks
drm/i915: Filter wake_flags passed to default_wake_function
Maarten Lankhorst (23):
Revert "drm/i915/gem: Async GPU relocations only"
drm/i915: Revert relocation chaining commits.
Revert "drm/i915/gem: Drop relocation slowpath".
Revert "drm/i915/gem: Split eb_vma into its own allocation"
drm/i915: Add an implementation for i915_gem_ww_ctx locking, v2.
drm/i915: Remove locking from i915_gem_object_prepare_read/write
drm/i915: Parse command buffer earlier in eb_relocate(slow)
drm/i915: Use per object locking in execbuf, v12.
drm/i915: Use ww locking in intel_renderstate.
drm/i915: Add ww context handling to context_barrier_task
drm/i915: Nuke arguments to eb_pin_engine
drm/i915: Pin engine before pinning all objects, v5.
drm/i915: Rework intel_context pinning to do everything outside of pin_mutex
drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin.
drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2.
drm/i915: Kill last user of intel_context_create_request outside of selftests
drm/i915: Convert i915_perf to ww locking as well
drm/i915: Dirty hack to fix selftests locking inversion
drm/i915/selftests: Fix locking inversion in lrc selftest.
drm/i915: Use ww pinning for intel_context_create_request()
drm/i915: Move i915_vma_lock in the selftests to avoid lock inversion, v3.
drm/i915: Add ww locking to vm_fault_gtt
drm/i915: Add ww locking to pin_to_display_plane, v2.
Thomas Hellström (1):
drm/i915: Unlock the shared hwsp_gtt object after pinning
drivers/gpu/drm/i915/display/intel_display.c | 6 +-
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c | 89 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 105 +-
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_domain.c | 80 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 1601 +++++++++++++-------
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 51 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 40 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.c | 152 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.h | 3 +
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 10 +
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_throttle.c | 67 +-
drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 9 +-
.../drm/i915/gem/selftests/i915_gem_client_blt.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 50 +-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 144 +-
.../drm/i915/gem/selftests/i915_gem_execbuffer.c | 60 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 45 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c | 2 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 106 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.h | 5 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 181 +--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 305 ++--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.h | 36 +
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 47 +
drivers/gpu/drm/i915/gt/intel_context.c | 318 ++--
drivers/gpu/drm/i915/gt/intel_context.h | 13 +
drivers/gpu/drm/i915/gt/intel_context_types.h | 5 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 20 -
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 34 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 3 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 31 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 97 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 23 +-
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 103 +-
.../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h | 6 +-
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 1 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 300 +---
drivers/gpu/drm/i915/gt/intel_gtt.h | 142 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 182 ++-
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 150 +-
drivers/gpu/drm/i915/gt/intel_renderstate.c | 73 +-
drivers/gpu/drm/i915/gt/intel_renderstate.h | 9 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 1 +
drivers/gpu/drm/i915/gt/intel_ring.c | 10 +-
drivers/gpu/drm/i915/gt/intel_ring.h | 3 +-
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 42 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 1 +
drivers/gpu/drm/i915/gt/intel_timeline.c | 28 +-
drivers/gpu/drm/i915/gt/intel_timeline.h | 24 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 43 +-
drivers/gpu/drm/i915/gt/mock_engine.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_context.c | 2 +
drivers/gpu/drm/i915/gt/selftest_lrc.c | 22 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_timeline.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_workarounds.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
drivers/gpu/drm/i915/gvt/cmd_parser.c | 3 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 17 +-
drivers/gpu/drm/i915/i915_active.c | 237 ++-
drivers/gpu/drm/i915/i915_active.h | 31 +-
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 24 +-
drivers/gpu/drm/i915/i915_gem.c | 107 +-
drivers/gpu/drm/i915/i915_gem.h | 12 +
drivers/gpu/drm/i915/i915_irq.c | 1 +
drivers/gpu/drm/i915/i915_perf.c | 57 +-
drivers/gpu/drm/i915/i915_request.c | 224 +--
drivers/gpu/drm/i915/i915_request.h | 8 -
drivers/gpu/drm/i915/i915_sw_fence.c | 10 +-
drivers/gpu/drm/i915/i915_vma.c | 65 +-
drivers/gpu/drm/i915/i915_vma.h | 13 +-
drivers/gpu/drm/i915/selftests/i915_gem.c | 41 +
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 75 +-
drivers/gpu/drm/i915/selftests/i915_perf.c | 4 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 18 +-
drivers/gpu/drm/i915/selftests/i915_vma.c | 2 +-
.../gpu/drm/i915/selftests/intel_memory_region.c | 8 +-
drivers/gpu/drm/i915/selftests/mock_gtt.c | 26 +-
82 files changed, 3743 insertions(+), 2206 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 69+ messages in thread
* [PULL] drm-intel-gt-next
@ 2020-09-04 13:39 Joonas Lahtinen
0 siblings, 0 replies; 69+ messages in thread
From: Joonas Lahtinen @ 2020-09-04 13:39 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 GT pull request for v5.10. It's the same patches as
previously at "topic/drm-intel-gem-next", one dropped and a few
re-ordered while creating the "drm-intel-gt-next" branch. So the
patches have been part of drm-tip already for weeks.
More about the PR itself at the end, but now cutting to content:
As the log indicates, this pull req is all about the requested locking
refactoring. It ultimately ends up taking the WW locking into use across
the driver. I don't plan on sending further feature pull request
for v5.10, but let's focus on the -fixes pulls to stabilize this.
Apart from that, there's fix for Tigerlake related to syncobjs, a couple
of fixes to keep CI happy, and a code refactoring to allow for the
locking paradigm change.
GVT-g scheduler codebase is still missing the reworks. They will be done
as soon as the i915 ones get merged. But we have validated that the GVT-g
functionality still works as it's rather independent codebase.
NOTE: Includes reverts for 5 patches to faster introduce WW locking
refactoring. So those may come with some perf regressions. And major
locking refactoring probably also introduced some very subtle implicit
uAPI changes, so we'll have to deal with those as they are noticed.
Will include remaining 3 commits from drm-intel-gt-next in the PR of
next week (just -fixes stuff), when we have the full fixup for one of
them in addition to the minimal backportable fix. But feel free to
take a look at the improved commit messages already, which you requested
in the previous -fixes PR.
CI results can be found at:
https://intel-gfx-ci.01.org/tree/drm-intel-gt-next/index.html
About this PR itself: I produced this with local DIM changes to
be able to tag branches at given commit and send the PR for given tag.
Took a couple of tries, so you can disregard the extra tags until
drm-intel-gt-next-2020-09-04-2. I'll post the DIM changes for review
as RFC.
Plan is for the "drm-intel-gt-next" branch to be a persistent branch,
where the GT hardware and GEM uAPI related patches would go. I opted to
drop the -queued concept, so single tree for tagging PRs and merging.
The rebasing onto drm-next while pushing to drm-intel-gt-next also causes
DIM to complain about the committer S-o-b's. I only added S-o-b to patches
that were actually modified and noticed DIM complaint only after I had
already fixed up all the Fixes: references.
I can re-spin with added S-o-bs everywhere if that's necessary.
Regards, Joonas
***
drm-intel-gt-next-2020-09-04-3:
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-04-3
for you to fetch changes up to 509c5c3f0a072962260299aeab106ce27df7bb07:
drm/i915: Add ww locking to pin_to_display_plane, v2. (2020-09-03 15:35:28 +0300)
----------------------------------------------------------------
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 (30):
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: Distinguish the virtual breadcrumbs from the irq breadcrumbs
drm/i915: Preallocate stashes for vma page-directories
drm/i915/gt: Switch to object allocations for page directories
drm/i915/gt: Shrink i915_page_directory's slab bucket
drm/i915/gt: Move intel_breadcrumbs_arm_irq earlier
drm/i915/gt: Hold context/request reference while breadcrumbs are active
drm/i915/selftests: Prevent selecting 0 for our random width/align
drm/i915/gem: Reduce context termination list iteration guard to RCU
drm/i915/gem: Free the fence after a fence-chain lookup failure
Maarten Lankhorst (23):
Revert "drm/i915/gem: Async GPU relocations only"
drm/i915: Revert relocation chaining commits.
Revert "drm/i915/gem: Drop relocation slowpath".
Revert "drm/i915/gem: Split eb_vma into its own allocation"
drm/i915: Add an implementation for i915_gem_ww_ctx locking, v2.
drm/i915: Remove locking from i915_gem_object_prepare_read/write
drm/i915: Parse command buffer earlier in eb_relocate(slow)
drm/i915: Use per object locking in execbuf, v12.
drm/i915: Use ww locking in intel_renderstate.
drm/i915: Add ww context handling to context_barrier_task
drm/i915: Nuke arguments to eb_pin_engine
drm/i915: Pin engine before pinning all objects, v5.
drm/i915: Rework intel_context pinning to do everything outside of pin_mutex
drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin.
drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2.
drm/i915: Kill last user of intel_context_create_request outside of selftests
drm/i915: Convert i915_perf to ww locking as well
drm/i915: Dirty hack to fix selftests locking inversion
drm/i915/selftests: Fix locking inversion in lrc selftest.
drm/i915: Use ww pinning for intel_context_create_request()
drm/i915: Move i915_vma_lock in the selftests to avoid lock inversion, v3.
drm/i915: Add ww locking to vm_fault_gtt
drm/i915: Add ww locking to pin_to_display_plane, v2.
drivers/gpu/drm/i915/display/intel_display.c | 6 +-
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c | 89 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 105 +-
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_domain.c | 80 +-
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 1601 +++++++++++++-------
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 51 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 40 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.c | 152 +-
drivers/gpu/drm/i915/gem/i915_gem_object_blt.h | 3 +
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 10 +
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_throttle.c | 67 +-
drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 9 +-
.../drm/i915/gem/selftests/i915_gem_client_blt.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_coherency.c | 50 +-
.../gpu/drm/i915/gem/selftests/i915_gem_context.c | 144 +-
.../drm/i915/gem/selftests/i915_gem_execbuffer.c | 60 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 45 +-
drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c | 2 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 106 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.h | 5 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 181 +--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 305 ++--
drivers/gpu/drm/i915/gt/intel_breadcrumbs.h | 36 +
drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h | 47 +
drivers/gpu/drm/i915/gt/intel_context.c | 309 ++--
drivers/gpu/drm/i915/gt/intel_context.h | 13 +
drivers/gpu/drm/i915/gt/intel_context_types.h | 5 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 20 -
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 34 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 3 +-
drivers/gpu/drm/i915/gt/intel_engine_types.h | 31 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 97 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 23 +-
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 103 +-
.../gpu/drm/i915/gt/intel_gt_buffer_pool_types.h | 6 +-
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 1 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 300 +---
drivers/gpu/drm/i915/gt/intel_gtt.h | 142 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 167 +-
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 150 +-
drivers/gpu/drm/i915/gt/intel_renderstate.c | 73 +-
drivers/gpu/drm/i915/gt/intel_renderstate.h | 9 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 1 +
drivers/gpu/drm/i915/gt/intel_ring.c | 10 +-
drivers/gpu/drm/i915/gt/intel_ring.h | 3 +-
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 42 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 1 +
drivers/gpu/drm/i915/gt/intel_timeline.c | 28 +-
drivers/gpu/drm/i915/gt/intel_timeline.h | 24 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 43 +-
drivers/gpu/drm/i915/gt/mock_engine.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_context.c | 2 +
drivers/gpu/drm/i915/gt/selftest_lrc.c | 22 +-
drivers/gpu/drm/i915/gt/selftest_rps.c | 30 +-
drivers/gpu/drm/i915/gt/selftest_timeline.c | 10 +-
drivers/gpu/drm/i915/gt/selftest_workarounds.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
drivers/gpu/drm/i915/gvt/cmd_parser.c | 3 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 17 +-
drivers/gpu/drm/i915/i915_active.c | 237 ++-
drivers/gpu/drm/i915/i915_active.h | 31 +-
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 24 +-
drivers/gpu/drm/i915/i915_gem.c | 107 +-
drivers/gpu/drm/i915/i915_gem.h | 12 +
drivers/gpu/drm/i915/i915_irq.c | 1 +
drivers/gpu/drm/i915/i915_perf.c | 57 +-
drivers/gpu/drm/i915/i915_request.c | 132 +-
drivers/gpu/drm/i915/i915_request.h | 8 -
drivers/gpu/drm/i915/i915_vma.c | 65 +-
drivers/gpu/drm/i915/i915_vma.h | 13 +-
drivers/gpu/drm/i915/selftests/i915_gem.c | 41 +
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 75 +-
drivers/gpu/drm/i915/selftests/i915_perf.c | 4 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 18 +-
drivers/gpu/drm/i915/selftests/i915_vma.c | 2 +-
.../gpu/drm/i915/selftests/intel_memory_region.c | 8 +-
drivers/gpu/drm/i915/selftests/mock_gtt.c | 26 +-
81 files changed, 3654 insertions(+), 2169 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
create mode 100644 drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 69+ messages in thread
end of thread, other threads:[~2024-04-26 7:17 UTC | newest]
Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28 7:25 [PULL] drm-intel-gt-next Joonas Lahtinen
2021-05-28 7:25 ` [Intel-gfx] " Joonas Lahtinen
2021-05-28 7:27 ` Joonas Lahtinen
2021-05-28 7:27 ` [Intel-gfx] " Joonas Lahtinen
2021-06-02 0:28 ` Dave Airlie
2021-06-02 0:28 ` [Intel-gfx] " Dave Airlie
2021-06-02 4:17 ` Dave Airlie
2021-06-02 4:17 ` [Intel-gfx] " Dave Airlie
2021-06-02 4:30 ` Dave Airlie
2021-06-02 4:30 ` [Intel-gfx] " Dave Airlie
-- strict thread matches above, loose matches on Subject: below --
2024-04-26 7:17 Joonas Lahtinen
2024-02-28 14:02 Tvrtko Ursulin
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:33 ` Thomas Hellström
2024-02-16 9:41 ` Joonas Lahtinen
2024-02-20 15:14 ` Joonas Lahtinen
2023-12-15 12:11 Joonas Lahtinen
2023-12-15 12:11 ` Joonas Lahtinen
2023-12-08 16:18 Joonas Lahtinen
2023-12-08 16:18 ` Joonas Lahtinen
2023-10-19 14:54 Tvrtko Ursulin
2023-10-12 10:30 Tvrtko Ursulin
2023-09-28 12:36 Tvrtko Ursulin
2023-08-11 10:47 Joonas Lahtinen
2023-08-04 8:45 Joonas Lahtinen
2023-06-08 15:34 Tvrtko Ursulin
2023-05-24 18:09 Tvrtko Ursulin
2023-04-06 11:41 Maarten Lankhorst
2023-04-06 12:34 ` Jani Nikula
2023-04-06 13:00 ` Daniel Vetter
2023-04-06 8:18 Joonas Lahtinen
2023-04-06 12:38 ` Daniel Vetter
2023-03-16 12:58 Joonas Lahtinen
2023-02-01 11:36 Tvrtko Ursulin
2023-01-18 11:24 Tvrtko Ursulin
2023-01-24 15:32 ` Daniel Vetter
2022-11-18 9:12 Joonas Lahtinen
2022-11-03 8:03 Joonas Lahtinen
2022-10-31 11:07 Joonas Lahtinen
2022-11-01 19:33 ` Dave Airlie
2022-09-16 8:47 Joonas Lahtinen
2022-09-09 11:20 Joonas Lahtinen
2022-08-24 12:01 Joonas Lahtinen
2022-07-13 21:31 Rodrigo Vivi
2022-07-21 15:06 ` Vivi, Rodrigo
2022-06-29 10:45 Tvrtko Ursulin
2022-05-05 6:39 Tvrtko Ursulin
2022-04-27 10:49 Tvrtko Ursulin
2022-03-03 7:50 Joonas Lahtinen
2022-02-17 10:26 Joonas Lahtinen
2022-02-20 23:30 ` Dave Airlie
2022-02-21 9:21 ` Jani Nikula
2022-02-22 19:44 ` Lucas De Marchi
2022-02-23 20:35 ` Vivi, Rodrigo
2021-12-23 12:47 Tvrtko Ursulin
2021-12-09 13:14 Tvrtko Ursulin
2021-10-21 13:07 Joonas Lahtinen
2021-10-08 9:27 Joonas Lahtinen
2021-08-06 10:06 Joonas Lahtinen
2021-08-06 10:10 ` Joonas Lahtinen
2021-06-10 9:40 Joonas Lahtinen
2021-04-06 13:40 Joonas Lahtinen
2021-01-21 15:07 Joonas Lahtinen
2021-01-14 15:22 Joonas Lahtinen
2020-11-12 16:34 Joonas Lahtinen
2020-09-07 13:00 Joonas Lahtinen
2020-09-04 13:39 Joonas Lahtinen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.