Re: [Intel-gfx] [PATCH v3 3/4] drm/connector: Split out orientation quirk detection

2019-06-23 Thread Hans de Goede
Hi, On 22-06-19 05:41, Derek Basehore wrote: Not every platform needs quirk detection for panel orientation, so split the drm_connector_init_panel_orientation_property into two functions. One for platforms without the need for quirks, and the other for platforms that need quirks. Signed-off-by:

Re: [Intel-gfx] linux-next: manual merge of the drm-intel tree with the pci tree

2019-06-23 Thread Stephen Rothwell
Hi all, On Mon, 17 Jun 2019 13:20:27 +1000 Stephen Rothwell wrote: > > Today's linux-next merge of the drm-intel tree got a conflict in: > > drivers/gpu/drm/i915/i915_drv.h > > between commit: > > 151f4e2bdc7a ("docs: power: convert docs to ReST and rename to *.rst") > > from the pci tre

[Intel-gfx] [PATCH 16/19] drm/i915/gt: Always call kref_init for the timeline

2019-06-23 Thread Chris Wilson
Always initialise the refcount, even for the embedded timelines inside mock devices. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_timeline.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/

[Intel-gfx] [PATCH 08/19] drm/i915: Add a wakeref getter for iff the wakeref is already active

2019-06-23 Thread Chris Wilson
For use in the next patch, we want to acquire a wakeref without having to wake the device up -- i.e. only acquire the engine wakeref if the engine is already active. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_engine_pm.h | 7 ++- drivers/gpu/drm/i915/intel_wakeref.h

[Intel-gfx] [PATCH 15/19] drm/i915/selftests: Hold ref on request across waits

2019-06-23 Thread Chris Wilson
As we wait upon the request, we should be sure to hold our own reference for our checks. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/i915_request.c | 21 +++ 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_requ

[Intel-gfx] [PATCH 09/19] drm/i915: Only recover active engines

2019-06-23 Thread Chris Wilson
If we issue a reset to a currently idle engine, leave it idle afterwards. This is useful to excise a linkage between reset and the shrinker. When waking the engine, we need to pin the default context image which we use for overwriting a guilty context -- if the engine is idle we do not need this pi

[Intel-gfx] [PATCH 01/19] drm/i915/execlists: Always clear ring_pause if we do not submit

2019-06-23 Thread Chris Wilson
In the unlikely case (thank you CI!), we may find ourselves wanting to issue a preemption but having no runnable requests left. In this case, we set the semaphore before computing the preemption and so must unset it before forgetting (or else we leave the machine busywaiting until the next request

[Intel-gfx] [PATCH 18/19] drm/i915: Protect request retirement with timeline->mutex

2019-06-23 Thread Chris Wilson
Forgo the struct_mutex requirement for request retirement as we have been transitioning over to only using the timeline->mutex for controlling the lifetime of a request on that timeline. Signed-off-by: Chris Wilson --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c| 192 ++ drive

[Intel-gfx] [PATCH 12/19] drm/i915/gt: Track timeline activeness in enter/exit

2019-06-23 Thread Chris Wilson
Lift moving the timeline to/from the active_list on enter/exit in order to shorten the active tracking span in comparison to the existing pin/unpin. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem_pm.c| 1 - drivers/gpu/drm/i915/gt/intel_context.c | 2 + drivers

[Intel-gfx] [PATCH 03/19] drm/i915/gt: Pass intel_gt to pm routines

2019-06-23 Thread Chris Wilson
Switch from passing the i915 container to newly named struct intel_gt. Signed-off-by: Chris Wilson --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c| 4 ++-- drivers/gpu/drm/i915/gem/i915_gem_pm.c| 2 +- .../drm/i915/gem/selftests/i915_gem_mman.c| 4 ++-- drivers/gpu/drm/i915/gt/

[Intel-gfx] [PATCH 19/19] drm/i915: Replace struct_mutex for batch pool serialisation

2019-06-23 Thread Chris Wilson
Switch to tracking activity via i915_active on individual nodes, only keeping a list of retired objects in the cache, and reaping the cache when the engine itself idles. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 2 +- .../gpu/drm/i915/gem/i915_gem_execbuff

[Intel-gfx] [PATCH 06/19] drm/i915/selftests: Fixup atomic reset checking

2019-06-23 Thread Chris Wilson
We require that the intel_gpu_reset() was atomic, not the whole of i915_reset() which is guarded by a mutex. However, we do require that i915_reset_engine() is atomic for use from within the submission tasklet. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/selftest_reset.c | 65 +++

[Intel-gfx] [PATCH 02/19] drm/i915/execlists: Convert recursive defer_request() into an iteractive

2019-06-23 Thread Chris Wilson
As this engine owns the lock around rq->sched.link (for those waiters submitted to this engine), we can use that link as an element in a local list. We can thus replace the recursive algorithm with an iterative walk over the ordered list of waiters. Signed-off-by: Chris Wilson --- drivers/gpu/dr

[Intel-gfx] [PATCH 10/19] drm/i915: Lift intel_engines_resume() to callers

2019-06-23 Thread Chris Wilson
Since the reset path wants to recover the engines itself, it only wants to reinitialise the hardware using i915_gem_init_hw(). Pull the call to intel_engines_resume() to the module init/resume path so we can avoid it during reset. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem

[Intel-gfx] [PATCH 05/19] drm/i915/selftest: Drop manual request wakerefs around hangcheck

2019-06-23 Thread Chris Wilson
We no longer need to manually acquire a wakeref for request emission, so drop the redundant wakerefs, letting us test our wakeref handling more precisely. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 7 --- drivers/gpu/drm/i915/gt/selftest_reset.c | 4 ++

[Intel-gfx] [PATCH 14/19] drm/i915/gt: Guard timeline pinning with its own mutex

2019-06-23 Thread Chris Wilson
In preparation for removing struct_mutex from around context retirement, we need to make timeline pinning safe. Since multiple engines/contexts can share a single timeline, it needs to be protected by a mutex. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_timeline.c | 27 +++

[Intel-gfx] [PATCH 17/19] drm/i915/gt: Drop stale commentary for timeline density

2019-06-23 Thread Chris Wilson
We no longer allocate a continguous set of timeline ids for all engines upon creation, so we no longer should assume that the timelines are density allocated within a context. Hopefully, still dense enough for us to take advantage of the compressed radix tree. Signed-off-by: Chris Wilson --- dri

[Intel-gfx] [PATCH 04/19] drm/i915/selftests: Serialise nop reset with retirement

2019-06-23 Thread Chris Wilson
In order for the reset count to be accurate across our selftest, we need to prevent the background retire worker from modifying our expected state. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --gi

[Intel-gfx] [PATCH 07/19] drm/i915: Rename intel_wakeref_[is]_active

2019-06-23 Thread Chris Wilson
Our general rule is to use is/has as the verb for boolean functions, rename intel_wakeref_active to intel_wakeref_is_active so the question being asked is clear. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem_pm.c| 3 ++- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 2 +- d

[Intel-gfx] [PATCH 13/19] drm/i915/gt: Convert timeline tracking to spinlock

2019-06-23 Thread Chris Wilson
Convert the list manipulation of active to use spinlocks so that we can perform the updates from underneath a quick interrupt callback. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 +- drivers/gpu/drm/i915/gt/intel_reset.c| 13 ++--- drivers/gpu/drm/i

[Intel-gfx] [PATCH 11/19] drm/i915: Teach execbuffer to take the engine wakeref not GT

2019-06-23 Thread Chris Wilson
In the next patch, we would like to couple into the engine wakeref to free the batch pool on idling. The caveat here is that we therefore want to track the engine wakeref more precisely and to hold it instead of the broader GT wakeref as we process the ioctl. Signed-off-by: Chris Wilson --- .../

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit

2019-06-23 Thread Patchwork
== Series Details == Series: series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit URL : https://patchwork.freedesktop.org/series/62612/ State : warning == Summary == $ dim checkpatch origin/drm-tip 64d75313cafc drm/i915/execlists: Always clear ring_paus

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit

2019-06-23 Thread Patchwork
== Series Details == Series: series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit URL : https://patchwork.freedesktop.org/series/62612/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/execlists: Always c

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit

2019-06-23 Thread Patchwork
== Series Details == Series: series starting with [01/19] drm/i915/execlists: Always clear ring_pause if we do not submit URL : https://patchwork.freedesktop.org/series/62612/ State : success == Summary == CI Bug Log - changes from CI_DRM_6331 -> Patchwork_13401 ==