1. 23 2月, 2022 2 次提交
  2. 22 2月, 2022 1 次提交
  3. 20 2月, 2022 10 次提交
  4. 19 2月, 2022 1 次提交
  5. 18 2月, 2022 1 次提交
    • S
      drm/i915/dg2: Move misplaced 'ctx' & 'gt' wa's to engine wa list · edf176f4
      Srinivasan Shanmugam 提交于
      Registers that belong to the shared render/compute reset domain need to
      be placed on an engine workaround list to ensure that they are properly
      re-applied whenever any RCS or CCS engine is reset, even if the
      registers do not belong to a specific engine's MMIO range.  We have a
      number of workarounds today that are incorrectly implemented on the 'gt'
      workaround list and need to be moved accordingly.  We also have one
      workaround (Wa_22012532006) that is incorrectly implemented on the
      context workaround list, even though the register it is adjusting is not
      part of the RCS engine's context image; it must also be moved.
      
      We'll have some workaround refactoring coming in the near future that
      deals with registers in the reset domain in a more clear way.  But in
      the meantime, we should just move these workarounds to
      rcs_engine_wa_init() to place them on the RCS engine's workaround list.
      All production DG2 platforms will have an RCS engine (it's never fused
      off) so these registers will be properly restored after a domain reset
      triggered via an RCS engine _or_ a CCS engine.
      
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NSrinivasan Shanmugam <srinivasan.s@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220215235531.2236399-1-matthew.d.roper@intel.com
      edf176f4
  6. 17 2月, 2022 1 次提交
  7. 11 2月, 2022 4 次提交
  8. 10 2月, 2022 1 次提交
  9. 09 2月, 2022 2 次提交
    • L
      drm/i915/guc: Use a single pass to calculate regset · bf890040
      Lucas De Marchi 提交于
      The ADS initialitazion was using 2 passes to calculate the regset sent
      to GuC to initialize each engine: the first pass to just have the final
      object size and the second to set each register in place in the final
      gem object.
      
      However in order to maintain an ordered set of registers to pass to guc,
      each register needs to be added and moved in the final array. The second
      phase may actually happen in IO memory rather than system memory and
      accessing IO memory by simply dereferencing the pointer doesn't work on
      all architectures. Other places of the ADS initializaition were
      converted to use the iosys_map API, but here there may be a lot more
      accesses to IO memory. So, instead of following that same approach,
      convert the regset initialization to calculate the final array in 1
      pass and in the second pass that array is just copied to its final
      location, updating the pointers for each engine written to the ADS blob.
      
      One important thing is that struct temp_regset now have
      different semantics: `registers` continues to track the registers of a
      single engine, however the other fields are updated together, according
      to the newly added `storage`, which tracks the memory allocated for
      all the registers. So rename some of these fields and add a
      __mmio_reg_add(): this function (possibly) allocates memory and operates
      on the storage pointer while guc_mmio_reg_add() continues to manage the
      registers pointer.
      
      On a Tiger Lake system using enable_guc=3, the following log message is
      now seen:
      
      	[  187.334310] i915 0000:00:02.0: [drm:intel_guc_ads_create [i915]] Used 4 KB for temporary ADS regset
      
      This change has also been tested on an ARM64 host with DG2 and other
      discrete graphics cards.
      
      v2 (Daniele):
        - Fix leaking tempset on error path
        - Add comments on struct temp_regset to document the meaning of each
          field
      
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: NDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220208070141.2095177-3-lucas.demarchi@intel.com
      bf890040
    • L
      drm/i915/guc: Prepare for error propagation · f4044ca1
      Lucas De Marchi 提交于
      Currently guc_mmio_reg_add() relies on having enough memory available in
      the array to add a new slot. It uses
      `GEM_BUG_ON(count >= regset->size);` to protect going above the
      threshold.
      
      In order to allow guc_mmio_reg_add() to handle the memory allocation by
      itself, it must return an error in case of failures.  Adjust return code
      so this error can be propagated to the callers of guc_mmio_reg_add() and
      guc_mmio_regset_init().
      
      No intended change in behavior.
      
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: NDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220208070141.2095177-2-lucas.demarchi@intel.com
      f4044ca1
  10. 03 2月, 2022 1 次提交
  11. 02 2月, 2022 1 次提交
  12. 01 2月, 2022 3 次提交
    • T
      drm/i915/ttm: Return some errors instead of trying memcpy move · 29b9702f
      Thomas Hellström 提交于
      The i915_ttm_accel_move() function may return error codes that should
      be propagated further up the stack rather than consumed assuming that
      the accel move failed and could be replaced with a memcpy move.
      
      For -EINTR, -ERESTARTSYS and -EAGAIN, just propagate those codes, rather
      than retrying with a memcpy move.
      
      Fixes: 2b0a750c ("drm/i915/ttm: Failsafe migration blits")
      Cc: Matthew Auld <matthew.auld@intel.com>
      Signed-off-by: NThomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220201070340.16457-1-thomas.hellstrom@linux.intel.com
      29b9702f
    • D
      Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 53dbee49
      Dave Airlie 提交于
      [airlied: add two missing Kconfig]
      
      drm-misc-next for v5.18:
      
      UAPI Changes:
      - Fix invalid IN_FORMATS blob when plane->format_mod_supported is NULL.
      
      Cross-subsystem Changes:
      - Assorted dt bindings updates.
      - Fix vga16fb vga checking on x86.
      - Fix extra semicolon in rwsem.h's _down_write_nest_lock.
      - Assorted small fixes to agp and fbdev drivers.
      - Fix oops in creating a udmabuf with 0 pages.
      - Hot-unplug firmware fb devices on forced removal
      - Reqquest memory region in simplefb and simpledrm, and don't make the ioresource as busy.
      
      Core Changes:
      - Mock a drm_plane in drm-plane-helper selftest.
      - Assorted bug fixes to device logging, dbi.
      - Use DP helper for sink count in mst.
      - Assorted documentation fixes.
      - Assorted small fixes.
      - Move DP headers to drm/dp, and add a drm dp helper module.
      - Move the buddy allocator from i915 to common drm.
      - Add simple pci and platform module init macros to remove a lot of boilerplate from some drivers.
      - Support microsoft extension for HMDs and specialized monitors.
      - Improve edid parser's deep color handling.
      - Add type 7 timing support to edid parser.
      - Add a weak backpointer to the ttm_bo from ttm_resource
      - Add 3 eDP panels.
      
      Driver Changes:
      - Add support for HDMI and JZ4780 to ingenic.
      - Add support for higher DP/eDP bitrates to nouveau.
      - Assorted driver fixes to tilcdc, vmwgfx, sn65dsi83, meson, stm, panfrost, v3d, gma500, vc4, virtio, mgag200, ast, radeon, amdgpu, nouveau, various bridge drivers.
      - Convert and revert exynos dsi support to bridge driver.
      - Add vcc supply regulator support for sn65dsi83.
      - More conversion of bridge/chipone-icn6211 to atomic.
      - Remove conflicting fb's from stm, and add support for new hw version.
      - Add device link in parade-ps8640 to fix suspend/resume.
      - Update Boe-tv110c9m init sequence.
      - Add wide screen support to AST2600.
      - Fix omapdrm implicit dma_buf fencing.
      - Add support for multiple overlay planes to vkms.
      - Convert bridge/anx7625 to atomic, add HDCP support,
        add eld support for audio, and fix HPD.
      - Add driver for ChromeOS privacy screen.
      - Handover display from firmware to vc4 more gracefully, and support nomodeset.
      - Add flexible and ycbcr pixel formats to stm/ltdc.
      - Convert exynos mipi dsi to atomic.
      - Add initial dual core group GPUs support to panfrost.
      - No longer add exclusive fence in amdgpu as shared fence.
      - Add CSC and full range supoprt to vc4.
      - Shutdown the display on system shutdown and unbind.
      - Add Multi-Inno Technology MI0700S4T-6 simple panel.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/456a23c6-7324-7543-0c45-751f30ef83f7@linux.intel.com
      53dbee49
    • M
      drm/i915/dg2: s/engine->i915/i915/ for engine workarounds · ef6e871a
      Matt Roper 提交于
      rcs_engine_wa_init() has a local 'i915' variable; we should use that
      rather than 'engine->i915' for consistency with how we handle other
      platforms.
      Suggested-by: NTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220128170125.4121819-1-matthew.d.roper@intel.com
      ef6e871a
  13. 30 1月, 2022 12 次提交