1. 24 Aug, 2021 3 commits
  2. 23 Aug, 2021 1 commit
  3. 20 Aug, 2021 10 commits
  4. 18 Aug, 2021 2 commits
  5. 16 Aug, 2021 5 commits
  6. 13 Aug, 2021 6 commits
  7. 12 Aug, 2021 7 commits
  8. 11 Aug, 2021 6 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2021-08-06-1' of... · 25fed6b3
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2021-08-06-1' of ssh://git.freedesktop.org/git/drm/drm-intel into drm-next
      
      UAPI Changes:
      
      - Add I915_MMAP_OFFSET_FIXED
      
        On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
        type. On devices without local memory, this caching mode is invalid.
      
        As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
        be used, depending on the object placement on creation. WB will be used
        when the object can only exist in system memory, WC otherwise.
      
        Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
      
      - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
      
        Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
        still to sunset the IOCTL even for integrated and require using mmap_offset.
      
      - Reject caching/set_domain IOCTLs on discrete
      
        Expected to become immutable property of the BO
      
      - Disallow changing context parameters after first use on Gen12 and earlier
      - Require setting context parameters at creation on platforms after Gen12
      
        Rationale (for both): Allow less dynamic changes to the context to simplify
        the implementation and avoid user shooting theirselves in the foot.
      
      - Drop I915_CONTEXT_PARAM_RINGSIZE
      
        Userspace PR for compute-driver has not been merged
      
      - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
      
        Userspace PR for libdrm / Beignet was never landed
      
      - Drop CONTEXT_CLONE API
      
        Userspace PR for Mesa was never landed
      
      - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
      
        Only existed for symmetry wrt. setparam, never used.
      
      - Disallow bonding of virtual engines
      
        Drop the prep work, no hardware has been released needing it.
      
      - (Implicit) Disable gpu relocations
      
        Media userspace was the last userspace to still use them. They
        have converted so performance can be regained with an update.
      
      Core Changes:
      
      - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
      - Merge topic branch 'topic/revid_steppings' (from Matt R)
      - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
      - Backmerges drm-next (Rodrigo)
      
      Driver Changes:
      
      - Initial workarounds for ADL-P (Clint)
      - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
        Venkata, Akeem, Tvrtko, John, Lucas)
      - Fix ADL-S DMA mask size to 39 bits (Tejas)
      - Remove code for CNL (Lucas)
      - Add ADL-P GuC/HuC firmwares (John)
      - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
      - Fix -EDEADLK handling regression (Ville)
      - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
      - Extend Wa_1406941453 to ADL-S (Jose)
      - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
      - Use fuse info to enable SFC on Gen12 (Venkata)
      - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
      - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
      
      - Add an intermediate GEM proto-context to delay real context creation (Jason)
      - Implement SINGLE_TIMELINE with a syncobj (Jason)
      - Set the watchdog timeout directly in intel_context_set_gem (Jason)
      - Disallow userspace from creating contexts with too many engines (Jason)
      - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
      - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
      - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
      - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
      - Always let TTM handle object migration (Jason)
      - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
      - Migrate to system at dma-buf attach time (Thomas, Michael R)
      
      - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
        (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
      - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
      - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
        Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
        John, Tvrtko)
      - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
      - Add pipelined page migration and clearing (Chris, Thomas H)
      - Use TTM for system memory on discrete (Thomas H)
      - Implement object migration for display vs. dma-buf (Thomas H)
      - Perform execbuffer object locking as a separate step (Thomas H)
      - Add support for explicit L3BANK steering (Matt, Daniele)
      - Remove duplicated call to ops->pread (Daniel)
      - Fix pagefault disabling in the first execbuf slowpath (Daniel)
      - Simplify userptr locking (Thomas H)
      - Improvements to the GuC CTB code (Matt B, John)
      - Make GT workaround upper bounds exclusive (Matt R)
      - Check for nomodeset in i915_init() first (Daniel)
      - Delete now unused gpu reloc code (Daniel)
      
      - Document RFC plans for GuC submission, DRM scheduler and new parallel
        submit uAPI (Matt B)
      - Reintroduce buddy allocator this time with TTM (Matt A)
      - Support forcing page size with LMEM (Matt A)
      - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
      - Use accelerated move in TTM (Ram)
      - Fix memory leaks from TTM backend (Thomas H)
      - Introduce WW transaction helper (Thomas H)
      - Improve debug Kconfig texts a bit (Daniel)
      - Unify user object creation code (Jason)
      - Use a table for i915_init/exit (Jason)
      - Move slabs to module init/exit (Daniel)
      - Remove now unused i915_globals (Daniel)
      - Extract i915_module.c (Daniel)
      
      - Consistently use adl-p/adl-s in WA comments (Jose)
      - Finish INTEL_GEN and friends conversion (Lucas)
      - Correct variable/function namings (Lucas)
      - Code checker fixes (Wan, Matt A)
      - Tracepoint improvements (Matt B)
      - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
      - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
        Rahul, Vinay)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YQ0JmYiXhGskNcrI@jlahtine-mobl.ger.corp.intel.com
      25fed6b3
    • Matt Roper's avatar
      drm/i915: Only access SFC_DONE when media domain is not fused off · c5589bb5
      Matt Roper authored
      The SFC_DONE register lives within the corresponding VD0/VD2/VD4/VD6
      forcewake domain and is not accessible if the vdbox in that domain is
      fused off and the forcewake is not initialized.
      
      This mistake went unnoticed because until recently we were using the
      wrong register offset for the SFC_DONE register; once the register
      offset was corrected, we started hitting errors like
      
        <4> [544.989065] i915 0000:cc:00.0: Uninitialized forcewake domain(s) 0x80 accessed at 0x1ce000
      
      on parts with fused-off vdbox engines.
      
      Fixes: e50dbdbf ("drm/i915/tgl: Add SFC instdone to error state")
      Fixes: 82929a21 ("drm/i915: Correct SFC_DONE register offset")
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210806174130.1058960-1-matthew.d.roper@intel.comReviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      c5589bb5
    • Ankit Nautiyal's avatar
      01da701b
    • Paul Cercueil's avatar
      drm/ingenic: Use standard drm_atomic_helper_commit_tail · 83326a73
      Paul Cercueil authored
      By making the CRTC's .vblank_enable() function return an error when it
      is known that the hardware won't deliver a VBLANK, we can drop the
      ingenic_drm_atomic_helper_commit_tail() function and use the standard
      drm_atomic_helper_commit_tail() function instead.
      Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210808134526.119198-4-paul@crapouillou.net
      83326a73
    • Paul Cercueil's avatar
      drm/ingenic: Remove dead code · 4d3b3c93
      Paul Cercueil authored
      The priv->ipu_plane would get a different value further down the code,
      without the first assigned value being read first; so the first
      assignation can be dropped.
      Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210808134526.119198-2-paul@crapouillou.net
      4d3b3c93
    • Ankit Nautiyal's avatar
      drm/i915/display: Fix the 12 BPC bits for PIPE_MISC reg · 70418a68
      Ankit Nautiyal authored
      Till DISPLAY12 the PIPE_MISC bits 5-7 are used to set the
      Dithering BPC, with valid values of 6, 8, 10 BPC.
      For ADLP+ these bits are used to set the PORT OUTPUT BPC, with valid
      values of: 6, 8, 10, 12 BPC, and need to be programmed whether
      dithering is enabled or not.
      
      This patch:
      -corrects the bits 5-7 for PIPE MISC register for 12 BPC.
      -renames the bits and mask to have generic names for these bits for
      dithering bpc and port output bpc.
      
      v3: Added a note for MIPI DSI which uses the PIPE_MISC for readout
      for pipe_bpp. (Uma Shankar)
      
      v2: Added 'display' to the subject and fixes tag. (Uma Shankar)
      
      Fixes: 756f85cf ("drm/i915/bdw: Broadwell has PIPEMISC")
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> (v1)
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: intel-gfx@lists.freedesktop.org
      Cc: <stable@vger.kernel.org> # v3.13+
      Signed-off-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
      Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210811051857.109723-1-ankit.k.nautiyal@intel.com
      70418a68