1. 02 Oct, 2023 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2023-09-28' of... · caacbdc2
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2023-09-28' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      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)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZRVzL02VFuwIkcGl@tursulin-desk
      caacbdc2
  2. 28 Sep, 2023 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 79fb229b
      Dave Airlie authored
      drm-misc-next for v6.7-rc1:
      
      UAPI Changes:
      - drm_file owner is now updated during use, in the case of a drm fd
        opened by the display server for a client, the correct owner is
        displayed.
      - Qaic gains support for the QAIC_DETACH_SLICE_BO ioctl to allow bo
        recycling.
      
      Cross-subsystem Changes:
      - Disable boot logo for au1200fb, mmpfb and unexport logo helpers.
        Only fbcon should manage display of logo.
      - Update freescale in MAINTAINERS.
      - Add some bridge files to bridge in MAINTAINERS.
      - Update gma500 driver repo in MAINTAINERS to point to drm-misc.
      
      Core Changes:
      - Move size computations to drm buddy allocator.
      - Make drm_atomic_helper_shutdown(NULL) a nop.
      - Assorted small fixes in drm_debugfs, DP-MST payload addition error handling.
      - Fix DRM_BRIDGE_ATTACH_NO_CONNECTOR handling.
      - Handle bad (h/v)sync_end in EDID by clipping to htotal.
      - Build GPUVM as a module.
      
      Driver Changes:
      - Simple drivers don't need to cache prepared result.
      - Call drm_atomic_helper_shutdown() in shutdown/unbind for a whole lot
        more drm drivers.
      - Assorted small fixes in amdgpu, ssd130x, bridge/it6621, accel/qaic,
        nouveau, tc358768.
      - Add NV12 for komeda writeback.
      - Add arbitration lost event to synopsis/dw-hdmi-cec.
      - Speed up s/r in nouveau by not restoring some big bo's.
      - Assorted nouveau display rework in preparation for GSP-RM,
        especially related to how the modeset sequence works and
        the DP sequence in relation to link training.
      - Update anx7816 panel.
      - Support NVSYNC and NHSYNC in tegra.
      - Allow multiple power domains in simple driver.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/f1fae5eb-25b8-192a-9a53-215e1184ce81@linux.intel.com
      79fb229b
    • Nirmoy Das's avatar
      drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval · 03d68141
      Nirmoy Das authored
      PIPE_CONTROL_FLUSH_L3 is not needed for aux invalidation
      so don't set that.
      
      Fixes: ad8ebf12 ("drm/i915/gt: Ensure memory quiesced before invalidation")
      Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
      Cc: Andi Shyti <andi.shyti@linux.intel.com>
      Cc: <stable@vger.kernel.org> # v5.8+
      Cc: Andrzej Hajda <andrzej.hajda@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
      Cc: Tapani Pälli <tapani.palli@intel.com>
      Cc: Mark Janes <mark.janes@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarNirmoy Das <nirmoy.das@intel.com>
      Acked-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Tested-by: default avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: default avatarAndrzej Hajda <andrzej.hajda@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230926142401.25687-1-nirmoy.das@intel.com
      03d68141
  3. 27 Sep, 2023 1 commit
    • Tvrtko Ursulin's avatar
      drm/i915: Do not disable preemption for resets · 1e975e59
      Tvrtko Ursulin authored
      Commit ade8a0f5 ("drm/i915: Make all GPU resets atomic") added a
      preempt disable section over the hardware reset callback to prepare the
      driver for being able to reset from atomic contexts.
      
      In retrospect I can see that the work item at a time was about removing
      the struct mutex from the reset path. Code base also briefly entertained
      the idea of doing the reset under stop_machine in order to serialize
      userspace mmap and temporary glitch in the fence registers (see
      eb8d0f5a ("drm/i915: Remove GPU reset dependence on struct_mutex"),
      but that never materialized and was soon removed in 2caffbf1
      ("drm/i915: Revoke mmaps and prevent access to fence registers across
      reset") and replaced with a SRCU based solution.
      
      As such, as far as I can see, today we still have a requirement that
      resets must not sleep (invoked from submission tasklets), but no need to
      support invoking them from a truly atomic context.
      
      Given that the preemption section is problematic on RT kernels, since the
      uncore lock becomes a sleeping lock and so is invalid in such section,
      lets try and remove it. Potential downside is that our short waits on GPU
      to complete the reset may get extended if CPU scheduling interferes, but
      in practice that probably isn't a deal breaker.
      
      In terms of mechanics, since the preemption disabled block is being
      removed we just need to replace a few of the wait_for_atomic macros into
      busy looping versions which will work (and not complain) when called from
      non-atomic sections.
      
      v2:
       * Fix timeouts which are now in us. (Andi)
       * Update one comment as a drive by. (Andi)
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris.p.wilson@intel.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Andi Shyti <andi.shyti@linux.intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230926100855.61722-1-tvrtko.ursulin@linux.intel.com
      1e975e59
  4. 26 Sep, 2023 2 commits
  5. 25 Sep, 2023 9 commits
  6. 22 Sep, 2023 9 commits
  7. 21 Sep, 2023 11 commits
  8. 20 Sep, 2023 5 commits