[Intel-gfx] ✓ Fi.CI.BAT: success for dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv

2020-07-28 Thread Patchwork
== Series Details == Series: dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv URL : https://patchwork.freedesktop.org/series/79980/ State : success == Summary == CI Bug Log - changes from CI_DRM_8804 -> Patchwork_18248

[Intel-gfx] [CI 1/2] drm/i915/gt: Disable preparser around xcs invalidations on tgl

2020-07-28 Thread Chris Wilson
Unlike rcs where we have conclusive evidence from our selftesting that disabling the preparser before performing the TLB invalidate and relocations does impact upon the GPU execution, the evidence for the same requirement on xcs is much more circumstantial. Let's apply the preparser disable

[Intel-gfx] [CI] drm/i915: Filter wake_flags passed to default_wake_function

2020-07-28 Thread Chris Wilson
The flags passed to the wait_entry.func are passed onwards to try_to_wake_up(), which has a very particular interpretation for its wake_flags. In particular, beyond the published WF_SYNC, it has a few internal flags as well. Since we passed the fence->error down the chain via the flags argument,

[Intel-gfx] [CI 2/2] drm/i915/selftests: Add compiler paranoia for checking HWSP values

2020-07-28 Thread Chris Wilson
Since we want to read the values from the HWSP as written to by the GPU, warn the compiler that the values are volatile. Signed-off-by: Chris Wilson Cc: Mika Kuoppala Reviewed-by: Mika Kuoppala --- drivers/gpu/drm/i915/gt/selftest_timeline.c | 23 +++-- 1 file changed, 12

[Intel-gfx] [CI] drm/i915/gem: Remove disordered per-file request list for throttling

2020-07-28 Thread Chris Wilson
I915_GEM_THROTTLE dates back to the time before contexts where there was just a single engine, and therefore a single timeline and request list globally. That request list was in execution/retirement order, and so walking it to find a particular aged request made sense and could be split per file.

[Intel-gfx] Flashing display after link training failure (Bug 1378)

2020-07-28 Thread Jason Andryuk
Hi, I opened a bug ( https://gitlab.freedesktop.org/drm/intel/-/issues/1378 ) a few months back, but no one seems to have looked at it. I'm emailing here to hopefully get a suggestion on a path forward. tl;dr: when resuming from DPMS, link training channel equalization fails on the Dell 7200

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv

2020-07-28 Thread Patchwork
== Series Details == Series: dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv URL : https://patchwork.freedesktop.org/series/79980/ State : warning == Summary == $ dim checkpatch origin/drm-tip dca1dc9ea07c dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv -:66:

Re: [Intel-gfx] [PATCH 11/66] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-27 10:24:24) > Hi, Chris, > > It appears to me like this series is doing a lot of different things: > > - Various optimizations > - Locking rework > - Adding schedulers > - Other misc fixes > > Could you please separate out as much as possible the

Re: [Intel-gfx] [PATCH 13/66] drm/i915/gem: Don't drop the timeline lock during execbuf

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-23 17:09:15) > > On 2020-07-15 13:50, Chris Wilson wrote: > > Our timeline lock is our defence against a concurrent execbuf > > interrupting our request construction. we need hold it throughout or, > > for example, a second thread may interject a

[Intel-gfx] [CI] drm/i915: Copy default modparams to mock i915_device

2020-07-28 Thread Chris Wilson
Since we use the module parameters stored inside the drm_i915_device itself, we need to ensure the mock i915_device also sets up the right defaults. Fixes: 8a25c4be583d ("drm/i915/params: switch to device specific parameters") Signed-off-by: Chris Wilson Cc: Jani Nikula Reviewed-by: Tvrtko

Re: [Intel-gfx] [PATCH 09/66] drm/i915: Provide a fastpath for waiting on vma bindings

2020-07-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-07-17 14:23:22) > > On 15/07/2020 12:50, Chris Wilson wrote: > > Before we can execute a request, we must wait for all of its vma to be > > bound. This is a frequent operation for which we can optimise away a > > few atomic operations (notably a cmpxchg) in lieu of

Re: [Intel-gfx] [PATCH 16/66] drm/i915/gem: Remove the call for no-evict i915_vma_pin

2020-07-28 Thread Intel
On 7/15/20 1:50 PM, Chris Wilson wrote: Remove the stub i915_vma_pin() used for incrementally pining objects for s/pining/pinning/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 13/66] drm/i915/gem: Don't drop the timeline lock during execbuf

2020-07-28 Thread Intel
On 7/23/20 6:09 PM, Thomas Hellström (Intel) wrote: On 2020-07-15 13:50, Chris Wilson wrote: Our timeline lock is our defence against a concurrent execbuf interrupting our request construction. we need hold it throughout or, for example, a second thread may interject a relocation request in

Re: [Intel-gfx] [PATCH 16/66] drm/i915/gem: Remove the call for no-evict i915_vma_pin

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-28 10:46:51) > > On 7/15/20 1:50 PM, Chris Wilson wrote: > > Remove the stub i915_vma_pin() used for incrementally pining objects for > > s/pining/pinning/ Pining for the fjords. -Chris ___ Intel-gfx mailing

Re: [Intel-gfx] [PATCH 16/66] drm/i915/gem: Remove the call for no-evict i915_vma_pin

2020-07-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-07-17 15:36:04) > > On 15/07/2020 12:50, Chris Wilson wrote: > > Remove the stub i915_vma_pin() used for incrementally pining objects for > > execbuf (under the severe restriction that they must not wait on a > > resource as we may have already pinned it) and replace

Re: [Intel-gfx] [PATCH 28/66] drm/i915/gem: Replace i915_gem_object.mm.mutex with reservation_ww_class

2020-07-28 Thread Intel
On 7/16/20 5:53 PM, Tvrtko Ursulin wrote: On 15/07/2020 16:43, Maarten Lankhorst wrote: Op 15-07-2020 om 13:51 schreef Chris Wilson: Our goal is to pull all memory reservations (next iteration obj->ops->get_pages()) under a ww_mutex, and to align those reservations with other drivers, i.e.

Re: [Intel-gfx] [PATCH 07/66] drm/i915: Keep the most recently used active-fence upon discard

2020-07-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-07-17 13:38:01) > > On 15/07/2020 12:50, Chris Wilson wrote: > > + /* Even if we have not used the cache, we may still have a barrier */ > > + if (!ref->cache) > > + ref->cache = fetch_node(ref->tree.rb_node); > > + > > + /* Keep the MRU cached

Re: [Intel-gfx] [PATCH 27/66] drm/i915/gem: Pull execbuf dma resv under a single critical section

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-27 19:08:39) > > On 7/15/20 1:51 PM, Chris Wilson wrote: > > Acquire all the objects and their backing storage, and page directories, > > as used by execbuf under a single common ww_mutex. Albeit we have to > > restart the critical section a few times in

Re: [Intel-gfx] [PATCH 08/66] drm/i915: Make the stale cached active node available for any timeline

2020-07-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-07-17 14:04:58) > > On 15/07/2020 12:50, Chris Wilson wrote: > > Rather than require the next timeline after idling to match the MRU > > before idling, reset the index on the node and allow it to match the > > first request. However, this requires cmpxchg(u64) and so

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Copy default modparams to mock i915_device (rev4)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Copy default modparams to mock i915_device (rev4) URL : https://patchwork.freedesktop.org/series/79736/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be checked separately.

[Intel-gfx] [PATCH] dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv

2020-07-28 Thread Daniel Vetter
GPU drivers need this in their shrinkers, to be able to throw out mmap'ed buffers. Note that we also need dma_resv_lock in shrinkers, but that loop is resolved by trylocking in shrinkers. So full hierarchy is now (ignore some of the other branches we already have primed): mmap_read_lock ->

Re: [Intel-gfx] [PATCH 11/66] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-23 15:33:20) > > On 2020-07-15 13:50, Chris Wilson wrote: > > We need to make the DMA allocations used for page directories to be > > performed up front so that we can include those allocations in our > > memory reservation pass. The downside is that we

[Intel-gfx] [PATCH 06/12] drm/i915/gt: Move intel_breadcrumbs_arm_irq earlier

2020-07-28 Thread Chris Wilson
Move the __intel_breadcrumbs_arm_irq earlier, next to the disarm_irq, so that we can make use of it in the following patch. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 84 ++--- 1 file changed, 42 insertions(+), 42

[Intel-gfx] [PATCH 08/12] drm/i915/gt: Track signaled breadcrumbs outside of the breadcrumb spinlock

2020-07-28 Thread Chris Wilson
Make b->signaled_requests a lockless-list so that we can manipulate it outside of the b->irq_lock. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 30 +++ .../gpu/drm/i915/gt/intel_breadcrumbs_types.h | 2 +- drivers/gpu/drm/i915/i915_request.h

[Intel-gfx] [PATCH 02/12] drm/i915: Remove requirement for holding i915_request.lock for breadcrumbs

2020-07-28 Thread Chris Wilson
Since the breadcrumb enabling/cancelling itself is serialised by the breadcrumbs.irq_lock, with a bit of care we can remove the outer serialisation with i915_request.lock for concurrent dma_fence_enable_signaling(). This has the important side-effect of eliminating the nested i915_request.lock

[Intel-gfx] [PATCH 12/12] drm/i915: Drop i915_request.lock requirement for intel_rps_boost()

2020-07-28 Thread Chris Wilson
Since we use a flag within i915_request.flags to indicate when we have boosted the request (so that we only apply the boost) once, this can be used as the serialisation with i915_request_retire() to avoid having to explicitly take the i915_request.lock which is more heavily contended.

[Intel-gfx] [PATCH 01/12] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Chris Wilson
It's been a while since gen6_rps_boost() [that only worked on gen6+] was replaced by intel_rps_boost() that understood itself when rps was active. Since the intel_rps_boost() is gen-agnostic, just call it. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala ---

[Intel-gfx] [PATCH 09/12] drm/i915/gt: Protect context lifetime with RCU

2020-07-28 Thread Chris Wilson
Allow a brief period for continued access to a dead intel_context by deferring the release of the struct until after an RCU grace period. As we are using a dedicated slab cache for the contexts, we can defer the release of the slab pages via RCU, with the caveat that individual structs may be

[Intel-gfx] [PATCH 11/12] drm/i915: Drop i915_request.lock serialisation around await_start

2020-07-28 Thread Chris Wilson
Originally, we used the signal->lock as a means of following the previous link in its timeline and peeking at the previous fence. However, we have replaced the explicit serialisation with a series of very careful probes that anticipate the links being deleted and the fences recycled before we are

[Intel-gfx] [PATCH 10/12] drm/i915/gt: Split the breadcrumb spinlock between global and contexts

2020-07-28 Thread Chris Wilson
As we funnel more and more contexts into the breadcrumbs on an engine, the hold time of b->irq_lock grows. As we may then contend with the b->irq_lock during request submission, this increases the burden upon the engine->active.lock and so directly impacts both our execution latency and client

Re: [Intel-gfx] [PATCH 0/6] vga-switcheroo: initial dynamic mux switch support

2020-07-28 Thread daniel
On Mon, Jul 27, 2020 at 03:51:06PM -0500, Daniel Dadap wrote: > Changes to allow vga-switcheroo to switch the mux while modesetting > clients remain active. There is existing support for switching the > mux without checking can_switch; however, this support also does not > reprobe after the mux

[Intel-gfx] [PULL] drm-misc-fixes

2020-07-28 Thread Thomas Zimmermann
Hi Dave and Daniel, here's this week's PR for drm-misc-fixes. It's mostly driver stuff. There's one fix in the GEM ioctl code, but it has no impact on the UAPI. Best regards Thomas drm-misc-fixes-2020-07-28: * drm: fix possible use-after-free * dbi: fix SPI Type 1 transfer * drm_fb_helper:

Re: [Intel-gfx] [PATCH 08/66] drm/i915: Make the stale cached active node available for any timeline

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-22 12:19:28) > > On 2020-07-15 13:50, Chris Wilson wrote: > > Rather than require the next timeline after idling to match the MRU > > before idling, reset the index on the node and allow it to match the > > first request. However, this requires

Re: [Intel-gfx] [PATCH 22/66] drm/i915/gem: Bind the fence async for execbuf

2020-07-28 Thread Chris Wilson
Quoting Thomas Hellström (Intel) (2020-07-27 19:19:19) > > On 7/15/20 1:51 PM, Chris Wilson wrote: > > It is illegal to wait on an another vma while holding the vm->mutex, as > > that easily leads to ABBA deadlocks (we wait on a second vma that waits > > on us to release the vm->mutex). So while

[Intel-gfx] [CI] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Chris Wilson
It's been a while since gen6_rps_boost() [that only worked on gen6+] was replaced by intel_rps_boost() that understood itself when rps was active. Since the intel_rps_boost() is gen-agnostic, just call it. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala ---

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source URL : https://patchwork.freedesktop.org/series/79991/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18256

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini()

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini() URL : https://patchwork.freedesktop.org/series/79992/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories URL : https://patchwork.freedesktop.org/series/79994/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18258

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Copy default modparams to mock i915_device (rev4)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Copy default modparams to mock i915_device (rev4) URL : https://patchwork.freedesktop.org/series/79736/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8804_full -> Patchwork_18249_full

Re: [Intel-gfx] [PATCH v5 04/22] drm/i915/dg1: Increase mmio size to 4MB

2020-07-28 Thread Matt Roper
On Fri, Jul 24, 2020 at 02:39:00PM -0700, Lucas De Marchi wrote: > From: Venkata Sandeep Dhanalakota > > On dgfx register range has been extended to go up to 4MB. > > Cc: Daniele Ceraolo Spurio > Cc: Michael J. Ruhl > Signed-off-by: Venkata Sandeep Dhanalakota > Signed-off-by: Lucas De

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gem: Remove disordered per-file request list for throttling (rev5)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/gem: Remove disordered per-file request list for throttling (rev5) URL : https://patchwork.freedesktop.org/series/79600/ State : success == Summary == CI Bug Log - changes from CI_DRM_8805_full -> Patchwork_18250_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv

2020-07-28 Thread Patchwork
== Series Details == Series: dma-resv: lockdep-prime address_space->i_mmap_rwsem for dma-resv URL : https://patchwork.freedesktop.org/series/79980/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8804_full -> Patchwork_18248_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [CI,1/2] drm/i915/gt: Disable preparser around xcs invalidations on tgl

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [CI,1/2] drm/i915/gt: Disable preparser around xcs invalidations on tgl URL : https://patchwork.freedesktop.org/series/79985/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8805_full -> Patchwork_18251_full

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Copy default modparams to mock i915_device (rev4)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Copy default modparams to mock i915_device (rev4) URL : https://patchwork.freedesktop.org/series/79736/ State : success == Summary == CI Bug Log - changes from CI_DRM_8804 -> Patchwork_18249 Summary

[Intel-gfx] [PATCH] drm/i915/selftests: Flush the active barriers before asserting

2020-07-28 Thread Chris Wilson
Before we peek at the barrier status for an assert, first serialise with its callbacks so that we see a stable value. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/selftest_context.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/selftest_context.c

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/gem: Remove disordered per-file request list for throttling (rev5)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/gem: Remove disordered per-file request list for throttling (rev5) URL : https://patchwork.freedesktop.org/series/79600/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be checked

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Filter wake_flags passed to default_wake_function (rev2)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Filter wake_flags passed to default_wake_function (rev2) URL : https://patchwork.freedesktop.org/series/79824/ State : failure == Summary == Applying: drm/i915: Filter wake_flags passed to default_wake_function Using index info to reconstruct a base

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Flush the active barriers before asserting

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Flush the active barriers before asserting URL : https://patchwork.freedesktop.org/series/79995/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18259

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini()

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini() URL : https://patchwork.freedesktop.org/series/79992/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18257

Re: [Intel-gfx] [PATCH v5 03/22] drm/i915/dg1: Add DG1 power wells

2020-07-28 Thread Matt Roper
On Fri, Jul 24, 2020 at 02:38:59PM -0700, Lucas De Marchi wrote: > From: Uma Shankar > > Most of TGL power wells are re-used for DG1. However, AUDIO Power > Domain is moved from PG3 to PG0. Handle the change and initialize > power wells with the new power well structure. > > Some of the Audio

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/selftests: Flush the active barriers before asserting

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Flush the active barriers before asserting URL : https://patchwork.freedesktop.org/series/79995/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be checked separately.

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool (rev5)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool (rev5) URL : https://patchwork.freedesktop.org/series/79855/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be

Re: [Intel-gfx] [PATCH v5 06/22] drm/i915/dg1: Add DPLL macros for DG1

2020-07-28 Thread Matt Roper
On Fri, Jul 24, 2020 at 02:39:02PM -0700, Lucas De Marchi wrote: > From: Aditya Swarup > > DG1 has 4 DPLLs where DPLL0 and DPLL1 drive DDIA/B and > DPLL2 and DPLL3 drive DDIC/DDID. Since this is a DG1-specific commit with DG1-specific macros, we should also use the DG1-specific terminology in

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool (rev5)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool (rev5) URL : https://patchwork.freedesktop.org/series/79855/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18260

Re: [Intel-gfx] [PATCH v5 07/22] drm/i915/dg1: Add and setup DPLLs for DG1

2020-07-28 Thread Matt Roper
On Fri, Jul 24, 2020 at 02:39:03PM -0700, Lucas De Marchi wrote: > From: Aditya Swarup > > Add entries for dg1 plls and setup dg1_pll_mgr to reuse icl callbacks. > Initial setup for shared dplls DPLL0/1 for DDIA/B and DPLL2/3 for > DDIC/D. Configure dpll cfgcrx registers to drive the plls on

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories URL : https://patchwork.freedesktop.org/series/79994/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini()

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/7] drm/i915: Add a couple of missing i915_active_fini() URL : https://patchwork.freedesktop.org/series/79992/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18257_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm/i915: Preallocate stashes for vma page-directories URL : https://patchwork.freedesktop.org/series/79994/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18258_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex URL : https://patchwork.freedesktop.org/series/79990/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18255_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source URL : https://patchwork.freedesktop.org/series/79991/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18256_full

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Remove gen check before calling intel_rps_boost (rev2)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove gen check before calling intel_rps_boost (rev2) URL : https://patchwork.freedesktop.org/series/79791/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18253_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost URL : https://patchwork.freedesktop.org/series/79988/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8807_full -> Patchwork_18254_full

[Intel-gfx] [PATCH 1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source

2020-07-28 Thread Chris Wilson
When cloning the engines from the source context, we need to ensure that the engines are not freed as we copy them, and that the flags we clone from the source correspond with the engines we copy across. To do this we need only take a reference to the src->engines, rather than hold the

[Intel-gfx] [PATCH] drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool

2020-07-28 Thread Chris Wilson
Some very low hanging fruit, but contention on the pool->lock is noticeable between intel_gt_get_buffer_pool() and pool_retire(), with the majority of the hold time due to the locked list iteration. If we make the node itself RCU protected, we can perform the search for an suitable node just under

Re: [Intel-gfx] [PATCH 1/3] drm: Restore driver.preclose() for all to use

2020-07-28 Thread Chris Wilson
Quoting Daniel Vetter (2020-07-27 20:32:45) > On Thu, Jul 23, 2020 at 7:21 PM Chris Wilson wrote: > > > > An unfortunate sequence of events, but it turns out there is a valid > > usecase for being able to free/decouple the driver objects before they > > are freed by the DRM core. In particular,

Re: [Intel-gfx] [PATCH] drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool

2020-07-28 Thread Matthew Auld
On Tue, 28 Jul 2020 at 16:59, Chris Wilson wrote: > > Some very low hanging fruit, but contention on the pool->lock is > noticeable between intel_gt_get_buffer_pool() and pool_retire(), with > the majority of the hold time due to the locked list iteration. If we > make the node itself RCU

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Remove gen check before calling intel_rps_boost (rev2)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove gen check before calling intel_rps_boost (rev2) URL : https://patchwork.freedesktop.org/series/79791/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't be checked separately.

Re: [Intel-gfx] [PATCH v5 06/16] pwm: lpss: Use pwm_lpss_apply() when restoring state on resume

2020-07-28 Thread Andy Shevchenko
On Fri, Jul 17, 2020 at 03:37:43PM +0200, Hans de Goede wrote: > Before this commit a suspend + resume of the LPSS PWM controller > would result in the controller being reset to its defaults of > output-freq = clock/256, duty-cycle=100%, until someone changes > to the output-freq and/or duty-cycle

Re: [Intel-gfx] [PATCH v5 07/16] pwm: crc: Fix period / duty_cycle times being off by a factor of 256

2020-07-28 Thread Hans de Goede
Hi, On 7/28/20 9:36 PM, Andy Shevchenko wrote: On Fri, Jul 17, 2020 at 03:37:44PM +0200, Hans de Goede wrote: While looking into adding atomic-pwm support to the pwm-crc driver I noticed something odd, there is a PWM_BASE_CLK define of 6 MHz and there is a clock-divider which divides this with

[Intel-gfx] [PATCH 2/2] drm/i915/gem: Reduce ctx->engines_mutex for get_engines()

2020-07-28 Thread Chris Wilson
Take a snapshot of the ctx->engines, so we can avoid taking the ctx->engines_mutex for a mere read in get_engines(). Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 39 + 1 file changed, 8 insertions(+), 31 deletions(-) diff --git

[Intel-gfx] [PATCH 2/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source

2020-07-28 Thread Chris Wilson
When cloning the engines from the source context, we need to ensure that the engines are not freed as we copy them, and that the flags we clone from the source correspond with the engines we copy across. To do this we need only take a reference to the src->engines, rather than hold the

[Intel-gfx] [PATCH 1/2] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex

2020-07-28 Thread Chris Wilson
Since the debugfs may peek into the GEM contexts as the corresponding client/fd is being closed, we may try and follow a dangling pointer. However, the context closure itself is serialised with the ctx->mutex, so if we hold that mutex as we inspect the state coupled in the context, we know the

[Intel-gfx] [PATCH 2/7] drm/i915: Skip taking acquire mutex for no ref->active callback

2020-07-28 Thread Chris Wilson
If no active callback is defined for i915_active, we do not need to serialise its enabling with the mutex. We still do only want to call the debug activate once, and must still serialise with a concurrent retire. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin Reviewed-by: Thomas

[Intel-gfx] [PATCH 3/7] drm/i915: Export a preallocate variant of i915_active_acquire()

2020-07-28 Thread Chris Wilson
Sometimes we have to be very careful not to allocate underneath a mutex (or spinlock) and yet still want to track activity. Enter i915_active_acquire_for_context(). This raises the activity counter on i915_active prior to use and ensures that the fence-tree contains a slot for the context. v2:

[Intel-gfx] [PATCH 7/7] drm/i915: Provide a fastpath for waiting on vma bindings

2020-07-28 Thread Chris Wilson
Before we can execute a request, we must wait for all of its vma to be bound. This is a frequent operation for which we can optimise away a few atomic operations (notably a cmpxchg) in lieu of the RCU protection. Signed-off-by: Chris Wilson Reviewed-by: Thomas Hellström ---

[Intel-gfx] [PATCH 1/7] drm/i915: Add a couple of missing i915_active_fini()

2020-07-28 Thread Chris Wilson
We use i915_active_fini() as a debug check on the i915_active state before freeing. If we forget to call it, we may end up angering the debugobjects contained within. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin Reviewed-by: Thomas Hellström ---

[Intel-gfx] [PATCH 5/7] drm/i915: Make the stale cached active node available for any timeline

2020-07-28 Thread Chris Wilson
Rather than require the next timeline after idling to match the MRU before idling, reset the index on the node and allow it to match the first request. However, this requires cmpxchg(u64) and so is not trivial on 32b, so for compatibility we just fallback to keeping the cached node pointing to the

[Intel-gfx] [PATCH 4/7] drm/i915: Keep the most recently used active-fence upon discard

2020-07-28 Thread Chris Wilson
Whenever an i915_active idles, we prune its tree of old fence slots to prevent a gradual leak should it be used to track many, many timelines. The downside is that we then have to frequently reallocate the rbtree. A compromise is that we keep the most recently used fence slot, and reuse that for

[Intel-gfx] [PATCH 6/7] drm/i915: Reduce locking around i915_active_acquire_preallocate_barrier()

2020-07-28 Thread Chris Wilson
As the conversion between idle-barrier and full i915_active_fence is already serialised by explicit memory barriers, we can reduce the spinlock in i915_active_acquire_preallocate_barrier() for finding an idle-barrier to reuse to an RCU read lock to ensure the fence remains valid, only taking the

[Intel-gfx] [PATCH] drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool

2020-07-28 Thread Chris Wilson
Some very low hanging fruit, but contention on the pool->lock is noticeable between intel_gt_get_buffer_pool() and pool_retire(), with the majority of the hold time due to the locked list iteration. If we make the node itself RCU protected, we can perform the search for an suitable node just under

Re: [Intel-gfx] [PATCH v5 05/16] pwm: lpss: Add pwm_lpss_prepare_enable() helper

2020-07-28 Thread Andy Shevchenko
On Fri, Jul 17, 2020 at 03:37:42PM +0200, Hans de Goede wrote: > In the not-enabled -> enabled path pwm_lpss_apply() needs to get a > runtime-pm reference; and then on any errors it needs to release it > again. > > This leads to somewhat hard to read code. This commit introduces a new >

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex URL : https://patchwork.freedesktop.org/series/79990/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit

Re: [Intel-gfx] [PATCH v5 07/16] pwm: crc: Fix period / duty_cycle times being off by a factor of 256

2020-07-28 Thread Andy Shevchenko
On Fri, Jul 17, 2020 at 03:37:44PM +0200, Hans de Goede wrote: > While looking into adding atomic-pwm support to the pwm-crc driver I > noticed something odd, there is a PWM_BASE_CLK define of 6 MHz and > there is a clock-divider which divides this with a value between 1-128, > and there are 256

Re: [Intel-gfx] [PATCH v5 05/16] pwm: lpss: Add pwm_lpss_prepare_enable() helper

2020-07-28 Thread Hans de Goede
Hi, On 7/28/20 8:45 PM, Andy Shevchenko wrote: On Fri, Jul 17, 2020 at 03:37:42PM +0200, Hans de Goede wrote: In the not-enabled -> enabled path pwm_lpss_apply() needs to get a runtime-pm reference; and then on any errors it needs to release it again. This leads to somewhat hard to read code.

[Intel-gfx] [PATCH 1/3] drm/i915: Preallocate stashes for vma page-directories

2020-07-28 Thread Chris Wilson
We need to make the DMA allocations used for page directories to be performed up front so that we can include those allocations in our memory reservation pass. The downside is that we have to assume the worst case, even before we know the final layout, and always allocate enough page directories

[Intel-gfx] [PATCH 3/3] drm/i915/gt: Shrink i915_page_directory's slab bucket

2020-07-28 Thread Chris Wilson
kmalloc uses power-of-two slab buckets for small allocations (up to a few pages). Since i915_page_directory is a page of pointers, plus a couple more, this is rounded up to 8K, and we waste nearly 50% of that allocation. Long terms this leads to poor memory utilisation, bloating the kernel

[Intel-gfx] [PATCH 2/3] drm/i915/gt: Switch to object allocations for page directories

2020-07-28 Thread Chris Wilson
The GEM object is grossly overweight for the practicality of tracking large numbers of individual pages, yet it is currently our only abstraction for tracking DMA allocations. Since those allocations need to be reserved upfront before an operation, and that we need to break away from simple system

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost URL : https://patchwork.freedesktop.org/series/79988/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18254

[Intel-gfx] [PATCH] drm/i915/gt: Delay taking the spinlock for grabbing from the buffer pool

2020-07-28 Thread Chris Wilson
Some very low hanging fruit, but contention on the pool->lock is noticeable between intel_gt_get_buffer_pool() and pool_retire(), with the majority of the hold time due to the locked list iteration. If we make the node itself RCU protected, we can perform the search for an suitable node just under

Re: [Intel-gfx] [PATCH v5 06/16] pwm: lpss: Use pwm_lpss_apply() when restoring state on resume

2020-07-28 Thread Hans de Goede
Hi, On 7/28/20 8:57 PM, Andy Shevchenko wrote: On Fri, Jul 17, 2020 at 03:37:43PM +0200, Hans de Goede wrote: Before this commit a suspend + resume of the LPSS PWM controller would result in the controller being reset to its defaults of output-freq = clock/256, duty-cycle=100%, until someone

Re: [Intel-gfx] [PATCH 3/3] drm/i915/gt: Shrink i915_page_directory's slab bucket

2020-07-28 Thread Matthew Auld
On 28/07/2020 16:31, Chris Wilson wrote: kmalloc uses power-of-two slab buckets for small allocations (up to a few pages). Since i915_page_directory is a page of pointers, plus a couple more, this is rounded up to 8K, and we waste nearly 50% of that allocation. Long terms this leads to poor

Re: [Intel-gfx] [PATCH v5 01/22] drm/i915/dg1: Initialize RAWCLK properly

2020-07-28 Thread Souza, Jose
On Fri, 2020-07-24 at 14:38 -0700, Lucas De Marchi wrote: > From: Matt Roper < > matthew.d.ro...@intel.com > > > > DG1 always uses a 38.4 MHz rawclk rather than the 19.2/24 MHz > frequencies on CNP+. Note that register bits associated with this > frequency confusingly use 37 for the divider

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Remove gen check before calling intel_rps_boost (rev2)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove gen check before calling intel_rps_boost (rev2) URL : https://patchwork.freedesktop.org/series/79791/ State : success == Summary == CI Bug Log - changes from CI_DRM_8807 -> Patchwork_18253

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source URL : https://patchwork.freedesktop.org/series/79991/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each

[Intel-gfx] [PATCH 05/12] drm/i915/gt: Distinguish the virtual breadcrumbs from the irq breadcrumbs

2020-07-28 Thread Chris Wilson
On the virtual engines, we only use the intel_breadcrumbs for tracking signaling of stale breadcrumbs from the irq_workers. They do not have any associated interrupt handling, active requests are passed to a physical engine and associated breadcrumb interrupt handler. This causes issues for us as

[Intel-gfx] [PATCH 03/12] drm/i915/gt: Replace intel_engine_transfer_stale_breadcrumbs

2020-07-28 Thread Chris Wilson
After staring at the breadcrumb enabling/cancellation and coming to the conclusion that the cause of the mysterious stale breadcrumbs must the act of submitting a completed requests, we can then redirect those completed requests onto a dedicated signaled_list at the time of construction and so

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gem: Remove disordered per-file request list for throttling (rev5)

2020-07-28 Thread Patchwork
== Series Details == Series: drm/i915/gem: Remove disordered per-file request list for throttling (rev5) URL : https://patchwork.freedesktop.org/series/79600/ State : success == Summary == CI Bug Log - changes from CI_DRM_8805 -> Patchwork_18250

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/2] drm/i915/gt: Disable preparser around xcs invalidations on tgl

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [CI,1/2] drm/i915/gt: Disable preparser around xcs invalidations on tgl URL : https://patchwork.freedesktop.org/series/79985/ State : success == Summary == CI Bug Log - changes from CI_DRM_8805 -> Patchwork_18251

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost URL : https://patchwork.freedesktop.org/series/79988/ State : warning == Summary == $ dim checkpatch origin/drm-tip e55a35c962bb drm/i915: Remove gen check before calling

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost

2020-07-28 Thread Patchwork
== Series Details == Series: series starting with [01/12] drm/i915: Remove gen check before calling intel_rps_boost URL : https://patchwork.freedesktop.org/series/79988/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.0 Fast mode used, each commit won't

  1   2   >