1. 24 Jan, 2023 4 commits
    • Tvrtko Ursulin's avatar
      Merge drm/drm-next into drm-intel-gt-next · 9635adf8
      Tvrtko Ursulin authored
      Lets eradicate a silent conflict between drm-intel-next and
      drm-intel-gt-next which added a duplicate function (try_firmware_load).
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      9635adf8
    • Daniel Vetter's avatar
      Merge tag 'drm-intel-gt-next-2023-01-18' of... · 045e8d10
      Daniel Vetter authored
      Merge tag 'drm-intel-gt-next-2023-01-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      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)
      
      danvet: Fix up merge conflict in intel_uc_fw.c, we ended up with 2
      copies of try_firmware_load() somehow.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y8fW2Ny1B1hZ5ZmF@tursulin-desk
      045e8d10
    • Tvrtko Ursulin's avatar
      drm/i915: Use uabi engines for the default engine map · 1ec23ed7
      Tvrtko Ursulin authored
      Default engine map is exactly about uabi engines so no excuse not to use
      the appropriate iterator to populate it.
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: default avatarJonathan Cavitt <jonathan.cavitt@intel.com>
      Reviewed-by: default avatarJonathan Cavitt <jonathan.cavitt@intel.com>
      [tursulin: Fixed up r-b tag spelling.]
      Link: https://patchwork.freedesktop.org/patch/msgid/20230123185629.1593320-1-jonathan.cavitt@intel.com
      1ec23ed7
    • Gustavo Sousa's avatar
      drm/i915/gt: Convert PSS_MODE2 to multicast register · 41badc01
      Gustavo Sousa authored
      That register became a multicast register as of Xe_HP and it is
      currently used only for DG2. Use a proper prefix since there could be
      usage of the same register for previous platforms in the future, which
      would require a different definition (i.e. using _MMIO).
      
      Note that, in its current state, the code does not cause functional
      problems, since the actual application of the workaround would
      implicitly use multicast mode. This fix is more toward consistency and
      being future-proof uses of this register outside of workarounds.
      
      v2:
        - Add paragraph noting that this change is for consistency and
          making the code future-proof. (Matt)
      Signed-off-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Matthew Atwood <matthew.s.atwood@intel.com>
      Fixes: 468a4e63 ("drm/i915/dg2: Introduce Wa_18018764978")
      Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230120181423.90507-1-gustavo.sousa@intel.com
      41badc01
  2. 20 Jan, 2023 1 commit
    • Arnd Bergmann's avatar
      drm/i915/selftest: fix intel_selftest_modify_policy argument types · 8d7eb8ed
      Arnd Bergmann authored
      The definition of intel_selftest_modify_policy() does not match the
      declaration, as gcc-13 points out:
      
      drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c:29:5: error: conflicting types for 'intel_selftest_modify_policy' due to enum/integer mismatch; have 'int(struct intel_engine_cs *, struct intel_selftest_saved_policy *, u32)' {aka 'int(struct intel_engine_cs *, struct intel_selftest_saved_policy *, unsigned int)'} [-Werror=enum-int-mismatch]
         29 | int intel_selftest_modify_policy(struct intel_engine_cs *engine,
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c:11:
      drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.h:28:5: note: previous declaration of 'intel_selftest_modify_policy' with type 'int(struct intel_engine_cs *, struct intel_selftest_saved_policy *, enum selftest_scheduler_modify)'
         28 | int intel_selftest_modify_policy(struct intel_engine_cs *engine,
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Change the type in the definition to match.
      
      Fixes: 617e87c0 ("drm/i915/selftest: Fix hangcheck self test for GuC submission")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Signed-off-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230117163743.1003219-1-arnd@kernel.org
      8d7eb8ed
  3. 19 Jan, 2023 3 commits
  4. 18 Jan, 2023 3 commits
  5. 17 Jan, 2023 2 commits
  6. 16 Jan, 2023 4 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2023-01-12' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 0b45ac11
      Dave Airlie authored
      drm/i915 feature pull #1 for v6.3:
      
      Features and functionality:
      - Meteorlake display enabling (Animesh, Luca, Stan, Jouni, Anusha)
      - DP MST DSC support (Stan)
      - Gamma/degamma readout support for the state checker (Ville)
      - Enable SDP split support for DP 2.0 (Vinod)
      - Add probe blocking support to i915.force_probe parameter (Rodrigo)
      - Enable Xe HP 4tile support (Jonathan)
      
      Refactoring and cleanups:
      - Color refactoring, especially related to DSB usage (Ville)
      - DSB refactoring (Ville)
      - DVO refactoring (Ville)
      - Backlight register and logging cleanups (Jani)
      - Avoid display direct calls to uncore (Maarten, Jani)
      - Add new "soc" sub-directory (Jani)
      - Refactor DSC platform support checks (Swati)
      
      Fixes:
      - Interlace modes are no longer supported starting at display version 12 (Ankit)
      - Use polling read for aux control (Arun)
      - DMC firmware no longer requires specific versions (Gustavo)
      - Fix PSR flickering and freeze issues (Jouni)
      - Fix ICL+ DSI GPIO handling (Jani)
      - Ratelimit errors in display engine irqs (Lucas)
      - Fix DP MST DSC bpp and timeslot calculations (Stan)
      - Fix CDCLK squash and crawl sequences (Ville, Anusha)
      - Fix bigjoiner checks for fused pipes (Ville)
      - Fix ADP+ degamma LUT size (Ville)
      - Fix DVO ch7xxx and sil164 suspend/resume (Ville)
      - Fix memory leak in VBT parsing (Xia Fukun)
      - Fix VBT packet port selection for dual link DSI (Mikko Kovanen)
      - Fix SDP infoframe product string for discrete graphics (Clint)
      - Fix VLV/CHV HDMI/DP audio enable (Ville)
      - Fix VRR delays and calculations (Ville)
      - No longer disable transcoder for PHY test pattern change (Khaled)
      - Fix dual PPS handling (Ville)
      - Fix timeout and wait for DDI BUF CTL active after enabling (Ankit)
      
      Merges:
      - Backmerge drm-next to sync up with v6.2-rc1 (Jani)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87tu0wez34.fsf@intel.com
      0b45ac11
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2023-01-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · c37ea39c
      Dave Airlie authored
      drm-misc-next for v6.3:
      
      UAPI Changes:
      
       * fourcc: Document Open Source user waiver
      
      Cross-subsystem Changes:
      
       * firmware: fix color-format selection for system framebuffers
      
      Core Changes:
      
       * format-helper: Add conversion from XRGB8888 to various sysfb formats;
         Make XRGB8888 the only driver-emulated legacy format
      
       * fb-helper: Avoid blank consoles from selecting an incorrect color format
      
       * probe-helper: Enable/disable HPD on connectors plus driver updates
      
       * Use drm_dbg_ helpers in several places
      
       * docs: Document defaults for CRTC backgrounds; Document use of drm_minor
      
      Driver Changes:
      
       * arm/hdlcd: Use new debugfs helpers
      
       * gud: Use new debugfs helpers
      
       * panel: Support Visionox VTDR6130 AMOLED DSI; Support Himax HX8394; Convert
         many drivers to common generic DSI write-sequence helper
      
       * v3d: Do not opencode drm_gem_object_lookup()
      
       * vc4: Various HVS an CRTC fixes
      
       * vkms: Fix SEGFAULT from incorrect GEM-buffer mapping
      
       * Convert various drivers to i2c probe_new()
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y8ADeSzZDj+tpibF@linux-uq9g
      c37ea39c
    • Dave Airlie's avatar
      Merge tag 'amd-drm-next-6.3-2023-01-13' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · 1f1c24de
      Dave Airlie authored
      amd-drm-next-6.3-2023-01-13:
      
      amdgpu:
      - Fix possible segfault in failure case
      - Rework FW requests to happen in early_init for all IPs so
        that we don't lose the sbios console if FW is missing
      - PSR fixes
      - Misc cleanups
      - Unload fix
      - SMU13 fixes
      
      amdkfd:
      - Fix for cleared VRAM BOs
      - Fix cleanup if GPUVM creation fails
      - Memory accounting fix
      - Use resource_size rather than open codeing it
      - GC11 mGPU fix
      
      radeon:
      - Fix memory leak on shutdown
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230113225911.7776-1-alexander.deucher@amd.com
      1f1c24de
    • Dave Airlie's avatar
      Merge tag 'amd-drm-next-6.3-2023-01-06' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · 45be2048
      Dave Airlie authored
      amd-drm-next-6.3-2023-01-06:
      
      amdgpu:
      - secure display support for multiple displays
      - DML optimizations
      - DCN 3.2 updates
      - PSR updates
      - DP 2.1 updates
      - SR-IOV RAS updates
      - VCN RAS support
      - SMU 13.x updates
      - Switch 1 element arrays to flexible arrays
      - Add RAS support for DF 4.3
      - Stack size improvements
      - S0ix rework
      - Soft reset fix
      - Allow 0 as a vram limit on APUs
      - Display fixes
      - Misc code cleanups
      - Documentation fixes
      - Handle profiling modes for SMU13.x
      
      amdkfd:
      - Error handling fixes
      - PASID fixes
      
      radeon:
      - Switch 1 element arrays to flexible arrays
      
      drm:
      - Add DP adaptive sync DPCD definitions
      
      UAPI:
      - Add new INFO queries for peak and min sclk/mclk for profile modes on newer chips
        Proposed mesa patch: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/278Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230106222037.7870-1-alexander.deucher@amd.com
      45be2048
  7. 13 Jan, 2023 1 commit
  8. 12 Jan, 2023 3 commits
    • Maíra Canal's avatar
      drm/vkms: reintroduce prepare_fb and cleanup_fb functions · 6e41acd2
      Maíra Canal authored
      With commit 359c6649 ("drm/gem: Implement shadow-plane {begin,
      end}_fb_access with vmap"), the behavior of the shadow-plane helpers
      changed and the vunmap is now performed at the end of
      the current pageflip, instead of the end of the following pageflip.
      
      By performing the vunmap at the end of the current pageflip, invalid
      memory is accessed by the vkms during the plane composition, as the data
      is being unmapped before being used, as reported by the following
      warning:
      
       [  275.866047] BUG: unable to handle page fault for address: ffffb382814e8002
       [  275.866055] #PF: supervisor read access in kernel mode
       [  275.866058] #PF: error_code(0x0000) - not-present page
       [  275.866061] PGD 1000067 P4D 1000067 PUD 110a067 PMD 46e3067 PTE 0
       [  275.866066] Oops: 0000 [#1] PREEMPT SMP PTI
       [  275.866070] CPU: 2 PID: 49 Comm: kworker/u8:2 Not tainted 6.1.0-rc6-00018-gb357e7ac-dirty #54
       [  275.866074] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014
       [  275.866076] Workqueue: vkms_composer vkms_composer_worker [vkms]
       [  275.866084] RIP: 0010:XRGB8888_to_argb_u16+0x5c/0xa0 [vkms]
       [  275.866092] Code: bf 56 0a 0f af 56 70 48 8b 76 28 01 ca 49 83 f8 02
       41 b9 01 00 00 00 4d 0f 43 c8 48 01 f2 48 83 c2 02 31 f6 66 c7 04 f0 ff
       ff <0f> b6 0c b2 89 cf c1 e7 08 09 cf 66 89 7c f0 02 0f b6 4c b2 ff 89
       [  275.866095] RSP: 0018:ffffb382801b7db0 EFLAGS: 00010246
       [  275.866098] RAX: ffff896336ace000 RBX: ffff896310e293c0 RCX: 0000000000000000
       [  275.866101] RDX: ffffb382814e8002 RSI: 0000000000000000 RDI: ffffb382801b7de8
       [  275.866103] RBP: 0000000000001400 R08: 0000000000000280 R09: 0000000000000280
       [  275.866105] R10: 0000000000000010 R11: ffffffffc011d990 R12: ffff896302a1ece0
       [  275.866107] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000080008001
       [  275.866109] FS:  0000000000000000(0000) GS:ffff89637dd00000(0000) knlGS:0000000000000000
       [  275.866112] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       [  275.866114] CR2: ffffb382814e8002 CR3: 0000000003bb4000 CR4: 00000000000006e0
       [  275.866120] Call Trace:
       [  275.866123]  <TASK>
       [  275.866124]  compose_active_planes+0x1c4/0x380 [vkms]
       [  275.866132]  vkms_composer_worker+0x9f/0x130 [vkms]
       [  275.866139]  process_one_work+0x1c0/0x370
       [  275.866160]  worker_thread+0x221/0x410
       [  275.866164]  ? worker_clr_flags+0x50/0x50
       [  275.866167]  kthread+0xe1/0x100
       [  275.866172]  ? kthread_blkcg+0x30/0x30
       [  275.866176]  ret_from_fork+0x22/0x30
       [  275.866181]  </TASK>
       [  275.866182] Modules linked in: vkms
       [  275.866186] CR2: ffffb382814e8002
       [  275.866191] ---[ end trace 0000000000000000 ]---
      
      Therefore, introduce again prepare_fb and cleanup_fb functions to the
      vkms, which were previously removed on commit b43e2ec0 ("drm/vkms:
      Let shadow-plane helpers prepare the plane's FB").
      
      Fixes: 359c6649 ("drm/gem: Implement shadow-plane {begin, end}_fb_access with vmap")
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarMaíra Canal <mcanal@igalia.com>
      Signed-off-by: default avatarMelissa Wen <melissa.srw@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230111131304.106039-1-mcanal@igalia.com
      6e41acd2
    • Ankit Nautiyal's avatar
      drm/i915/display: Prune Interlace modes for Display >=12 · f71c9b7b
      Ankit Nautiyal authored
      Defeature Display Interlace support.
      Support for interlace modes is removed from Gen 12 onwards.
      Pruning the interlace modes for HDMI for Display >=12.
      Bspec: 50490
      
      v2: Add check for both DP and HDMI. (Ville)
      Get rid of redundant check for interlace mode in modevalid. (Ville)
      
      v3: Simplify the condition to avoid interlace modes. (Jani)
      Signed-off-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230105124125.1129653-1-ankit.k.nautiyal@intel.com
      f71c9b7b
    • Ankit Nautiyal's avatar
      drm/i915/display: Drop check for doublescan mode in modevalid · 9d04eb20
      Ankit Nautiyal authored
      Since the DP/HDMI connector do not set connector->doublescan_allowed,
      the doublescan modes will get automatically filtered during
      drm_helper_probe_single_connector_modes().
      
      Therefore check for double scan modes is not required and is dropped
      from modevalid functions for both DP and HDMI.
      Signed-off-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221017143038.1748319-2-ankit.k.nautiyal@intel.com
      9d04eb20
  9. 11 Jan, 2023 19 commits