Skip to content
  1. Feb 29, 2020
  2. Feb 28, 2020
    • Chris Wilson's avatar
      drm/i915/gt: Reset queue_priority_hint after wedging · 3fc28d3e
      Chris Wilson authored
      
      
      An odd and highly unlikely path caught us out. On delayed submission
      (due to an asynchronous reset handler), we poked the priority_hint and
      kicked the tasklet. However, we had already marked the device as wedged
      and swapped out the tasklet for a no-op. The result was that we never
      cleared the priority hint and became upset when we later checked.
      
      <0> [574.303565] i915_sel-6278    2.... 481822445us : __i915_subtests: Running intel_execlists_live_selftests/live_error_interrupt
      <0> [574.303565] i915_sel-6278    2.... 481822472us : __engine_unpark: 0000:00:02.0 rcs0:
      <0> [574.303565] i915_sel-6278    2.... 481822491us : __gt_unpark: 0000:00:02.0
      <0> [574.303565] i915_sel-6278    2.... 481823220us : execlists_context_reset: 0000:00:02.0 rcs0: context:f4ee reset
      <0> [574.303565] i915_sel-6278    2.... 481824830us : __intel_context_active: 0000:00:02.0 rcs0: context:f51b active
      <0> [574.303565] i915_sel-6278    2.... 481825258us : __intel_context_do_pin: 0000:00:02.0 rcs0: context:f51b pin ring:{start:00006000, head:0000, tail:0000}
      <0> [574.303565] i915_sel-6278    2.... 481825311us : __i915_request_commit: 0000:00:02.0 rcs0: fence f51b:2, current 0
      <0> [574.303565] i915_sel-6278    2d..1 481825347us : __i915_request_submit: 0000:00:02.0 rcs0: fence f51b:2, current 0
      <0> [574.303565] i915_sel-6278    2d..1 481825363us : trace_ports: 0000:00:02.0 rcs0: submit { f51b:2, 0:0 }
      <0> [574.303565] i915_sel-6278    2.... 481826809us : __intel_context_active: 0000:00:02.0 rcs0: context:f51c active
      <0> [574.303565]   <idle>-0       7d.h2 481827326us : cs_irq_handler: 0000:00:02.0 rcs0: CS error: 1
      <0> [574.303565]   <idle>-0       7..s1 481827377us : process_csb: 0000:00:02.0 rcs0: cs-irq head=3, tail=4
      <0> [574.303565]   <idle>-0       7..s1 481827379us : process_csb: 0000:00:02.0 rcs0: csb[4]: status=0x10000001:0x00000000
      <0> [574.305593]   <idle>-0       7..s1 481827385us : trace_ports: 0000:00:02.0 rcs0: promote { f51b:2*, 0:0 }
      <0> [574.305611]   <idle>-0       7..s1 481828179us : execlists_reset: 0000:00:02.0 rcs0: reset for CS error
      <0> [574.305611] i915_sel-6278    2.... 481828284us : __intel_context_do_pin: 0000:00:02.0 rcs0: context:f51c pin ring:{start:00007000, head:0000, tail:0000}
      <0> [574.305611] i915_sel-6278    2.... 481828345us : __i915_request_commit: 0000:00:02.0 rcs0: fence f51c:2, current 0
      <0> [574.305611]   <idle>-0       7dNs2 481847823us : __i915_request_unsubmit: 0000:00:02.0 rcs0: fence f51b:2, current 1
      <0> [574.305611]   <idle>-0       7dNs2 481847857us : execlists_hold: 0000:00:02.0 rcs0: fence f51b:2, current 1 on hold
      <0> [574.305611]   <idle>-0       7.Ns1 481847863us : intel_engine_reset: 0000:00:02.0 rcs0: flags=4
      <0> [574.305611]   <idle>-0       7.Ns1 481847945us : execlists_reset_prepare: 0000:00:02.0 rcs0: depth<-1
      <0> [574.305611]   <idle>-0       7.Ns1 481847946us : intel_engine_stop_cs: 0000:00:02.0 rcs0:
      <0> [574.305611]   <idle>-0       7.Ns1 538584284us : intel_engine_stop_cs: 0000:00:02.0 rcs0: timed out on STOP_RING -> IDLE
      <0> [574.305611]   <idle>-0       7.Ns1 538584347us : __intel_gt_reset: 0000:00:02.0 engine_mask=1
      <0> [574.305611]   <idle>-0       7.Ns1 538584406us : execlists_reset_rewind: 0000:00:02.0 rcs0:
      <0> [574.305611]   <idle>-0       7dNs2 538585050us : __i915_request_reset: 0000:00:02.0 rcs0: fence f51b:2, current 1 guilty? yes
      <0> [574.305611]   <idle>-0       7dNs2 538585063us : __execlists_reset: 0000:00:02.0 rcs0: replay {head:0000, tail:0068}
      <0> [574.306565]   <idle>-0       7.Ns1 538588457us : intel_engine_cancel_stop_cs: 0000:00:02.0 rcs0:
      <0> [574.306565]   <idle>-0       7dNs2 538588462us : __i915_request_submit: 0000:00:02.0 rcs0: fence f51c:2, current 0
      <0> [574.306565]   <idle>-0       7dNs2 538588471us : trace_ports: 0000:00:02.0 rcs0: submit { f51c:2, 0:0 }
      <0> [574.306565]   <idle>-0       7.Ns1 538588474us : execlists_reset_finish: 0000:00:02.0 rcs0: depth->1
      <0> [574.306565] kworker/-202     2.... 538588755us : i915_request_retire: 0000:00:02.0 rcs0: fence f51c:2, current 2
      <0> [574.306565] ksoftirq-46      7..s. 538588773us : process_csb: 0000:00:02.0 rcs0: cs-irq head=11, tail=1
      <0> [574.306565] ksoftirq-46      7..s. 538588774us : process_csb: 0000:00:02.0 rcs0: csb[0]: status=0x10000001:0x00000000
      <0> [574.306565] ksoftirq-46      7..s. 538588776us : trace_ports: 0000:00:02.0 rcs0: promote { f51c:2!, 0:0 }
      <0> [574.306565] ksoftirq-46      7..s. 538588778us : process_csb: 0000:00:02.0 rcs0: csb[1]: status=0x10000018:0x00000020
      <0> [574.306565] ksoftirq-46      7..s. 538588779us : trace_ports: 0000:00:02.0 rcs0: completed { f51c:2!, 0:0 }
      <0> [574.306565] kworker/-202     2.... 538588826us : intel_context_unpin: 0000:00:02.0 rcs0: context:f51c unpin
      <0> [574.306565] i915_sel-6278    6.... 538589663us : __intel_gt_set_wedged.part.32: 0000:00:02.0 start
      <0> [574.306565] i915_sel-6278    6.... 538589667us : execlists_reset_prepare: 0000:00:02.0 rcs0: depth<-0
      <0> [574.306565] i915_sel-6278    6.... 538589710us : intel_engine_stop_cs: 0000:00:02.0 rcs0:
      <0> [574.306565] i915_sel-6278    6.... 538589732us : execlists_reset_prepare: 0000:00:02.0 bcs0: depth<-0
      <0> [574.307591] i915_sel-6278    6.... 538589733us : intel_engine_stop_cs: 0000:00:02.0 bcs0:
      <0> [574.307591] i915_sel-6278    6.... 538589757us : execlists_reset_prepare: 0000:00:02.0 vcs0: depth<-0
      <0> [574.307591] i915_sel-6278    6.... 538589758us : intel_engine_stop_cs: 0000:00:02.0 vcs0:
      <0> [574.307591] i915_sel-6278    6.... 538589771us : execlists_reset_prepare: 0000:00:02.0 vcs1: depth<-0
      <0> [574.307591] i915_sel-6278    6.... 538589772us : intel_engine_stop_cs: 0000:00:02.0 vcs1:
      <0> [574.307591] i915_sel-6278    6.... 538589778us : execlists_reset_prepare: 0000:00:02.0 vecs0: depth<-0
      <0> [574.307591] i915_sel-6278    6.... 538589780us : intel_engine_stop_cs: 0000:00:02.0 vecs0:
      <0> [574.307591] i915_sel-6278    6.... 538589786us : __intel_gt_reset: 0000:00:02.0 engine_mask=ff
      <0> [574.307591] i915_sel-6278    6.... 538591175us : execlists_reset_cancel: 0000:00:02.0 rcs0:
      <0> [574.307591] i915_sel-6278    6.... 538591970us : execlists_reset_cancel: 0000:00:02.0 bcs0:
      <0> [574.307591] i915_sel-6278    6.... 538591982us : execlists_reset_cancel: 0000:00:02.0 vcs0:
      <0> [574.307591] i915_sel-6278    6.... 538591996us : execlists_reset_cancel: 0000:00:02.0 vcs1:
      <0> [574.307591] i915_sel-6278    6.... 538592759us : execlists_reset_cancel: 0000:00:02.0 vecs0:
      <0> [574.307591] i915_sel-6278    6.... 538592977us : execlists_reset_finish: 0000:00:02.0 rcs0: depth->0
      <0> [574.307591] i915_sel-6278    6.N.. 538592996us : execlists_reset_finish: 0000:00:02.0 bcs0: depth->0
      <0> [574.307591] i915_sel-6278    6.N.. 538593023us : execlists_reset_finish: 0000:00:02.0 vcs0: depth->0
      <0> [574.307591] i915_sel-6278    6.N.. 538593037us : execlists_reset_finish: 0000:00:02.0 vcs1: depth->0
      <0> [574.307591] i915_sel-6278    6.N.. 538593051us : execlists_reset_finish: 0000:00:02.0 vecs0: depth->0
      <0> [574.307591] i915_sel-6278    6.... 538593407us : __intel_gt_set_wedged.part.32: 0000:00:02.0 end
      <0> [574.307591] kworker/-210     7d..1 551958381us : execlists_unhold: 0000:00:02.0 rcs0: fence f51b:2, current 2 hold release
      <0> [574.307591] i915_sel-6278    0.... 559490788us : i915_request_retire: 0000:00:02.0 rcs0: fence f51b:2, current 2
      <0> [574.307591] i915_sel-6278    0.... 559490793us : intel_context_unpin: 0000:00:02.0 rcs0: context:f51b unpin
      <0> [574.307591] i915_sel-6278    0.... 559490798us : __engine_park: 0000:00:02.0 rcs0: parked
      <0> [574.307591] i915_sel-6278    0.... 559490982us : __intel_context_retire: 0000:00:02.0 rcs0: context:f51c retire runtime: { total:30004ns, avg:30004ns }
      <0> [574.307591] i915_sel-6278    0.... 559491372us : __engine_park: __engine_park:261 GEM_BUG_ON(engine->execlists.queue_priority_hint != (-((int)(~0U >> 1)) - 1))
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-9-chris@chris-wilson.co.uk
      3fc28d3e
    • Chris Wilson's avatar
      drm/i915/selftests: Be a little more lenient for reset workers · 280e285d
      Chris Wilson authored
      
      
      Give the reset worker a kick before losing help when waiting for hang
      recovery, as the CPU scheduler is a little unreliable.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-15-chris@chris-wilson.co.uk
      280e285d
    • Ville Syrjälä's avatar
      drm/i915: Add glk to intel_detect_preproduction_hw() · 834c6bb7
      Ville Syrjälä authored
      
      
      Detect GLK pre-production steppings. Not 100% of A2 being pre-prod
      since the spec is a bit of a mess but feels more or less correct.
      
      Suggested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200128155152.21977-4-ville.syrjala@linux.intel.com
      Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      834c6bb7
    • Chris Wilson's avatar
      drm/i915/selftests: Wait for the context switch · b0158b91
      Chris Wilson authored
      
      
      As we require a context switch to ensure that the current context is
      switched out and saved to memory, perform an explicit switch to the
      kernel context and wait for it.
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/1336
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200228082330.2411941-18-chris@chris-wilson.co.uk
      b0158b91
    • Chris Wilson's avatar
      drm/i915/perf: Manually acquire engine-wakeref around use of kernel_context · d236e2ac
      Chris Wilson authored
      
      
      The engine->kernel_context is a special case for request emission. Since
      it is used as the barrier within the engine's wakeref, we must acquire the
      wakeref before submitting a request to the kernel_context.
      
      Reported-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-3-chris@chris-wilson.co.uk
      d236e2ac
    • Chris Wilson's avatar
      drm/i915/perf: Mark up the racy use of perf->exclusive_stream · a5af081d
      Chris Wilson authored
      
      
      Inside the general i915_oa_init_reg_state() we avoid using the
      perf->mutex. However, we rely on perf->exclusive_stream being valid to
      access at that point, and for that we have to control the race with
      disabling perf. This relies on the disabling being a heavy barrier that
      inspects all active contexts, after marking the perf->exclusive_stream
      as not available. This should ensure that there are no more concurrent
      accesses to the perf->exclusive_stream as we destroy it.
      
      Mark up the races around the perf->exclusive_stream so that they stand
      out much more. (And hopefully we will be running kcsan to start
      validating that the only races we have are carefully controlled.)
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-2-chris@chris-wilson.co.uk
      a5af081d
    • Anshuman Gupta's avatar
      drm/i915: Fix wrongly populated plane possible_crtcs bit mask · 6875eb3f
      Anshuman Gupta authored
      
      
      As a disabled pipe in pipe_mask is not having a valid intel crtc,
      driver wrongly populates the possible_crtcs mask while initializing
      the plane for a CRTC. Fixing up the plane possible_crtcs mask.
      
      changes since RFC:
      - Simplify the possible_crtcs initialization. [Ville]
      v2:
      - Removed the unnecessary stack garbage possible_crtcs to
        drm_universal_plane_init. [Ville]
      v3:
      - Combine the intel_crtc assignment and declaration. [Ville]
      v4:
      - Fix possible_crtcs abused bits from
        intel_{primary,curosr,sprite}_plane_create(). [Ville]
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarAnshuman Gupta <anshuman.gupta@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200226163517.31234-1-anshuman.gupta@intel.com
      6875eb3f
    • Chris Wilson's avatar
      drm/i915: Protect i915_request_await_start from early waits · d22d2d07
      Chris Wilson authored
      We need to be extremely careful inside i915_request_await_start() as it
      needs to walk the list of requests in the foreign timeline with very
      little protection. As we hold our own timeline mutex, we can not nest
      inside the signaler's timeline mutex, so all that remains is our RCU
      protection. However, to be safe we need to tell the compiler that we may
      be traversing the list only under RCU protection, and furthermore we
      need to start declaring requests as elements of the timeline from their
      construction.
      
      Fixes: 9ddc8ec0 ("drm/i915: Eliminate the trylock for awaiting an earlier request")
      Fixes: 6a79d848
      
       ("drm/i915: Lock signaler timeline while navigating")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-11-chris@chris-wilson.co.uk
      d22d2d07
    • Chris Wilson's avatar
      drm/i915/selftests: Check recovery from corrupted LRC · 24eba7a9
      Chris Wilson authored
      
      
      Check that we can recover if the LRC is totally corrupted. Based on a
      very simple theory that anything that can be adjusted via the context
      (i.e. on behalf of the user), should be under the purview of the
      per-engine-reset.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-13-chris@chris-wilson.co.uk
      24eba7a9
    • Chris Wilson's avatar
      drm/i915/selftests: Verify LRC isolation · efb69b98
      Chris Wilson authored
      
      
      Record the LRC registers before/after a preemption event to ensure that
      the first context sees nothing from the second client; at least in the
      normal per-context register state.
      
      References: https://gitlab.freedesktop.org/drm/intel/issues/1233
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-12-chris@chris-wilson.co.uk
      efb69b98
    • Chris Wilson's avatar
      drm/i915/gt: Pull marking vm as closed underneath the vm->mutex · ad2f9bc9
      Chris Wilson authored
      Pull the final atomic_dec of vm->open (marking the vm as closed)
      underneath the same vm->mutex as used to close it. This is required to
      correctly serialise with attempting to reuse the vma as the vm is closed
      by a second thread.
      
      References: 00de702c
      
       ("drm/i915: Check that the vma hasn't been closed before we insert it")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-10-chris@chris-wilson.co.uk
      ad2f9bc9
    • Chris Wilson's avatar
      drm/i915/gt: Check engine-is-awake on reset later · d3b03d8b
      Chris Wilson authored
      
      
      As we drop the engine-pm on retiring, that may happen while there are
      still CS events in the buffer. As such we cannot assert the engine is
      still active on reset, until we know that the current request is still
      in flight.
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/1338
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227204727.2009346-1-chris@chris-wilson.co.uk
      d3b03d8b
    • Chris Wilson's avatar
      drm/i915/selftests: Disable heartbeat around manual pulse tests · 950da301
      Chris Wilson authored
      
      
      Still chasing the mystery of the stray idle flush, let's ensure that the
      heartbeat does not run at the same time as our test and confuse us.
      
      References: https://gitlab.freedesktop.org/drm/intel/issues/541
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-8-chris@chris-wilson.co.uk
      950da301
    • Chris Wilson's avatar
      drm/i915: Skip barriers inside waits · c0e31018
      Chris Wilson authored
      Attaching to the i915_active barrier is a two stage process, and a flush
      is only effective when the barrier is activation. Thus it is possible
      for us to see a barrier, and attempt to flush, only for our flush to
      have no effect. As such, before attempting to activate signaling on the
      fence we need to double check it is a fence!
      
      Fixes: d13a3177
      
       ("drm/i915: Flush idle barriers when waiting")
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/1333
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200227085723.1961649-1-chris@chris-wilson.co.uk
      c0e31018
    • Daniele Ceraolo Spurio's avatar
      drm/i915/ggtt: do not set bits 1-11 in gen12 ptes · 69edc390
      Daniele Ceraolo Spurio authored
      
      
      On TGL, bits 2-4 in the GGTT PTE are not ignored anymore and are
      instead used for some extra VT-d capabilities. We don't (yet?) have
      support for those capabilities, but, given that we shared the pte_encode
      function betweed GGTT and PPGTT, we still set those bits to the PPGTT
      PPAT values. The DMA engine gets very confused when those bits are
      set while the iommu is enabled, leading to errors. E.g. when loading
      the GuC we get:
      
      [    9.796218] DMAR: DRHD: handling fault status reg 2
      [    9.796235] DMAR: [DMA Write] Request device [00:02.0] PASID ffffffff fault addr 0 [fault reason 02] Present bit in context entry is clear
      [    9.899215] [drm:intel_guc_fw_upload [i915]] *ERROR* GuC firmware signature verification failed
      
      To fix this, just have dedicated gen8_pte_encode function per type of
      gtt. Also, explicitly set vm->pte_encode for gen8_ppgtt, even if we
      don't use it, to make sure we don't accidentally assign it to the GGTT
      one, like we do for gen6_ppgtt, in case we need it in the future.
      
      Reported-by: default avatar"Sodhi, Vunny" <vunny.sodhi@intel.com>
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200226185657.26445-1-daniele.ceraolospurio@intel.com
      69edc390
    • Lucas De Marchi's avatar
      drm/i915/tgl: Add Wa_1608008084 · e94bda14
      Lucas De Marchi authored
      Wa_1608008084 is an additional WA that applies to writes on FF_MODE2
      register. We can't read it back either from CPU or GPU. Since the other
      bits should be 0, recommendation to handle Wa_1604555607 is to actually
      just write the timer value.
      
      Do a write only and don't try to read it, neither before or after
      the WA is applied.
      
      Fixes: ff690b21
      
       ("drm/i915/tgl: Implement Wa_1604555607")
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200224191258.15668-1-lucas.demarchi@intel.com
      e94bda14
    • Ville Syrjälä's avatar
      drm/i915: Set up PIPE_MISC truncate bit on tgl+ · 041be481
      Ville Syrjälä authored
      
      
      Looks like the pipe rounding mode bit has moved from PIPE_CHICKEN to
      PIPE_MISC on tgl. Frob the new location.
      
      Bspec does still document the old bits as well, so I left the code
      for them as is until we get clarification from the hw folks on
      whether the old bits still do something useful.
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200226163054.9509-1-ville.syrjala@linux.intel.com
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      041be481
    • Lucas De Marchi's avatar
      drm/i915: remove ICP_PP_CONTROL · 945fa3bc
      Lucas De Marchi authored
      
      
      This register was placed in the middle of the PP_STATUS definition
      instead of together with the PP_CONTROL where it should. Since it's not
      used and there are no current plans to use it, just remove the
      definition.
      
      v2: remove the define rather than moving it.
      
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190308232321.30168-1-lucas.demarchi@intel.com
      945fa3bc
  3. Feb 27, 2020
  4. Feb 26, 2020