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@xxxxxxxxxxxxxxx> 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