1. 07 5月, 2018 1 次提交
  2. 05 5月, 2018 2 次提交
  3. 04 5月, 2018 9 次提交
    • T
      drm/i915: Include priority and completed status in request in/out tracepoints · f2742e47
      Tvrtko Ursulin 提交于
      It is useful to see the priority as requests are coming in and completed
      status as requests are coming out of the GPU.
      
      To achieve this in a more readable way we need to abandon the common
      request_hw tracepoint class.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180504115643.22437-1-tvrtko.ursulin@linux.intel.com
      f2742e47
    • C
      drm/i915: Remove assertion of active_rings must be non-empty if active_requests · 43c8c441
      Chris Wilson 提交于
      "An outstanding request must still be on an active ring somewhere" is
      only true if we haven't just been interrupted by the shrinker in the
      middle of allocating the request itself. (At the start of
      i915_request_alloc() we pin the context and prepare the GT for activity,
      marking it as active, and then try to allocate the request. If this
      allocation invokes the shrinker, we try to reclaim some space by calling
      i915_retire_requests() which may then be confused by the pre-reservation
      of active_requests.)
      
      <3>[  125.472695] i915_retire_requests:1429 GEM_BUG_ON(list_empty(&i915->gt.active_rings))
      <2>[  125.472792] kernel BUG at drivers/gpu/drm/i915/i915_request.c:1429!
      <4>[  125.472822] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
      <4>[  125.498764] Modules linked in: snd_hda_codec_hdmi x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel btusb btrtl btbcm btintel cdc_ether snd_hda_codec_realtek bluetooth i915 snd_hda_codec_generic usbnet r8152 mii ecdh_generic lpc_ich mei_me snd_hda_intel snd_hda_codec mei snd_hwdep snd_hda_core snd_pcm prime_numbers
      <4>[  125.498923] CPU: 0 PID: 1115 Comm: gem_exec_create Tainted: G     U            4.17.0-rc3-gc49cbe0d1eb8-kasan_32+ #1
      <4>[  125.498955] Hardware name: GOOGLE Peppy/Peppy, BIOS MrChromebox 02/04/2018
      <4>[  125.499074] RIP: 0010:i915_retire_requests+0x3f2/0x590 [i915]
      <4>[  125.499095] RSP: 0018:ffff88004e5dec40 EFLAGS: 00010282
      <4>[  125.499117] RAX: 0000000000000010 RBX: ffff8800458f0000 RCX: 0000000000000000
      <4>[  125.499140] RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff880060c2f6f0
      <4>[  125.499164] RBP: ffff88004e5dee30 R08: ffffed000c185ee6 R09: ffffed000c185ee6
      <4>[  125.499187] R10: 0000000000000001 R11: ffffed000c185ee5 R12: ffff8800553da160
      <4>[  125.499210] R13: dffffc0000000000 R14: 0000000000000000 R15: ffff8800458faed0
      <4>[  125.499235] FS:  00007fe18f052980(0000) GS:ffff880065400000(0000) knlGS:0000000000000000
      <4>[  125.499262] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      <4>[  125.499282] CR2: 00007f01df11efb8 CR3: 00000000518d4001 CR4: 00000000000606f0
      <4>[  125.499304] Call Trace:
      <4>[  125.499417]  i915_gem_shrink+0x576/0xb50 [i915]
      <4>[  125.499532]  ? i915_gem_shrinker_count+0x2f0/0x2f0 [i915]
      <4>[  125.499561]  ? trace_hardirqs_on_thunk+0x1a/0x1c
      <4>[  125.499671]  ? i915_gem_shrinker_count+0x1d6/0x2f0 [i915]
      <4>[  125.499782]  ? i915_gem_shrinker_scan+0xc4/0x320 [i915]
      <4>[  125.499889]  i915_gem_shrinker_scan+0xc4/0x320 [i915]
      <4>[  125.499997]  ? i915_gem_shrinker_vmap+0x3a0/0x3a0 [i915]
      <4>[  125.500021]  ? do_raw_spin_unlock+0x4f/0x240
      <4>[  125.500042]  ? _raw_spin_unlock+0x29/0x40
      <4>[  125.500149]  ? i915_gem_shrinker_count+0x1d6/0x2f0 [i915]
      <4>[  125.500177]  shrink_slab.part.18+0x23e/0x8f0
      <4>[  125.500202]  ? unregister_shrinker+0x1f0/0x1f0
      <4>[  125.500226]  ? mem_cgroup_iter+0x379/0xcc0
      <4>[  125.500249]  shrink_node+0xa7e/0x1180
      <4>[  125.500276]  ? shrink_node_memcg+0x11f0/0x11f0
      <4>[  125.500297]  ? __delayacct_freepages_start+0x38/0x80
      <4>[  125.500319]  ? __is_insn_slot_addr+0xe3/0x1a0
      <4>[  125.500342]  ? recalibrate_cpu_khz+0x10/0x10
      <4>[  125.500361]  ? ktime_get+0xb2/0x140
      <4>[  125.500382]  do_try_to_free_pages+0x2d3/0xe40
      <4>[  125.500407]  ? allow_direct_reclaim.part.23+0x1e0/0x1e0
      <4>[  125.500429]  ? shrink_node+0x1180/0x1180
      <4>[  125.500450]  ? __read_once_size_nocheck.constprop.4+0x10/0x10
      <4>[  125.500476]  try_to_free_pages+0x1af/0x560
      <4>[  125.500497]  ? do_try_to_free_pages+0xe40/0xe40
      <4>[  125.500525]  __alloc_pages_nodemask+0xadc/0x2130
      <4>[  125.500553]  ? gfp_pfmemalloc_allowed+0x150/0x150
      <4>[  125.500654]  ? i915_gem_do_execbuffer+0x219d/0x32e0 [i915]
      <4>[  125.500678]  ? debug_check_no_locks_freed+0x2a0/0x2a0
      <4>[  125.500701]  ? __debug_object_init+0x322/0xd90
      <4>[  125.500722]  ? debug_check_no_locks_freed+0x2a0/0x2a0
      <4>[  125.500827]  ? i915_gem_do_execbuffer+0xdc2/0x32e0 [i915]
      <4>[  125.500942]  ? i915_request_alloc+0x5b5/0x13f0 [i915]
      <4>[  125.500964]  ? page_frag_free+0x170/0x170
      <4>[  125.500984]  ? debug_check_no_locks_freed+0x2a0/0x2a0
      <4>[  125.501008]  new_slab+0x21d/0x5c0
      <4>[  125.501029]  ___slab_alloc.constprop.35+0x322/0x3e0
      <4>[  125.501052]  ? reservation_object_reserve_shared+0x10b/0x250
      <4>[  125.501074]  ? __ww_mutex_lock.constprop.3+0x1104/0x2cf0
      <4>[  125.501097]  ? _raw_spin_unlock_irqrestore+0x39/0x60
      <4>[  125.501120]  ? fs_reclaim_acquire+0x10/0x10
      <4>[  125.501138]  ? lock_acquire+0x138/0x3c0
      <4>[  125.501156]  ? lock_acquire+0x3c0/0x3c0
      <4>[  125.501176]  ? reservation_object_reserve_shared+0x10b/0x250
      <4>[  125.501198]  ? __slab_alloc.isra.27.constprop.34+0x3d/0x70
      <4>[  125.501219]  __slab_alloc.isra.27.constprop.34+0x3d/0x70
      <4>[  125.501243]  ? reservation_object_reserve_shared+0x10b/0x250
      <4>[  125.501265]  __kmalloc_track_caller+0x313/0x350
      <4>[  125.501287]  krealloc+0x62/0xb0
      <4>[  125.501305]  reservation_object_reserve_shared+0x10b/0x250
      <4>[  125.501411]  i915_gem_do_execbuffer+0x2040/0x32e0 [i915]
      <4>[  125.501522]  ? eb_relocate_slow+0xad0/0xad0 [i915]
      <4>[  125.501544]  ? debug_check_no_locks_freed+0x2a0/0x2a0
      <4>[  125.501646]  ? i915_gem_execbuffer2_ioctl+0x108/0x770 [i915]
      <4>[  125.501755]  ? i915_gem_execbuffer2_ioctl+0x108/0x770 [i915]
      <4>[  125.501779]  ? drm_dev_get+0x20/0x20
      <4>[  125.501803]  ? __might_fault+0xea/0x1a0
      <4>[  125.501902]  ? i915_gem_execbuffer2_ioctl+0x108/0x770 [i915]
      <4>[  125.502012]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502116]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502218]  i915_gem_execbuffer2_ioctl+0x3c5/0x770 [i915]
      <4>[  125.502243]  ? drm_dev_enter+0xe0/0xe0
      <4>[  125.502260]  ? lock_acquire+0x138/0x3c0
      <4>[  125.502362]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502470]  ? i915_gem_object_create.part.28+0x570/0x570 [i915]
      <4>[  125.502575]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502680]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502702]  drm_ioctl_kernel+0x151/0x200
      <4>[  125.502721]  ? drm_ioctl_permit+0x2a0/0x2a0
      <4>[  125.502746]  drm_ioctl+0x63a/0x920
      <4>[  125.502844]  ? i915_gem_execbuffer_ioctl+0xb90/0xb90 [i915]
      <4>[  125.502868]  ? drm_getstats+0x20/0x20
      <4>[  125.502886]  ? trace_hardirqs_on_thunk+0x1a/0x1c
      <4>[  125.502919]  do_vfs_ioctl+0x173/0xe90
      <4>[  125.502936]  ? trace_hardirqs_on_thunk+0x1a/0x1c
      <4>[  125.502957]  ? ioctl_preallocate+0x170/0x170
      <4>[  125.502978]  ? trace_hardirqs_on_thunk+0x1a/0x1c
      <4>[  125.503002]  ? retint_kernel+0x2d/0x2d
      <4>[  125.503024]  ksys_ioctl+0x35/0x60
      <4>[  125.503043]  __x64_sys_ioctl+0x6a/0xb0
      <4>[  125.503061]  do_syscall_64+0x97/0x400
      <4>[  125.503081]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      <4>[  125.503101] RIP: 0033:0x7fe18e4f65d7
      <4>[  125.503116] RSP: 002b:00007ffe2ffc06a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
      <4>[  125.503145] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fe18e4f65d7
      <4>[  125.503168] RDX: 00007ffe2ffc07f0 RSI: 0000000040406469 RDI: 0000000000000003
      <4>[  125.503191] RBP: 00007ffe2ffc07f0 R08: 0000000000000004 R09: 00007ffe2ffcf080
      <4>[  125.503215] R10: 000000000002c7de R11: 0000000000000246 R12: 0000000040406469
      <4>[  125.503238] R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000
      <4>[  125.503268] Code: e8 18 a0 c9 da 48 8b 35 25 3a 47 00 49 c7 c0 a0 3b 88 c0 b9 95 05 00 00 48 c7 c2 e0 49 88 c0 48 c7 c7 8d 3b 5d c0 e8 ee 7e db da <0f> 0b 48 89 ef e8 a4 26 f5 da e9 51 fe ff ff e8 8a 26 f5 da e9
      <1>[  125.503548] RIP: i915_retire_requests+0x3f2/0x590 [i915] RSP: ffff88004e5dec40
      
      Fixes: 643b450a ("drm/i915: Only track live rings for retiring")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180504101147.26286-1-chris@chris-wilson.co.uk
      43c8c441
    • C
      drm/i915/gtt: Tidy up duplicate branches in gen8_gmch_probe() · c258f91d
      Chris Wilson 提交于
      Following commit f773568b ("drm/i915: nuke the duplicated stolen
      discovery"), the if-else-chain for determining the GTT size is redundant
      with the !chv branches all being the same.
      Reported-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      References: f773568b ("drm/i915: nuke the duplicated stolen discovery")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180503212956.3948-1-chris@chris-wilson.co.uk
      c258f91d
    • A
      i915: Convert to use match_string() helper · 47d4cb8a
      Andy Shevchenko 提交于
      The new helper returns index of the matching string in an array.
      We are going to use it here.
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180503181706.22120-1-andriy.shevchenko@linux.intel.com
      47d4cb8a
    • C
      drm/i915/execlists: Drop preemption arbitrations points along the ring · 74f94741
      Chris Wilson 提交于
      Limit the arbitration (where preemption may occur) to inside the batch,
      and prevent it from happening on the pipecontrols/flushes we use to
      write the breadcrumb seqno. Once the user batch is complete, we have
      nothing left to do but serialise and emit the breadcrumb; switching
      contexts at this point is futile so don't.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Reviewed-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180503195416.22498-1-chris@chris-wilson.co.uk
      74f94741
    • C
      drm/i915: Keep one request in our ring_list · 7c572e1b
      Chris Wilson 提交于
      Don't pre-emptively retire the oldest request in our ring's list if it
      is the only request. We keep various bits of state alive using the
      active reference from the request and would rather transfer that state
      over to a new request rather than the more involved process of retiring
      and reacquiring it.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180503195115.22309-2-chris@chris-wilson.co.uk
      7c572e1b
    • C
      drm/i915: Lazily unbind vma on close · 3365e226
      Chris Wilson 提交于
      When userspace is passing around swapbuffers using DRI, we frequently
      have to open and close the same object in the foreign address space.
      This shows itself as the same object being rebound at roughly 30fps
      (with a second object also being rebound at 30fps), which involves us
      having to rewrite the page tables and maintain the drm_mm range manager
      every time.
      
      However, since the object still exists and it is only the local handle
      that disappears, if we are lazy and do not unbind the VMA immediately
      when the local user closes the object but defer it until the GPU is
      idle, then we can reuse the same VMA binding. We still have to be
      careful to mark the handle and lookup tables as closed to maintain the
      uABI, just allowing the underlying VMA to be resurrected if the user is
      able to access the same object from the same context again.
      
      If the object itself is destroyed (neither userspace keeping a handle to
      it), the VMA will be reaped immediately as usual.
      
      In the future, this will be even more useful as instantiating a new VMA
      for use on the GPU will become heavier. A nuisance indeed, so nip it in
      the bud.
      
      v2: s/__i915_vma_final_close/i915_vma_destroy/ etc.
      v3: Leave a hint as to why we deferred the unbind on close.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180503195115.22309-1-chris@chris-wilson.co.uk
      3365e226
    • C
    • T
      drm/i915/icl: Add configuring MOCS in new Icelake engines · 74ba22ea
      Tomasz Lis 提交于
      In Icelake, there are more engines on which Memory Object Control
      States need to be configured. Besides adding Icelake under Skylake
      config, the patch makes sure MOCS register addresses for the new
      engines are properly defined.
      
      Additional patch might be need later, in case the specification will
      propose different MOCS config values for Icelake than in previous
      gens.
      
      v2: Restricted comments to gen11, updated description, renamed
      defines.
      
      v3: Used proper engine indexes for gen11.
      
      v4: Ensure patch is Icelake only.
      
      v5: Style fixes (proposed by mwajdeczko)
      
      v6 (from Paulo): fix checkpatch's COMMIT_LOG_LONG_LINE (Checkpatch).
      
      BSpec: 19405
      BSpec: 21140
      Cc: Oscar Mateo Lozano <oscar.mateo@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Signed-off-by: NTomasz Lis <tomasz.lis@intel.com>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502223142.3891-1-paulo.r.zanoni@intel.com
      74ba22ea
  4. 03 5月, 2018 11 次提交
  5. 02 5月, 2018 7 次提交
  6. 01 5月, 2018 2 次提交
  7. 30 4月, 2018 8 次提交
    • C
      drm/i915: Only track live rings for retiring · 643b450a
      Chris Wilson 提交于
      We don't need to track every ring for its lifetime as they are managed
      by the contexts/engines. What we do want to track are the live rings so
      that we can sporadically clean up requests if userspace falls behind. We
      can simply restrict the gt->rings list to being only gt->live_rings.
      
      v2: s/live/active/ for consistency with gt.active_requests
      Suggested-by: NTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430131503.5375-4-chris@chris-wilson.co.uk
      643b450a
    • C
      drm/i915: Retire requests along rings · b887d615
      Chris Wilson 提交于
      In the next patch, rings are the central timeline as requests may jump
      between engines. Therefore in the future as we retire in order along the
      engine timeline, we may retire out-of-order within a ring (as the ring now
      occurs along multiple engines), leading to much hilarity in miscomputing
      the position of ring->head.
      
      As an added bonus, retiring along the ring reduces the penalty of having
      one execlists client do cleanup for another (old legacy submission
      shares a ring between all clients). The downside is that slow and
      irregular (off the critical path) process of cleaning up stale requests
      after userspace becomes a modicum less efficient.
      
      In the long run, it will become apparent that the ordered
      ring->request_list matches the ring->timeline, a fun challenge for the
      future will be unifying the two lists to avoid duplication!
      
      v2: We need both engine-order and ring-order processing to maintain our
      knowledge of where individual rings have completed upto as well as
      knowing what was last executing on any engine. And finally by decoupling
      retiring the contexts on the engine and the timelines along the rings,
      we do have to keep a reference to the context on each request
      (previously it was guaranteed by the context being pinned).
      
      v3: Not just a reference to the context, but we need to keep it pinned
      as we manipulate the rings; i.e. we need a pin for both the manipulation
      of the engine state during its retirements, and a separate pin for the
      manipulation of the ring state.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430131503.5375-3-chris@chris-wilson.co.uk
      b887d615
    • C
      drm/i915: Wrap engine->context_pin() and engine->context_unpin() · ab82a063
      Chris Wilson 提交于
      Make life easier in upcoming patches by moving the context_pin and
      context_unpin vfuncs into inline helpers.
      
      v2: Fixup mock_engine to mark the context as pinned on use.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430131503.5375-2-chris@chris-wilson.co.uk
      ab82a063
    • C
      drm/i915: Stop tracking timeline->inflight_seqnos · 52d7f16e
      Chris Wilson 提交于
      In commit 9b6586ae ("drm/i915: Keep a global seqno per-engine"), we
      moved from a global inflight counter to per-engine counters in the
      hope that will be easy to run concurrently in future. However, with the
      advent of the desire to move requests between engines, we do need a
      global counter to preserve the semantics that no engine wraps in the
      middle of a submit. (Although this semantic is now only required for gen7
      semaphore support, which only supports greater-then comparisons!)
      
      v2: Keep a global counter of all requests ever submitted and force the
      reset when it wraps.
      
      References: 9b6586ae ("drm/i915: Keep a global seqno per-engine")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180430131503.5375-1-chris@chris-wilson.co.uk
      52d7f16e
    • C
      drm/i915/lrc: Scrub the GPU state of the guilty hanging request · 5692251c
      Chris Wilson 提交于
      Previously, we just reset the ring register in the context image such
      that we could skip over the broken batch and emit the closing
      breadcrumb. However, on resume the context image and GPU state would be
      reloaded, which may have been left in an inconsistent state by the
      reset. The presumption was that at worst it would just cause another
      reset and skip again until it recovered, however it seems just as likely
      to cause an unrecoverable hang. Instead of risking loading an incomplete
      context image, restore it back to the default state.
      
      v2: Fix up off-by-one from including the ppHSWP in with the register
      state.
      v3: Use a ring local to compact a few lines.
      v4: Beware setting the ring local before checking for a NULL request.
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=105304Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: Michel Thierry <michel.thierry@intel.com> #v2
      Link: https://patchwork.freedesktop.org/patch/msgid/20180428111532.15819-1-chris@chris-wilson.co.uk
      5692251c
    • D
      Merge tag 'drm-misc-next-2018-04-26' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 0ab39026
      Dave Airlie 提交于
      drm-misc-next for v4.18:
      
      UAPI Changes:
      - Add support for a generic plane alpha property to sun4i, rcar-du and atmel-hclcdc. (Maxime)
      
      Core Changes:
      - Stop looking at legacy plane->fb and crtc members in atomic drivers. (Ville)
      - mode_valid return type fixes. (Luc)
      - Handle zpos normalization in the core. (Peter)
      
      Driver Changes:
      - Implement CTM, plane alpha and generic async cursor support in vc4. (Stefan)
      - Various fixes for HPD and aux chan in drm_bridge/analogix_dp. (Lin, Zain, Douglas)
      - Add support for MIPI DSI to sun4i. (Maxime)
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      
      # gpg: Signature made Thu 26 Apr 2018 08:21:01 PM AEST
      # gpg:                using RSA key FE558C72A67013C3
      # gpg: Can't check signature: public key not found
      Link: https://patchwork.freedesktop.org/patch/msgid/b33da7eb-efc9-ae6f-6f69-b7acd6df6797@mblankhorst.nl
      0ab39026
    • L
      Linux v4.17-rc3 · 6da6c0db
      Linus Torvalds 提交于
      6da6c0db
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c61a56ab
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "Another set of x86 related updates:
      
         - Fix the long broken x32 version of the IPC user space headers which
           was noticed by Arnd Bergman in course of his ongoing y2038 work.
           GLIBC seems to have non broken private copies of these headers so
           this went unnoticed.
      
         - Two microcode fixlets which address some more fallout from the
           recent modifications in that area:
      
            - Unconditionally save the microcode patch, which was only saved
              when CPU_HOTPLUG was enabled causing failures in the late
              loading mechanism
      
            - Make the later loader synchronization finally work under all
              circumstances. It was exiting early and causing timeout failures
              due to a missing synchronization point.
      
         - Do not use mwait_play_dead() on AMD systems to prevent excessive
           power consumption as the CPU cannot go into deep power states from
           there.
      
         - Address an annoying sparse warning due to lost type qualifiers of
           the vmemmap and vmalloc base address constants.
      
         - Prevent reserving crash kernel region on Xen PV as this leads to
           the wrong perception that crash kernels actually work there which
           is not the case. Xen PV has its own crash mechanism handled by the
           hypervisor.
      
         - Add missing TLB cpuid values to the table to make the printout on
           certain machines correct.
      
         - Enumerate the new CLDEMOTE instruction
      
         - Fix an incorrect SPDX identifier
      
         - Remove stale macros"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ipc: Fix x32 version of shmid64_ds and msqid64_ds
        x86/setup: Do not reserve a crash kernel region if booted on Xen PV
        x86/cpu/intel: Add missing TLB cpuid values
        x86/smpboot: Don't use mwait_play_dead() on AMD systems
        x86/mm: Make vmemmap and vmalloc base address constants unsigned long
        x86/vector: Remove the unused macro FPU_IRQ
        x86/vector: Remove the macro VECTOR_OFFSET_START
        x86/cpufeatures: Enumerate cldemote instruction
        x86/microcode: Do not exit early from __reload_late()
        x86/microcode/intel: Save microcode patch unconditionally
        x86/jailhouse: Fix incorrect SPDX identifier
      c61a56ab