1. 26 Feb, 2022 1 commit
    • Matthew Auld's avatar
      drm/i915: apply PM_EARLY for non-GTT mappable objects · d2cc01e1
      Matthew Auld authored
      On DG2 we allow objects that are smaller than the min_page_size, under
      the premise that these are never mapped by the GTT, like with the paging
      structures. Currently the suspend-resume path will try to map such
      objects through the migration vm, which hits:
      
      [  560.529217] kernel BUG at drivers/gpu/drm/i915/gt/intel_migrate.c:431!
      [  560.536081] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
      [  560.541629] CPU: 4 PID: 2062 Comm: rtcwake Tainted: G        W         5.17.0-rc5-demarchi+ #175
      [  560.550716] Hardware name: Intel Corporation CoffeeLake Client Platform/CoffeeLake S UDIMM RVP, BIOS CNLSFWR1.R00.X220.B00.2103302221 03/30/2021
      [  560.563627] RIP: 0010:emit_pte+0x2e7/0x380 [i915]
      [  560.568665] Code: ee 02 48 89 69 04 83 c6 05 83 c0 05 39 f0 0f 4f c6 48 8b 73 08 39 d0 0f 4f c2 44 89 f2 4c 8d 4a ff 49 85 f1 0f 84 62 fe ff ff <0f> 0b 48 c7 03 00 00 00 00 4d 89 c6 8b 01 48 29 ce 48 8d 57 0c 48
      [  560.587691] RSP: 0018:ffffc9000104f8a0 EFLAGS: 00010206
      [  560.592906] RAX: 0000000000000040 RBX: ffffc9000104f908 RCX: ffffc900025114d0
      [  560.600024] RDX: 0000000000010000 RSI: 00000003f9fe2000 RDI: ffffc900025114dc
      [  560.607458] RBP: 0000000001840000 R08: ffff88810f335540 R09: 000000000000ffff
      [  560.614865] R10: 000000000000081b R11: 0000000000000001 R12: 000000000000081b
      [  560.622300] R13: 0000000000000000 R14: 0000000000010000 R15: ffff888107c3e240
      [  560.629716] FS:  00007f5b7c086580(0000) GS:ffff88846dc00000(0000) knlGS:0000000000000000
      [  560.638090] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  560.644132] CR2: 00007f3ab0a133a8 CR3: 000000010a43e003 CR4: 00000000003706e0
      [  560.651590] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  560.659002] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  560.666438] Call Trace:
      [  560.668885]  <TASK>
      [  560.670983]  intel_context_migrate_copy+0x1b1/0x4c0 [i915]
      [  560.676794]  __i915_ttm_move+0x628/0x790 [i915]
      [  560.681704]  ? dma_resv_iter_next+0x8f/0xb0
      [  560.686223]  ? dma_resv_iter_first+0xe5/0x140
      [  560.690894]  ? i915_deps_add_resv+0x4b/0x110 [i915]
      [  560.696147]  ? dma_resv_reserve_shared+0x161/0x310
      [  560.701228]  i915_gem_obj_copy_ttm+0x10f/0x220 [i915]
      [  560.706650]  i915_ttm_backup+0x191/0x2f0 [i915]
      [  560.711558]  i915_gem_process_region+0x266/0x3b0 [i915]
      [  560.717153]  ? verify_cpu+0xf0/0x100
      [  560.721040]  ? pci_pm_resume_early+0x20/0x20
      [  560.725603]  i915_ttm_backup_region+0x47/0x70 [i915]
      [  560.730927]  i915_gem_backup_suspend+0x141/0x170 [i91
      
      For now let's just force the memcpy path for such objects during
      suspend-resume.
      
      Fixes: 00e27ad8 ("drm/i915/migrate: add acceleration support for DG2")
      Reported-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220225103443.225228-1-matthew.auld@intel.com
      d2cc01e1
  2. 25 Feb, 2022 18 commits
  3. 24 Feb, 2022 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2022-02-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 54f43c17
      Dave Airlie authored
      drm-misc-next for v5.18:
      
      UAPI Changes:
      
      Cross-subsystem Changes:
      - Split out panel-lvds and lvds dt bindings .
      - Put yes/no on/off disabled/enabled strings in linux/string_helpers.h
        and use it in drivers and tomoyo.
      - Clarify dma_fence_chain and dma_fence_array should never include eachother.
      - Flatten chains in syncobj's.
      - Don't double add in fbdev/defio when page is already enlisted.
      - Don't sort deferred-I/O pages by default in fbdev.
      
      Core Changes:
      - Fix missing pm_runtime_put_sync in bridge.
      - Set modifier support to only linear fb modifier if drivers don't
        advertise support.
      - As a result, we remove allow_fb_modifiers.
      - Add missing clear for EDID Deep Color Modes in drm_reset_display_info.
      - Assorted documentation updates.
      - Warn once in drm_clflush if there is no arch support.
      - Add missing select for dp helper in drm_panel_edp.
      - Assorted small fixes.
      - Improve fb-helper's clipping handling.
      - Don't dump shmem mmaps in a core dump.
      - Add accounting to ttm resource manager, and use it in amdgpu.
      - Allow querying the detected eDP panel through debugfs.
      - Add helpers for xrgb8888 to 8 and 1 bits gray.
      - Improve drm's buddy allocator.
      - Add selftests for the buddy allocator.
      
      Driver Changes:
      - Add support for nomodeset to a lot of drm drivers.
      - Use drm_module_*_driver in a lot of drm drivers.
      - Assorted small fixes to bridge/lt9611, v3d, vc4, vmwgfx, mxsfb, nouveau,
        bridge/dw-hdmi, panfrost, lima, ingenic, sprd, bridge/anx7625, ti-sn65dsi86.
      - Add bridge/it6505.
      - Create DP and DVI-I connectors in ast.
      - Assorted nouveau backlight fixes.
      - Rework amdgpu reset handling.
      - Add dt bindings for ingenic,jz4780-dw-hdmi.
      - Support reading edid through aux channel in ingenic.
      - Add a drm driver for Solomon SSD130x OLED displays.
      - Add simple support for sharp LQ140M1JW46.
      - Add more panels to nt35560.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/686ec871-e77f-c230-22e5-9e3bb80f064a@linux.intel.com
      54f43c17
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2022-02-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 7f44571b
      Dave Airlie authored
      Linux core:
      -----------
      iosys-map: Add offset to iosys_map_memcpy_to() (Lucas)
      iosys-map: Add a few more helpers (Lucas)
      
      i915 (display and core changes on drm-intel-next):
      --------------------------------------------------
      
      - Display's DBuf and watermark related fixes and improvements (Ville)
      - More i915 header and other code clean-up (Jani)
      - Display IPS fixes and improvements (Ville)
      - OPRegion fixes and cleanups (Jani)
      - Fix the plane end Y offset check for FBC (Ville)
      - DP 128b/132b updates (Jani)
      - Disable runtime pm wakeref tracking for the mock device selftest (Ville)
      - Many display code clean-up while targeting to fix up DP DFP 4:2:0 handling (Ville)
      - Bigjoiner state tracking and more bigjoiner related work (Ville)
      - Update DMC_DEBUG3 register for DG1 (Chuansheng)
      - SAGV fixes (Ville)
      - More GT register cleanup (Matt)
      - Fix build issue when using clang (Tong)
      - Display DG2 fixes (Matt)
      - ADL-P PHY related fixes (Imre)
      - PSR2 fixes (Jose)
      - Add PCH Support for Alder Lake N (Tejas)
      
      drm-intel-gt-next (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)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YhbDan8wNZBR6FzF@intel.com
      7f44571b
  4. 23 Feb, 2022 19 commits