1. 03 Nov, 2019 3 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2019-11-01-1' of... · 2ef4144d
      Dave Airlie authored
      Merge tag 'drm-intel-next-2019-11-01-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      UAPI Changes:
      
      - Make context persistence optional
        Allow userspace to tie the context lifetime to FD lifetime,
        effectively allowing Ctrl-C killing of a process to also clean
        up the hardware immediately.
        Compute changes: https://github.com/intel/compute-runtime/pull/228
        The compute driver is shipping in Ubuntu. uAPI acked by Mesa folks.
      
      - Put future HW and their uAPIs under STAGING & BROKEN
        Introduces DRM_I915_UNSTABLE Kconfig menu for working on the new
        uAPI for future HW in upstream. We already disable driver loading
        by default the platform is deemed ready. This is a second level
        of protection based on compile time switch (STAGING & BROKEN).
      
      - Under DRM_I915_UNSTABLE: Add the fake lmem region on iGFX
        Fake local memory region on integrated GPU through cmdline:
        memmap=2G$16G i915.fake_lmem_start=0x400000000
        Currently allows testing non-mappable GGTT behavior and running
        kernel selftest for local memory.
      
      Driver Changes:
      
      - Fix Bugzilla #112084: VGA external monitor not working (Ville)
      - Add support for half float framebuffers (Ville)
      - Add perf support on TGL (Lionel)
      - Replace hangcheck by heartbeats (Chris)
      - Allow SPT PCH on all AML devices (James)
      - Add new CNL PCH for CML platform (Imre)
      - Allow 100 ms (Kconfig) for workloads to exit before reset (Chris, Jon, Joonas)
      - Forcibly pre-empt a context after 100 ms (Kconfig) of delay  (Chris)
      - Make timeslice duration Kconfig configurable (Chris)
      - Whitelist PS_(DEPTH|INVOCATION)_COUNT for Tigerlake (Tapani)
      - Support creating LMEM objects in kernel (Matt A)
      - Adjust the location of RING_MI_MODE in the context image for TGL (Chris)
      - Handle AUX interrupts for TC ports (Matt R)
      - Add support for devices without mappable GGTT aperture (Daniele)
      - Rename "inject_load_failure" module parameter to "inject_probe_failure" (Janusz)
      - Handle fused off HDCP, FBC, DMC and DSC (Jose)
      - Add support to one DP-MST stream on Tigerlake (Lucas)
      - Add HuC firmware (and GuC) for TGL (Daniele)
      - Allow ICL+ DSI on any pipe (Ville)
      
      - Check some transcoder timing minimum limits (Ville)
      - Don't set queue_priority_hint if we don't kick the submission (Chris)
      - Introduce barrier pulses along engines to flush idle/in-flight requests (Chris)
      - Drop assertion that ce->pin_mutex guards state updates (Chris)
      - Cancel banned contexts on schedule-out (Chris)
      - Cancel contexts when hangchecking is disabled (Chris)
      - Catch GTT fault errors for gen11+ planes (Matt R)
      - Print in debugfs if PSR is not enabled because of sink (Jose)
      - Do not set MOCS control values on dgfx (Lucas)
      - Setup io-mapping for LMEM (Abdiel)
      - Support kernel mapping of LMEM objects (Abdiel)
      - Add LMEM selftests (Matt A)
      - Initialise PMU spinlock before registering (Chris)
      - Clear DKL_TX_PMD_LANE_SUS before program TC voltage swing (Jose)
      - Flip interpretation of ips fmin/fmax to max rps (Chris)
      - Add VBT compression parameter block definition (Jani)
      - Limit the blitter sizes to ensure low preemption latency (Chris)
      - Fixup block_size rounding on BLT (Matt A)
      - Don't try to place HWS in non-existing mappable region (Michal Wa)
      - Don't allocate the ring in stolen if we lack aperture (Matt A)
      - Add AUX B & C to DC_OFF_POWER_DOMAINS for Tigerlake (Matt R)
      - Avoid HPD poll detect triggering a new detect cycle (Imre)
      - Document the userspace fail with possible_crtcs (Ville)
      - Drop lrc header page now unused by GuC (Daniele)
      - Do not switch aux to TBT mode for non-TC ports (Jose)
      
      - Restructure code to avoid depending on i915 but smaller structs (Chris, Tvrtko, Andi)
      - Remove pm park/unpark notifications (Chris)
      - Avoid lockdep cross-contamination between object types (Chris)
      - Restructure DSC code (Jani)
      - Fix dead locking in early workload shadow (Zhenyu)
      - Split the legacy submission backend from the common CS ring buffer (Chris)
      - Move intel_engine_context_in/out into intel_lrc.c (Tvrtko)
      - Describe perf/wakeref structure members in documentation (Anna)
      - Update renamed header files names in documentation (Anna)
      - Add debugs to distingiush a cd2x update from a full cdclk pll update (Ville)
      - Rework atomic global state locking (Ville)
      - Allow planes to declare their minimum acceptable cdclk (Ville)
      - Eliminate skl_check_pipe_max_pixel_rate() and simplify skl_max_scale() (Ville)
      - Making loglevel of PSR2/SU logs same (Ap)
      - Capture aux page table error register (Lionel)
      - Add is_dgfx to device info (Jose)
      - Split gen11_irq_handler to make it shareable (Lucas)
      - Encapsulate kconfig constant values inside boolean predicates (Chris)
      - Split memory_region initialisation into its own file (Chris)
      - Use _PICK() for CHICKEN_TRANS() and add CHICKEN_TRANS_D (Ville)
      - Add perf helper macros for comparing with whitelisted registers (Umesh)
      - Fix i915_inject_load_error() name to read *_probe_* (Janusz)
      - Drop unused AUX register offsets (Matt R)
      - Provide more information on DP AUX failures (Matt R)
      - Add GAM/SFC instdone to error state (Mika)
      - Always track callers to intel_rps_mark_interactive() (Chris)
      - Nuke 'mode' argument to intel_get_load_detect_pipe() (Ville)
      - Simplify LVDS crtc_mask and pipe_mask setup (Ville)
      - Stop frobbing crtc->base.mode (Ville)
      - Do s/crtc_mask/pipe_mask/ (Ville)
      - Split detaching and removing the vma (Chris)
      
      - Selftest improvements (Chris, Tvrtko, Mika, Matt A, Lionel)
      - GuC code improvements (Rob, Andi, Daniele)
      
      - Check against i915_selftest only under CONFIG_SELFTEST (Chris)
      - Refine occupancy test in kill_context() (Chris)
      - Start kthreads before stopping (Chris)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191101104718.GA14323@jlahtine-desk.ger.corp.intel.com
      2ef4144d
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-5.5-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 904ce198
      Dave Airlie authored
      drm/tegra: Changes for v5.5-rc1
      
      The bulk of these changes is the addition of DisplayPort support for
      Tegra210, Tegra186 and Tegra194. I've been running versions of this for
      about three years now, so I'd consider these changes to be pretty
      mature. These changes also unify the existing eDP support with the DP
      support since the programming is very similar, except for a few steps
      that can be easily parameterized.
      
      The rest are a couple of fixes all over the place for minor issues, as
      well as some work to support the IOMMU-backed DMA API, which in the end
      turned out to also clean up a number of cases where the DMA API was not
      being used correctly.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thierry Reding <thierry.reding@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191102140116.3860545-1-thierry.reding@gmail.com
      904ce198
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2019-10-31' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 633aa7e5
      Dave Airlie authored
      drm-misc-next for 5.5:
      
      UAPI Changes:
      -dma-buf: Introduce and revert dma-buf heap (Andrew/John/Sean)
      
      Cross-subsystem Changes:
      - None
      
      Core Changes:
      -dma-buf: add dynamic mapping to allow exporters to choose dma_resv lock
      	  state on mmap/munmap (Christian)
      -vram: add prepare/cleanup fb helpers to vram helpers (Thomas)
      -ttm: always keep bo's on the lru + ttm cleanups (Christian)
      -sched: allow a free_job routine to sleep (Steven)
      -fb_helper: remove unused drm_fb_helper_defio_init() (Thomas)
      
      Driver Changes:
      -bochs/hibmc/vboxvideo: Use new vram helpers for prepare/cleanup fb (Thomas)
      -amdgpu: Implement dma-buf import/export without drm helpers (Christian)
      -panfrost: Simplify devfreq integration in driver (Steven)
      
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Steven Price <steven.price@arm.com>
      Cc: Andrew F. Davis <afd@ti.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Sean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Sean Paul <sean@poorly.run>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191031193015.GA243509@art_vandelay
      633aa7e5
  2. 01 Nov, 2019 7 commits
  3. 31 Oct, 2019 12 commits
  4. 30 Oct, 2019 13 commits
  5. 29 Oct, 2019 5 commits
    • Dave Airlie's avatar
      Merge tag 'topic/mst-suspend-resume-reprobe-2019-10-29-2' of... · 57c2af79
      Dave Airlie authored
      Merge tag 'topic/mst-suspend-resume-reprobe-2019-10-29-2' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      UAPI Changes:
      
      Cross-subsystem Changes:
      
      Core Changes:
      * Handle UP requests asynchronously in the DP MST helpers, fixing
        hotplug notifications and allowing us to implement suspend/resume
        reprobing
      * Add basic suspend/resume reprobing to the DP MST helpers
      * Improve locking for link address reprobing and connection status
        request handling in the DP MST helpers
      * Miscellaneous refactoring in the DP MST helpers
      * Add a Kconfig option to the DP MST helpers to enable tracking of
        gets/puts for topology references for debugging purposes
      
      Driver Changes:
      * nouveau: Resume hotplug interrupts earlier, so that sideband
        messages may be transmitted during resume and thus allow
        suspend/resume reprobing for DP MST to work
      * nouveau: Avoid grabbing runtime PM references when handling short DP
        pulses, so that handling sideband messages in resume codepaths with the
        DP MST helpers doesn't deadlock us
      * i915, nouveau, amdgpu, radeon: Use detect_ctx for probing MST
        connectors, so that we can grab the topology manager's atomic lock
      
      Note: there's some amdgpu patches that I didn't realize were pushed
      upstream already when creating this topic branch. When they fail to
      apply, you can just ignore and skip them.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Lyude Paul <lyude@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/a74c6446bc960190d195a751cb6d8a00a98f3974.camel@redhat.com
      57c2af79
    • Chris Wilson's avatar
      drm/i915/gem: Make context persistence optional · a0e04715
      Chris Wilson authored
      Our existing behaviour is to allow contexts and their GPU requests to
      persist past the point of closure until the requests are complete. This
      allows clients to operate in a 'fire-and-forget' manner where they can
      setup a rendering pipeline and hand it over to the display server and
      immediately exit. As the rendering pipeline is kept alive until
      completion, the display server (or other consumer) can use the results
      in the future and present them to the user.
      
      The compute model is a little different. They have little to no buffer
      sharing between processes as their kernels tend to operate on a
      continuous stream, feeding the results back to the client application.
      These kernels operate for an indeterminate length of time, with many
      clients wishing that the kernel was always running for as long as they
      keep feeding in the data, i.e. acting like a DSP.
      
      Not all clients want this persistent "desktop" behaviour and would prefer
      that the contexts are cleaned up immediately upon closure. This ensures
      that when clients are run without hangchecking (e.g. for compute kernels
      of indeterminate runtime), any GPU hang or other unexpected workloads
      are terminated with the process and does not continue to hog resources.
      
      The default behaviour for new contexts is the legacy persistence mode,
      as some desktop applications are dependent upon the existing behaviour.
      New clients will have to opt in to immediate cleanup on context
      closure. If the hangchecking modparam is disabled, so is persistent
      context support -- all contexts will be terminated on closure.
      
      We expect this behaviour change to be welcomed by compute users, who
      have often been caught between a rock and a hard place. They disable
      hangchecking to avoid their kernels being "unfairly" declared hung, but
      have also experienced true hangs that the system was then unable to
      clean up. Naturally, this leads to bug reports.
      
      Testcase: igt/gem_ctx_persistence
      Link: https://github.com/intel/compute-runtime/pull/228Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Jon Bloomfield <jon.bloomfield@intel.com>
      Reviewed-by: default avatarJon Bloomfield <jon.bloomfield@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Acked-by: default avatarJason Ekstrand <jason@jlekstrand.net>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191029202338.8841-1-chris@chris-wilson.co.uk
      a0e04715
    • Dave Airlie's avatar
      Merge tag 'exynos-drm-next-for-v5.5' of... · 8c84b43f
      Dave Airlie authored
      Merge tag 'exynos-drm-next-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      Fix a build warning at mixer driver
      - it fixes a build warning message, 'static' is not at beginning
        of declaration [-Wold-style-declaration], by moving static keyword.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      # gpg: Signature made Mon 28 Oct 2019 10:31:25 PM AEST
      # gpg:                using RSA key 020570887DBBB9A5
      # gpg: Can't check signature: public key not found
      From: Inki Dae <daeinki@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191028123434.30034-1-daeinki@gmail.com
      8c84b43f
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2019-10-24-2' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · a24e4b09
      Dave Airlie authored
      drm-misc-next for 5.5:
      
      UAPI Changes:
      -syncobj: allow querying the last submitted timeline value (David)
      -fourcc: explicitly defineDRM_FORMAT_BIG_ENDIAN as unsigned (Adam)
      -omap: revert the OMAP_BO_* flags that were added -- no userspace (Sean)
      
      Cross-subsystem Changes:
      -MAINTAINERS: add Mihail as komeda co-maintainer (Mihail)
      
      Core Changes:
      -edid: a few cleanups, add AVI infoframe bar info (Ville)
      -todo: remove i915 device_link item and add difficulty levels (Daniel)
      -dp_helpers: add a few new helpers to parse dpcd (Thierry)
      
      Driver Changes:
      -gma500: fix a few memory disclosure leaks (Kangjie)
      -qxl: convert to use the new drm_gem_object_funcs.mmap (Gerd)
      -various: open code dp_link helpers in preparation for helper removal (Thierry)
      
      Cc: Chunming Zhou <david1.zhou@amd.com>
      Cc: Adam Jackson <ajax@redhat.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Kangjie Lu <kjlu@umn.edu>
      Cc: Mihail Atanassov <mihail.atanassov@arm.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Thierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Sean Paul <sean@poorly.run>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191024155535.GA10294@art_vandelay
      a24e4b09
    • Matt Roper's avatar
      drm/i915: Provide more information on DP AUX failures · 54516464
      Matt Roper authored
      We're seeing some failures where an aux transaction still shows as
      'busy' well after the timeout limit that the hardware is supposed to
      enforce.  Improve the error message so that we can see exactly which aux
      channel this error happened on and what the status bits were during this
      case that isn't supposed to happen.
      
      v2:
       - Make timeout a const variable so that the timeout & message will
         match if we decide to change it in the future.  (Lucas)
       - Don't bother testing intel_dp->aux.name for NULL.  (Lucas)
      
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191029173102.9451-1-matthew.d.roper@intel.comReviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      54516464