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(-) _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx