[Intel-gfx] [CI 03/33] drm/i915: Move intel_gt initialization to a separate file

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin As it will grow in a following patch make a new home for it. v2: * Convert mock_gem_device as well. (Chris) v3: * Rename to intel_gt_init_early and move call site to i915_drv.c. (Chris) v4: * Adjust SPDX tags. * No need to gt/ path when including intel_gt_types.h. (Chr

[Intel-gfx] [CI 09/33] drm/i915: Convert init_unused_rings to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More removal of implicit dev_priv from using old mmio accessors. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 42 ++--- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/drivers/gpu

[Intel-gfx] [CI 02/33] drm/i915: Introduce struct intel_gt as replacement for anonymous i915->gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin We have long been slighlty annoyed by the anonymous i915->gt. Promote it to a separate structure and give it its own header. This is a first step towards cleaning up the separation between i915 and gt. v2: * Adjust SPDX header. Signed-off-by: Tvrtko Ursulin Reviewed-by:

[Intel-gfx] [CI 06/33] drm/i915: Make i915_check_and_clear_faults take intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Continuing the conversion and elimination of implicit dev_priv. Signed-off-by: Tvrtko Ursulin Suggested-by: Rodrigo Vivi Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 +- drivers/gpu/drm/i915/gt/intel_gt.c| 130

[Intel-gfx] [CI 15/33] drm/i915: Convert i915_gem_init_hw to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More removal of implicit dev_priv from using old mmio accessors. Actually the top level function remains but is split into a part which writes to i915 and part which operates on intel_gt in order to initialize the hardware. GuC and engines are the only odd ones out remainin

[Intel-gfx] [CI 01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More removal of implicit dev_priv from using old mmio accessors. Furthermore these calls really operate on ggtt so it logically makes sense if they take it as parameter. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_gtt.c | 4

[Intel-gfx] [CI 08/33] drm/i915: Use intel_uncore_rmw in intel_gt_init_swizzling

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Two easy opportunities to compact the code by using the existing helper. Signed-off-by: Tvrtko Ursulin Suggested-by: Rodrigo Vivi Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff

[Intel-gfx] [CI 19/33] drm/i915: Compartmentalize i915_ggtt_init_hw

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Having made start to better code compartmentalization by introducing struct intel_gt, continue the theme elsewhere in code by making functions take parameters take what logically makes most sense for them instead of the global struct drm_i915_private. Signed-off-by: Tvrtko U

[Intel-gfx] [CI 12/33] drm/i915: Convert intel_mocs_init_l3cc_table to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More removal of implicit dev_priv from using old mmio accessors. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_mocs.c | 52 +--- drivers/gpu/drm/i915/gt/intel_mocs.h | 3 +- drivers/gpu/drm/i915/i915_gem

[Intel-gfx] [CI 10/33] drm/i915: Convert gt workarounds to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More conversion of i915_gem_init_hw to uncore. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_workarounds.c | 10 +- drivers/gpu/drm/i915/gt/intel_workarounds.h | 6 +++--- drivers/gpu/drm/i915/i915_gem.c |

[Intel-gfx] [CI 04/33] drm/i915: Store some backpointers in struct intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin We need an easy way to get back to i915 and uncore. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_gt.c | 7 ++- drivers/gpu/drm/i915/gt/intel_gt.h | 4 +++- drivers/gpu/drm/i915/gt/intel_gt_types.

[Intel-gfx] [CI 23/33] drm/i915: Convert i915_gem_flush_ggtt_writes to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Having introduced struct intel_gt (named the anonymous structure in i915) we can start using it to compartmentalize our code better. It makes more sense logically to have the code internally like this and it will also help with future split between gt and display in i915. v2

[Intel-gfx] [CI 05/33] drm/i915: Move intel_gt_pm_init under intel_gt_init_early

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin And also rename to intel_gt_pm_init_early and make it operate on gt. Signed-off-by: Tvrtko Ursulin Suggested-by: Chris Wilson Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_gt.c | 3 +++ drivers/gpu/drm/i915/gt/intel_gt_pm.c| 6 +++-

[Intel-gfx] [CI 13/33] drm/i915: Convert i915_ppgtt_init_hw to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More removal of implicit dev_priv from using old mmio accessors. v2: * Rebase for uncore_to_i915 removal. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 101

[Intel-gfx] [CI 11/33] drm/i915: Store backpointer to intel_gt in the engine

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin It will come useful in the next patch. v2: * Do mock_engine as well. v3: * And the virtual engine... Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_engine_cs.c| 1 + drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 ++ dr

[Intel-gfx] [CI 14/33] drm/i915: Consolidate some open coded mmio rmw

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Replace some gen6/7 open coded rmw with intel_uncore_rmw. Signed-off-by: Tvrtko Ursulin Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_gem_gtt.c | 41 + 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/i9

[Intel-gfx] [CI 30/33] drm/i915: Save trip via top-level i915 in a few more places

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin For gt related operations it makes more logical sense to stay in the realm of gt instead of dereferencing via driver i915. This patch handles a few of the easy ones with work requiring more refactoring still outstanding. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wil

[Intel-gfx] [CI 07/33] drm/i915: Convert i915_gem_init_swizzling to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Start using the newly introduced struct intel_gt to fuse together correct logical init flow with uncore for more removal of implicit dev_priv in mmio access. v2: * Move code to i915_gem_fence_reg. (Chris) Signed-off-by: Tvrtko Ursulin Reviewed-by: Rodrigo Vivi --- drive

[Intel-gfx] [CI 31/33] drm/i915: Make timelines gt centric

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Our timelines are stored inside intel_gt so we can convert the interface to take exactly that and not i915. At the same time re-order the params to our more typical layout and replace the backpointer to the new containing structure. Signed-off-by: Tvrtko Ursulin Reviewed-b

[Intel-gfx] [CI 28/33] drm/i915: Store ggtt pointer in intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin This will become useful in the following patch. v2: * Assign the pointer through a helper on the top level to work around the layering violation. (Chris) v3: * Handle selftests. v4: * Move call to intel_gt_init_hw into mock_init_ggtt. (Chris) Signed-off-by: Tvrtko U

[Intel-gfx] [CI 17/33] drm/i915: Stop using I915_READ/WRITE in intel_wopcm_init_hw

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin More legacy mmio accessor removal. We pass in intel_gt explicitly allowing code to use new intel_uncore_read/write helpers. Signed-off-by: Tvrtko Ursulin Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_gem.c| 2 +- drivers/gpu/drm/i915/intel_wopcm.c | 31

[Intel-gfx] [CI 27/33] drm/i915: Compartmentalize i915_gem_init_ggtt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Continuing on the theme of better logical organization of our code, make the first step towards making the ggtt code better isolated from wider struct drm_i915_private. v2: * Bring the ickle onion unwind back. (Chris) * Rename to i915_init_ggtt. (Chris) Signed-off-by: Tvr

[Intel-gfx] [CI 16/33] drm/i915: Move intel_engines_resume into common init

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Since this part still operates on i915 and not intel_gt, move it to the common (top-level) function. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 29 ++--- 1 file changed, 22 insertions(+), 7 deletio

[Intel-gfx] [CI 21/33] drm/i915: Store intel_gt backpointer in vm

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin This will come useful in the following patch. v2: * Handle mock ggtt. Signed-off-by: Tvrtko Ursulin Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_gem_gtt.c | 16 ++-- drivers/gpu/drm/i915/i915_gem_gtt.h | 1 + drivers/gpu/drm/i915/self

[Intel-gfx] [CI 32/33] drm/i915: Rename i915_timeline to intel_timeline and move under gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Move all timeline code under gt and rename to intel_gt prefix. Signed-off-by: Tvrtko Ursulin Suggested-by: Chris Wilson Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 2 +- drivers/gpu/drm/i915/Makefile.header-test | 1 - drivers/gp

[Intel-gfx] [CI 29/33] drm/i915: Compartmentalize ring buffer creation

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Continuing on the theme of compartmentalizing the code better to make future split between gt and display in global i915 clearer. v2: * Pass in ggtt instead of gt. (Chris) Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_ringbuff

[Intel-gfx] [CI 25/33] drm/i915: Compartmentalize timeline_init/park/fini

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Continuing on the theme of better logical organization of our code, make the first step towards making the timeline code better isolated from wider struct drm_i915_private. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_timeline.c |

[Intel-gfx] [CI 20/33] drm/i915: Make ggtt invalidation work on ggtt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin It is more logical for ggtt invalidation to take ggtt as input parameter. Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_gtt.c | 51 ++--- drivers/gpu/drm/i915/i915_gem_gtt.h | 2 +- 2 files changed, 26 i

[Intel-gfx] [CI 18/33] drm/i915: Compartmentalize i915_ggtt_probe_hw

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Having made start to better code compartmentalization by introducing struct intel_gt, continue the theme elsewhere in code by making functions take parameters take what logically makes most sense for them instead of the global struct drm_i915_private. Signed-off-by: Tvrtko U

[Intel-gfx] [CI 24/33] drm/i915: Move i915_gem_chipset_flush to intel_gt

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin This aligns better with the rest of restructuring. v2: * Move call out of line. (Chris) Signed-off-by: Tvrtko Ursulin Suggested-by: Chris Wilson Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 5 +++-- drivers/gpu/drm/i915/gem/i915_gem_

[Intel-gfx] [CI 26/33] drm/i915: Compartmentalize i915_ggtt_cleanup_hw

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Continuing on the theme of better logical organization of our code, make the first step towards making the ggtt code better isolated from wider struct drm_i915_private. v2: * Cleanup of mm.wc_stash does not need struct_mutex. (Chris) Signed-off-by: Tvrtko Ursulin Reviewed

[Intel-gfx] [CI 22/33] drm/i915: Compartmentalize i915_gem_suspend/restore_gtt_mappings

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Having made start to better code compartmentalization by introducing struct intel_gt, continue the theme elsewhere in code by making functions take parameters take what logically makes most sense for them instead of the global struct drm_i915_private. Signed-off-by: Tvrtko U

[Intel-gfx] [CI 33/33] drm/i915: Eliminate dual personality of i915_scratch_offset

2019-06-21 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Scratch vma lives under gt but the API used to work on i915. Make this consistent by renaming the function to intel_gt_scratch_offset and make it take struct intel_gt. v2: * Move to intel_gt. (Chris) Signed-off-by: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gp

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v2,1/3] drm/i915/icl: Add new supported CD clocks

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [v2,1/3] drm/i915/icl: Add new supported CD clocks URL : https://patchwork.freedesktop.org/series/62490/ State : failure == Summary == CI Bug Log - changes from CI_DRM_6318_full -> Patchwork_13378_full ==

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore URL : https://patchwork.freedesktop.org/series/62496/ State : warning == Summary == $ dim checkpatch origin/drm-tip b8c60e2d0b66 drm/i915: Convert intel_vgt_(de)balloon to uncore 4a3

[Intel-gfx] [PATCH] drm/i915/execlists: Keep context alive until after we kick

2019-06-21 Thread Chris Wilson
The call to kick_siblings() dereferences the rq->context, so we should not drop our local reference until afterwards! Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy") Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_lrc.c | 6 +++---

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore URL : https://patchwork.freedesktop.org/series/62496/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Convert intel_vgt_(de)balloon

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore URL : https://patchwork.freedesktop.org/series/62496/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320 -> Patchwork_13381 =

Re: [Intel-gfx] [PATCH] drm/i915/execlists: Keep context alive until after we kick

2019-06-21 Thread Tvrtko Ursulin
On 21/06/2019 08:33, Chris Wilson wrote: The call to kick_siblings() dereferences the rq->context, so we should not drop our local reference until afterwards! Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy") Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Tvrtko Ursulin --- dr

[Intel-gfx] [PATCH v2] drm/i915/execlists: Keep virtual context alive until after we kick

2019-06-21 Thread Chris Wilson
The call to kick_siblings() dereferences the rq->context, so we should not drop our local reference until afterwards! v2: Stick to setting ce.inflight=NULL before kicking as this is what the other threads will check to see if the context is ready for takeover. Fixes: 22b7a426bbe1 ("drm/i915/execl

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/execlists: Keep context alive until after we kick

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/execlists: Keep context alive until after we kick URL : https://patchwork.freedesktop.org/series/62503/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320 -> Patchwork_13382 Summary ---

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/execlists: Keep context alive until after we kick (rev2)

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/execlists: Keep context alive until after we kick (rev2) URL : https://patchwork.freedesktop.org/series/62503/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320 -> Patchwork_13383 Summ

[Intel-gfx] ✓ Fi.CI.IGT: success for EHL port programming

2019-06-21 Thread Patchwork
== Series Details == Series: EHL port programming URL : https://patchwork.freedesktop.org/series/62492/ State : success == Summary == CI Bug Log - changes from CI_DRM_6319_full -> Patchwork_13379_full Summary --- **SUCCESS** No re

Re: [Intel-gfx] [PATCH 3/5] drm/panel: Add attach/detach callbacks

2019-06-21 Thread Thierry Reding
On Tue, Jun 11, 2019 at 05:25:47PM -0700, dbasehore . wrote: > On Tue, Jun 11, 2019 at 1:57 AM Daniel Vetter wrote: > > > > On Mon, Jun 10, 2019 at 09:03:48PM -0700, Derek Basehore wrote: > > > This adds the attach/detach callbacks. These are for setting up > > > internal state for the connector/p

Re: [Intel-gfx] [PATCH 1/6] dma-buf: add dynamic DMA-buf handling v10

2019-06-21 Thread Daniel Vetter
On Tue, Jun 18, 2019 at 01:54:50PM +0200, Christian König wrote: > On the exporter side we add optional explicit pinning callbacks. If those > callbacks are implemented the framework no longer caches sg tables and the > map/unmap callbacks are always called with the lock of the reservation object >

Re: [Intel-gfx] [PATCH 1/6] dma-buf: add dynamic DMA-buf handling v10

2019-06-21 Thread Christian König
Am 21.06.19 um 11:20 schrieb Daniel Vetter: On Tue, Jun 18, 2019 at 01:54:50PM +0200, Christian König wrote: On the exporter side we add optional explicit pinning callbacks. If those callbacks are implemented the framework no longer caches sg tables and the map/unmap callbacks are always called

Re: [Intel-gfx] [PATCH 1/6] dma-buf: add dynamic DMA-buf handling v10

2019-06-21 Thread Daniel Vetter
On Fri, Jun 21, 2019 at 11:55 AM Christian König wrote: > > Am 21.06.19 um 11:20 schrieb Daniel Vetter: > > On Tue, Jun 18, 2019 at 01:54:50PM +0200, Christian König wrote: > >> On the exporter side we add optional explicit pinning callbacks. If those > >> callbacks are implemented the framework n

Re: [Intel-gfx] [PATCH 09/59] drm/prime: Align gem_prime_export with obj_funcs.export

2019-06-21 Thread Daniel Vetter
On Fri, Jun 14, 2019 at 10:35:25PM +0200, Daniel Vetter wrote: > The idea is that gem_prime_export is deprecated in favor of > obj_funcs.export. That's much easier to do if both have matching > function signatures. > > Signed-off-by: Daniel Vetter > Cc: Russell King > Cc: Maarten Lankhorst > Cc

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Refine eDP aux backlight enable/disable sequence

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915: Refine eDP aux backlight enable/disable sequence URL : https://patchwork.freedesktop.org/series/62494/ State : success == Summary == CI Bug Log - changes from CI_DRM_6319_full -> Patchwork_13380_full S

Re: [Intel-gfx] [PATCH 1/6] dma-buf: add dynamic DMA-buf handling v10

2019-06-21 Thread Christian König
Am 21.06.19 um 12:32 schrieb Daniel Vetter: On Fri, Jun 21, 2019 at 11:55 AM Christian König wrote: Am 21.06.19 um 11:20 schrieb Daniel Vetter: On Tue, Jun 18, 2019 at 01:54:50PM +0200, Christian König wrote: [SNIP] Imo the below semantics would be much cleaner: - invalidate may add new fence

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore URL : https://patchwork.freedesktop.org/series/62496/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320_full -> Patchwork_13381_full ===

Re: [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore

2019-06-21 Thread Tvrtko Ursulin
On 21/06/2019 08:49, Patchwork wrote: == Series Details == Series: series starting with [CI,01/33] drm/i915: Convert intel_vgt_(de)balloon to uncore URL : https://patchwork.freedesktop.org/series/62496/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320 -> Patchwork_13381

[Intel-gfx] [PATCH 1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Chris Wilson
i915_gem_wait_for_idle() and i915_retire_requests() introduce a dependency on the timeline->mutex. This is problematic as we want to later perform allocations underneath i915_active.mutex, forming a link between the shrinker, the timeline and active mutexes. Nip this cycle in the bud by removing th

[Intel-gfx] [PATCH 2/5] drm/i915: Track i915_active using debugobjects

2019-06-21 Thread Chris Wilson
Provide runtime asserts and tracking of i915_active via debugobjects. For example, this should allow us to check that the i915_active is only active when we expect it to be and is never freed too early. One consequence is that, for simplicity, we no longer allow i915_active to be on-stack which on

[Intel-gfx] [PATCH 3/5] drm/i915: Throw away the active object retirement complexity

2019-06-21 Thread Chris Wilson
Remove the accumulated optimisations that we have for i915_vma_retire and reduce it to the bare essential of tracking the active object reference. This allows us to only use atomic operations, and so will be able to avoid the struct_mutex requirement. The principal loss here is the shrinker MRU bu

[Intel-gfx] [PATCH 5/5] drm/i915: Local debug BUG_ON for intel_wakeref

2019-06-21 Thread Chris Wilson
Avoid pulling in i915_gem.h just so that we can use a conditional BUG_ON for debugging. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_wakeref.c | 9 + drivers/gpu/drm/i915/intel_wakeref.h | 7 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gp

[Intel-gfx] [PATCH 4/5] drm/i915: Provide an i915_active.acquire callback

2019-06-21 Thread Chris Wilson
If we introduce a callback for i915_active that is only called the first time we use the i915_active and is symmetrically paired with the i915_active.retire callback, we can replace the open-coded and non-atomic implementations -- which will be very fragile (i.e. broken) upon removing the struct_mu

[Intel-gfx] [PATCH 1/2] drm/i915/gt: Rename i915_gt_timelines

2019-06-21 Thread Chris Wilson
Since the anonymous i915_gt became struct intel_gt and encloses struct i915_gt_timelines, rename i915_gt_timelines to intel_gt_timelines to match its parentage. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 +- drivers/gpu/drm/i915/gt/intel_tim

[Intel-gfx] [PATCH 2/2] drm/i915/gt: Fixup kerneldoc parameters

2019-06-21 Thread Chris Wilson
drivers/gpu/drm/i915/gt/intel_mocs.c:513: warning: Function parameter or member 'gt' not described in 'intel_mocs_init_l3cc_table' drivers/gpu/drm/i915/gt/intel_mocs.c:513: warning: Excess function parameter 'dev_priv' description in 'intel_mocs_init_l3cc_table' intel_vgt_balloon/deballoon, i9

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/execlists: Keep context alive until after we kick (rev2)

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/execlists: Keep context alive until after we kick (rev2) URL : https://patchwork.freedesktop.org/series/62503/ State : success == Summary == CI Bug Log - changes from CI_DRM_6320_full -> Patchwork_13383_full

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths URL : https://patchwork.freedesktop.org/series/62526/ State : warning == Summary == $ dim checkpatch origin/drm-tip 2576c15160f4 drm/i915: Remove waiting & retiring from shrinker pa

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths URL : https://patchwork.freedesktop.org/series/62526/ State : success == Summary == CI Bug Log - changes from CI_DRM_6323 -> Patchwork_13384

[Intel-gfx] [PATCH] drm/i915: Prevent dereference of engine before NULL check in error capture

2019-06-21 Thread Chris Wilson
drivers/gpu/drm/i915//i915_gpu_error.c:1418 gem_record_rings() warn: variable dereferenced before check 'engine' (see line 1413) Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_gpu_error.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/driver

[Intel-gfx] XDC 2019: Less than three weeks to go to submit your talks, workshops or demos!

2019-06-21 Thread Mark Filion
Hello! Less than three weeks to go to submit your talks, workshops or demos for this year's X.Org Developer Conference, which will be taking place in Montréal, Canada on October 2-4, 2019! The 2019 X.Org Developers Conference is the annual technical meeting for X Window System and Free Desktop de

[Intel-gfx] [PATCH 4/5] drm/i915/gen11: Start distinguishing 'phy' from 'port'

2019-06-21 Thread Matt Roper
Our past DDI-based Intel platforms have had a fixed DDI<->PHY mapping. Because of this, both the bspec documentation and our i915 code has used the term "port" when talking about either DDI's or PHY's; it was always easy to tell what terms like "Port A" were referring to from the context. Unfortun

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Rename i915_gt_timelines

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gt: Rename i915_gt_timelines URL : https://patchwork.freedesktop.org/series/62527/ State : success == Summary == CI Bug Log - changes from CI_DRM_6323 -> Patchwork_13385 Summa

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Prevent dereference of engine before NULL check in error capture

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915: Prevent dereference of engine before NULL check in error capture URL : https://patchwork.freedesktop.org/series/62528/ State : warning == Summary == $ dim checkpatch origin/drm-tip 7cc507b17f06 drm/i915: Prevent dereference of engine before NULL check in

Re: [Intel-gfx] [PATCH] drm/i915: Prevent dereference of engine before NULL check in error capture

2019-06-21 Thread Tvrtko Ursulin
On 21/06/2019 14:52, Chris Wilson wrote: drivers/gpu/drm/i915//i915_gpu_error.c:1418 gem_record_rings() warn: variable dereferenced before check 'engine' (see line 1413) Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_gpu_error.c | 3 +-- 1 file changed, 1 ins

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for EHL port programming (rev2)

2019-06-21 Thread Patchwork
== Series Details == Series: EHL port programming (rev2) URL : https://patchwork.freedesktop.org/series/62492/ State : warning == Summary == $ dim checkpatch origin/drm-tip 5685d98b6706 drm/i915/icl: Drop port parameter to icl_get_combo_buf_trans() -:10: WARNING:COMMIT_LOG_LONG_LINE: Possible

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Prevent dereference of engine before NULL check in error capture

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915: Prevent dereference of engine before NULL check in error capture URL : https://patchwork.freedesktop.org/series/62528/ State : success == Summary == CI Bug Log - changes from CI_DRM_6323 -> Patchwork_13386

[Intel-gfx] ✓ Fi.CI.BAT: success for EHL port programming (rev2)

2019-06-21 Thread Patchwork
== Series Details == Series: EHL port programming (rev2) URL : https://patchwork.freedesktop.org/series/62492/ State : success == Summary == CI Bug Log - changes from CI_DRM_6323 -> Patchwork_13387 Summary --- **SUCCESS** No regre

Re: [Intel-gfx] [PATCH 1/2] drm/i915/gt: Rename i915_gt_timelines

2019-06-21 Thread Tvrtko Ursulin
On 21/06/2019 14:16, Chris Wilson wrote: Since the anonymous i915_gt became struct intel_gt and encloses struct i915_gt_timelines, rename i915_gt_timelines to intel_gt_timelines to match its parentage. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_gt_types

[Intel-gfx] [PATCH] drm/i915/execlists: Disable preemption under GVT

2019-06-21 Thread Chris Wilson
Preempt-to-busy uses a GPU semaphore to enforce an idle-barrier across preemption, but mediated gvt does not fully support semaphores. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_lrc.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i9

Re: [Intel-gfx] [PATCH 2/2] drm/i915/gt: Fixup kerneldoc parameters

2019-06-21 Thread Tvrtko Ursulin
On 21/06/2019 14:16, Chris Wilson wrote: drivers/gpu/drm/i915/gt/intel_mocs.c:513: warning: Function parameter or member 'gt' not described in 'intel_mocs_init_l3cc_table' drivers/gpu/drm/i915/gt/intel_mocs.c:513: warning: Excess function parameter 'dev_priv' description in 'intel_mocs_ini

Re: [Intel-gfx] [PATCH 1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Matthew Auld
On 21/06/2019 14:05, Chris Wilson wrote: i915_gem_wait_for_idle() and i915_retire_requests() introduce a dependency on the timeline->mutex. This is problematic as we want to later perform allocations underneath i915_active.mutex, forming a link between the shrinker, the timeline and active mutexe

Re: [Intel-gfx] [PATCH 1/2] drm/i915/gt: Rename i915_gt_timelines

2019-06-21 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-06-21 16:00:15) > > On 21/06/2019 14:16, Chris Wilson wrote: > > diff --git a/drivers/gpu/drm/i915/i915_gem.c > > b/drivers/gpu/drm/i915/i915_gem.c > > index 8dff3b8f12c3..e59be5c05e1b 100644 > > --- a/drivers/gpu/drm/i915/i915_gem.c > > +++ b/drivers/gpu/drm/i915/i91

[Intel-gfx] [PATCH] drm/i915/ehl: Add one additional PCH ID to MCC

2019-06-21 Thread Matt Roper
There's one additional ID that we should treat as Mule Creek Canyon. Cc: José Roberto de Souza Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/i915_drv.c | 1 + drivers/gpu/drm/i915/i915_drv.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu

Re: [Intel-gfx] [PATCH 2/5] drm/i915: Track i915_active using debugobjects

2019-06-21 Thread Matthew Auld
On 21/06/2019 14:05, Chris Wilson wrote: Provide runtime asserts and tracking of i915_active via debugobjects. For example, this should allow us to check that the i915_active is only active when we expect it to be and is never freed too early. One consequence is that, for simplicity, we no longe

Re: [Intel-gfx] [PATCH 2/5] drm/i915: Track i915_active using debugobjects

2019-06-21 Thread Chris Wilson
Quoting Matthew Auld (2019-06-21 16:25:05) > On 21/06/2019 14:05, Chris Wilson wrote: > > Provide runtime asserts and tracking of i915_active via debugobjects. > > For example, this should allow us to check that the i915_active is only > > active when we expect it to be and is never freed too early

Re: [Intel-gfx] [PATCH 5/5] drm/i915: Local debug BUG_ON for intel_wakeref

2019-06-21 Thread Matthew Auld
On 21/06/2019 14:05, Chris Wilson wrote: Avoid pulling in i915_gem.h just so that we can use a conditional BUG_ON for debugging. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https:

Re: [Intel-gfx] [PATCH v2 1/3] drm/i915/icl: Add new supported CD clocks

2019-06-21 Thread Matt Roper
On Thu, Jun 20, 2019 at 05:45:54PM -0700, José Roberto de Souza wrote: > Now 180, 172.8 and 192 MHz are supported. > > 180 and 172.8 MHz CD clocks will only be used when audio is not > enabled as state by BSpec and implemented in > intel_crtc_compute_min_cdclk(), CD clock must be at least twice of

Re: [Intel-gfx] [PATCH v2 2/3] drm/i915/ehl: Remove unsupported cd clocks

2019-06-21 Thread Matt Roper
On Thu, Jun 20, 2019 at 05:45:55PM -0700, José Roberto de Souza wrote: > EHL do not support 648 and 652.8 MHz. > > v2: > - Limiting maximum CD clock by max_cdclk_freq instead of remove it > from icl_calc_cdclk()(Ville and Jani) > > BSpec: 20598 > Cc: Clint Taylor > Cc: Matt Roper > Cc: Ville Sy

Re: [Intel-gfx] [PATCH v2 3/3] drm/i915/ehl: Add voltage level requirement table

2019-06-21 Thread Matt Roper
On Thu, Jun 20, 2019 at 05:45:56PM -0700, José Roberto de Souza wrote: > EHL has it own voltage level requirement depending on cd clock. > > BSpec: 21809 > Cc: Clint Taylor > Cc: Matt Roper > Cc: Ville Syrjälä > Signed-off-by: José Roberto de Souza Matches bspec. Reviewed-by: Matt Roper >

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

2019-06-21 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

Re: [Intel-gfx] [PATCH 1/6] dma-buf: add dynamic DMA-buf handling v10

2019-06-21 Thread Daniel Vetter
On Fri, Jun 21, 2019 at 02:06:54PM +0200, Christian König wrote: > Am 21.06.19 um 12:32 schrieb Daniel Vetter: > > On Fri, Jun 21, 2019 at 11:55 AM Christian König > > wrote: > > > Am 21.06.19 um 11:20 schrieb Daniel Vetter: > > > > On Tue, Jun 18, 2019 at 01:54:50PM +0200, Christian König wrote:

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/execlists: Disable preemption under GVT

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/execlists: Disable preemption under GVT URL : https://patchwork.freedesktop.org/series/62533/ State : success == Summary == CI Bug Log - changes from CI_DRM_6324 -> Patchwork_13388 Summary --- **

Re: [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/execlists: Disable preemption under GVT

2019-06-21 Thread Chris Wilson
Quoting Patchwork (2019-06-21 17:42:58) > == Series Details == > > Series: drm/i915/execlists: Disable preemption under GVT > URL : https://patchwork.freedesktop.org/series/62533/ > State : success > > == Summary == > > CI Bug Log - changes from CI_DRM_6324 -> Patchwork_13388 > ===

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ehl: Add one additional PCH ID to MCC

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/ehl: Add one additional PCH ID to MCC URL : https://patchwork.freedesktop.org/series/62534/ State : success == Summary == CI Bug Log - changes from CI_DRM_6324 -> Patchwork_13389 Summary --- **SU

Re: [Intel-gfx] [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl

2019-06-21 Thread Daniel Vetter
On Fri, Jun 07, 2019 at 11:24:01AM +0100, Emil Velikov wrote: > On Wed, 5 Jun 2019 at 13:08, Daniel Vetter wrote: > > > > This completes Emil's series of removing DRM_UNLOCKED from modern > > drivers. It's entirely cargo-culted since we ignore it on > > non-DRIVER_LEGACY drivers since: > > > > com

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

2019-06-21 Thread Patchwork
== Series Details == Series: drm/i915/execlists: Always clear ring_pause if we do not submit URL : https://patchwork.freedesktop.org/series/62540/ State : success == Summary == CI Bug Log - changes from CI_DRM_6324 -> Patchwork_13390 Summar

[Intel-gfx] [PATCH v2 1/2] drm/i915/guc: reorder enable/disable communication steps

2019-06-21 Thread Daniele Ceraolo Spurio
Make sure we always have CT buffers enabled when the interrupts are enabled, so we can always handle interrupts from GuC. Also move the setting of the guc->send and guc->handler functions to the GuC communication control functions for consistency. The reorder also fixes the onion unwinding of inte

[Intel-gfx] [PATCH v2 2/2] drm/i915/guc: handle GuC messages received with CTB disabled

2019-06-21 Thread Daniele Ceraolo Spurio
There is a very small chance of triggering a log flush event when enabling or disabling CT buffers. Events triggered while CT buffers are disabled are logged in the SCRATCH_15 register using the same bits used in the CT message payload. Since our communication channel with GuC is turned off, we can

Re: [Intel-gfx] [PATCH v2 2/2] drm/i915/guc: handle GuC messages received with CTB disabled

2019-06-21 Thread Chris Wilson
Quoting Daniele Ceraolo Spurio (2019-06-21 19:21:23) > There is a very small chance of triggering a log flush event when > enabling or disabling CT buffers. Events triggered while CT buffers > are disabled are logged in the SCRATCH_15 register using the same bits > used in the CT message payload. S

[Intel-gfx] [CI 1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Chris Wilson
i915_gem_wait_for_idle() and i915_retire_requests() introduce a dependency on the timeline->mutex. This is problematic as we want to later perform allocations underneath i915_active.mutex, forming a link between the shrinker, the timeline and active mutexes. Nip this cycle in the bud by removing th

[Intel-gfx] [CI 2/5] drm/i915: Track i915_active using debugobjects

2019-06-21 Thread Chris Wilson
Provide runtime asserts and tracking of i915_active via debugobjects. For example, this should allow us to check that the i915_active is only active when we expect it to be and is never freed too early. One consequence is that, for simplicity, we no longer allow i915_active to be on-stack which on

[Intel-gfx] [CI 3/5] drm/i915: Throw away the active object retirement complexity

2019-06-21 Thread Chris Wilson
Remove the accumulated optimisations that we have for i915_vma_retire and reduce it to the bare essential of tracking the active object reference. This allows us to only use atomic operations, and so will be able to avoid the struct_mutex requirement. The principal loss here is the shrinker MRU bu

[Intel-gfx] [CI 5/5] drm/i915: Local debug BUG_ON for intel_wakeref

2019-06-21 Thread Chris Wilson
Avoid pulling in i915_gem.h just so that we can use a conditional BUG_ON for debugging. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/intel_wakeref.c | 9 + drivers/gpu/drm/i915/intel_wakeref.h | 7 +++ 2 files changed, 12 insertions(+), 4 deletions(

[Intel-gfx] [CI 4/5] drm/i915: Provide an i915_active.acquire callback

2019-06-21 Thread Chris Wilson
If we introduce a callback for i915_active that is only called the first time we use the i915_active and is symmetrically paired with the i915_active.retire callback, we can replace the open-coded and non-atomic implementations -- which will be very fragile (i.e. broken) upon removing the struct_mu

Re: [Intel-gfx] [PATCH v2 1/4] drm/i915/icl: Assign Master slave crtc links for Transcoder Port Sync

2019-06-21 Thread Manasi Navare
As per the feedback, I tested the code with saving master_transcoder instead of master_crtc and in the HW state readout I loop through all transcoders to fill the trans_port_sync_slaves bitmask. This is working great and i dont see any pipe state mismatches now. Thanks for all the feedback and I

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths

2019-06-21 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915: Remove waiting & retiring from shrinker paths URL : https://patchwork.freedesktop.org/series/62526/ State : success == Summary == CI Bug Log - changes from CI_DRM_6323_full -> Patchwork_13384_full ==

  1   2   >