[Intel-gfx] [PATCH 02/15] drm/i915/guc: Create common entry points for log register/unregister

2018-02-27 Thread Michał Winiarski
We have many functions responsible for allocating different parts of runtime called from multiple places. Let's stick with keeping everything in guc_log_register instead. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Michal Wajdeczko Cc: Sagar Arun K

[Intel-gfx] [PATCH 01/15] drm/i915/guc: Tidy guc_log_control

2018-02-27 Thread Michał Winiarski
We plan to decouple log runtime (mapping + relay) from verbosity control. Let's tidy the code now to reduce the churn in the following patches. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Michal Wajdeczko Cc: Sagar Arun Kamble --- drivers/gpu/drm

[Intel-gfx] [PATCH v2 1/2] drm/i915/guc: Fill preempt context once at init time

2018-02-26 Thread Michał Winiarski
let). v2: Assert that context save restore is inhibited, don't assert on ring alignment. (Chris) Fixes: 517aaffe0c1b ("drm/i915/execlists: Inhibit context save/restore for the fake preempt context") Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spur

[Intel-gfx] [PATCH 2/2] HAX: Enable GuC submission for CI

2018-02-26 Thread Michał Winiarski
--- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/intel_uc.c| 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h index 430f5f9d0ff4..3deae1e22974 100644 --- a/drivers/gpu/drm/i915/i915_p

[Intel-gfx] [PATCH 2/2] HAX: Enable GuC submission for CI

2018-02-26 Thread Michał Winiarski
--- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/intel_uc.c| 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h index 430f5f9d0ff4..3deae1e22974 100644 --- a/drivers/gpu/drm/i915/i915_p

[Intel-gfx] [PATCH 1/2] drm/i915/guc: Fill preempt context once at init time

2018-02-26 Thread Michał Winiarski
tasklet). Fixes: 517aaffe0c1b ("drm/i915/execlists: Inhibit context save/restore for the fake preempt context") Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Michel Thierry Cc: Mika Kuoppala Cc: Tvrtko Ursulin --- drivers/

Re: [Intel-gfx] [PATCH 1/2] drm/i915/preemption: Allow preemption between submission ports

2018-02-23 Thread Michał Winiarski
mption event. To do so we must always check inside > execlists_dequeue() whether there is a priority inversion between the > ports themselves as well as the head of the priority sorted queue, and we > cannot just skip dequeuing if the queue is empty. > > Signed-off-by: Chris Wil

Re: [Intel-gfx] [PATCH] drm/i915: Rename drm_i915_gem_request to i915_request

2018-02-21 Thread Michał Winiarski
x27; is still much preferred for its clarity. > > Signed-off-by: Chris Wilson > Cc: Joonas Lahtinen > Cc: Mika Kuoppala > Cc: Tvrtko Ursulin > Cc: Michał Winiarski > Cc: Michal Wajdeczko Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/Makefile

Re: [Intel-gfx] [PATCH] drm/i915: Remove superfluous worker wakeups when RPS is already boosted

2018-02-08 Thread Michał Winiarski
On Tue, Feb 06, 2018 at 02:31:37PM +, Chris Wilson wrote: > We only need to wake up the RPS worker once when initially enabling the > client boost, it remains in effect then until the last client no longer > requires the boost. Reviewed-by: Michał Winiarski -Michał > > Re

Re: [Intel-gfx] [PATCH 2/3] drm/i915/guc: Handle interrupt based logging with lack of SSE4.1, relay and other setup

2018-01-31 Thread Michał Winiarski
On Wed, Jan 31, 2018 at 11:44:38AM +0530, Sagar Arun Kamble wrote: > On some systems like skl-gvtdvm, SSE4.1 movntdqa might not be available. > movntdqa is needed for efficient capture of the logs from uncached GuC > log buffer. GuC init was tied with this support and other setup needed > for inter

Re: [Intel-gfx] [PATCH] drm/i915: Only allocate preempt context when required

2018-01-30 Thread Michał Winiarski
On Tue, Jan 30, 2018 at 09:02:45AM +, Chris Wilson wrote: > Quoting Daniele Ceraolo Spurio (2018-01-30 00:24:04) > > > > > > > @@ -979,17 +979,19 @@ static int guc_clients_create(struct intel_guc *guc) > > > } > > > guc->execbuf_client = client; > > > > > > - client = guc_c

Re: [Intel-gfx] [PATCH] drm/i915: Assert the engine has finished the seqno on unsubmission

2018-01-29 Thread Michał Winiarski
t try to unsubmit a completed request" in the subject? (what does it mean to "finish the seqno"?) Reviewed-by: Michał Winiarski -Michał > > Signed-off-by: Chris Wilson > --- > drivers/gpu/drm/i915/i915_gem_request.c | 2 ++ > 1 file changed, 2 insertions(+)

Re: [Intel-gfx] [RFC] drm/i915/guc: Keep GuC log disabled by default

2018-01-19 Thread Michał Winiarski
References It allows us to get test results while we're fixing the logging issues, so: Reviewed-by: Michał Winiarski -Michał > Signed-off-by: Michal Wajdeczko > Cc: Chris Wilson > Cc: Jani Saarinen > Cc: Tomi Sarvela > Cc: Marta Lofstedt > Cc: Michal Winiarski > --- &

Re: [Intel-gfx] [PATCH] drm/i915/scheduler: Assert that we do not have a dep cycle back to request

2018-01-11 Thread Michał Winiarski
kage. Assert that it doesn't move. > > Complete, but expensive checking is done by swfence, this assert is more > about documenting the topologically ordered list. > > Signed-off-by: Chris Wilson > Cc: Michał Winiarski Reviewed-by: Michał Winiarski -Michał > --- &

Re: [Intel-gfx] [PATCH 1/1] drm/i915/guc: Add uc_fini_wq in gem_init unwind path

2018-01-10 Thread Michał Winiarski
Kamble > Fixes: 3176ff49bc3e ("drm/i915/guc: Move GuC workqueue allocations outside of > the mutex") > Cc: Michał Winiarski > Cc: Chris Wilson > --- > drivers/gpu/drm/i915/i915_gem.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/d

Re: [Intel-gfx] [PATCH] drm/i915: Don't adjust priority on an already signaled fence

2018-01-08 Thread Michał Winiarski
20f480: fb fb fb fb fb fb fb fb fc fc fc fc fc fc > fc fc > [ 3083.158201] 8806bf20f500: fb fb fb fb fb fb fb fb fc fc fc fc fc fc > fc fc > [ 3083.158203] > ========== > > Reported-by: Alexandru Chirvasitu >

Re: [Intel-gfx] [PATCH] drm/i915: Assert we do not try to wait on an invalid seqno

2018-01-03 Thread Michał Winiarski
On Tue, Jan 02, 2018 at 07:25:00PM +, Chris Wilson wrote: > We should never insert the invalid seqno into the wait tree, so assert > we do not. > > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_breadcrumbs.c | 2 ++

Re: [Intel-gfx] [PATCH 09/19] drm/i915: Assert all signalers we depended on did indeed signal

2018-01-03 Thread Michał Winiarski
On Tue, Jan 02, 2018 at 03:12:25PM +, Chris Wilson wrote: > Back up our comment that all signalers should have been signaled before > we ourselves were retired with an assert to that effect. > > Signed-off-by: Chris Wilson > Cc: Joonas Lahtinen Reviewed-by: Michał Wini

Re: [Intel-gfx] [PATCH 10/19] drm/i915/execlists: Assert there are no simple cycles in the dependencies

2018-01-03 Thread Michał Winiarski
> > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_lrc.c | 11 --- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lrc.c > b/drivers/gpu/drm/i915/intel_lrc.

Re: [Intel-gfx] [PATCH 11/19] drm/i915/execlists: Reduce list_for_each_safe+list_safe_reset_next

2018-01-03 Thread Michał Winiarski
On Tue, Jan 02, 2018 at 03:12:27PM +, Chris Wilson wrote: > After staring at the list_for_each_safe macros for a bit, our current > invocation of list_safe_reset_next in execlists_schedule() simply > reduces to list_for_each. > > Signed-off-by: Chris Wilson Reviewed-by: M

Re: [Intel-gfx] [PATCH 15/19] drm/i915: Hold rpm wakeref for modifying the global seqno

2018-01-03 Thread Michał Winiarski
> > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/i915_debugfs.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > b/drivers/gpu/drm/i915/i915_debugfs.c > index d8

Re: [Intel-gfx] [PATCH 16/19] drm/i915/execlists: Clear context-switch interrupt earlier in the reset

2018-01-03 Thread Michał Winiarski
d-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_lrc.c | 33 + > 1 file changed, 21 insertions(+), 12 deletions(-) ___ Intel-gfx mailing list Intel-gfx@lis

Re: [Intel-gfx] [PATCH 17/19] drm/i915/execlists: Record elsp offset during engine setup

2018-01-03 Thread Michał Winiarski
On Tue, Jan 02, 2018 at 03:12:33PM +, Chris Wilson wrote: > Currently, we record the elsp register offset inside init-hw but we only > need to do it once during engine setup (after we know the mmio > iomapping). > > Signed-off-by: Chris Wilson Reviewed-by: Michał Wini

Re: [Intel-gfx] [PATCH 18/19] drm/i915/execlists: Tidy enabling execlists

2018-01-03 Thread Michał Winiarski
On Tue, Jan 02, 2018 at 03:12:34PM +, Chris Wilson wrote: > Move the register settings for enabling execlists into its own function > for clarity. > > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i91

Re: [Intel-gfx] [RFC] drm/i915: Extend CREATE_CONTEXT to allow inheritance ala clone()

2017-12-19 Thread Michał Winiarski
processes/fds, it can only share GTT belonging > to this fd. > Testcase: igt/gem_ctx_shared > Signed-off-by: Chris Wilson > Cc: Joonas Lahtinen > Cc: Tvrtko Ursulin > Cc: Mika Kuoppala > Cc: Michał Winiarski > --- > drivers/gpu/drm/i915/i915_gem_context.c | 62 +

[Intel-gfx] [CI 7/7] drm/i915/guc: Extract doorbell verification into a function

2017-12-13 Thread Michał Winiarski
We have the selftest that's checking doorbell create/destroy, so there's no need to check all doorbells delaying the reset every time. We do want to have that extra sanity check at module load/unload though. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen

[Intel-gfx] [CI 6/7] drm/i915/guc: Extract clients allocation to submission_init

2017-12-13 Thread Michał Winiarski
We can now move the clients allocation to submission_init path, rather than keeping the condition inside submission_enable called on every reset. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal Wajdeczko Reviewed-by: Michel Thierry --- drivers/gpu/drm/i915

[Intel-gfx] [CI 5/7] drm/i915/guc: Extract doorbell creation from client allocation

2017-12-13 Thread Michał Winiarski
caused by GuC action failures on module unload. Note that I've also removed one of the tests (bitmap out of sync), since it doesn't make much sense anymore - bitmaps are now not expected to change during the lifetime of a client. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas

[Intel-gfx] [CI 4/7] drm/i915/guc: Call invalidate after changing the vfunc

2017-12-13 Thread Michał Winiarski
-by: Chris Wilson Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Michal Wajdeczko Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_gtt.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index a0

[Intel-gfx] [CI 1/7] drm/i915/guc: Move shared data allocation away from submission path

2017-12-13 Thread Michał Winiarski
0 00 00 f6 80 98 00 00 00 01 0f RIP: intel_guc_suspend+0x34/0x140 [i915] RSP: c9483df8 CR2: 00f9 ---[ end trace 23a192a61d937a3e ]--- Fixes: b8e5eb960b28 ("drm/i915/guc: Allocate separate shared data object for GuC communication") Signed-off-by: Michał Winiarski

[Intel-gfx] [CI 3/7] drm/i915/guc: Extract guc_init from guc_init_hw

2017-12-13 Thread Michał Winiarski
ble_guc on suspend/resume. v2: Do not duplicate disable_communication / reset_guc_interrupts v3: Add proper teardown after rebase References: 04f7b24eccdf ("drm/i915/guc: Assert that we switch between known ggtt->invalidate functions") Signed-off-by: Michał Winiarski Cc: Chris Wilson

[Intel-gfx] [CI 2/7] drm/i915/guc: Move GuC workqueue allocations outside of the mutex

2017-12-13 Thread Michał Winiarski
ris) v3: Mention that we need the enable_guc=1 for lockdep splat (Chris) Testcase: igt/debugfs_test/read_all_entries # with i915.enable_guc=1 Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal Wajdeczko Reviewed-by: Chris Wilson --- driv

[Intel-gfx] [PATCH libdrm] headers: Update drm_i915.h

2017-12-13 Thread Michał Winiarski
Generated using make header_install. Generated from drm-intel-next-queued commit 53ff2641a817099e1c6d1aef409ba004c3a9f1ea Signed-off-by: Michał Winiarski --- include/drm/i915_drm.h | 215 ++--- 1 file changed, 202 insertions(+), 13 deletions(-) diff

[Intel-gfx] [PATCH 8/8] HAX Enable GuC Submission for CI

2017-12-13 Thread Michał Winiarski
Also: Revert "drm/i915/GuC/GLK: Load GuC on GLK" Now that we no longer have fallback to execlists submission available, if the firmware is selected by the driver but is not available on the system (like in this case - where the FW is not yet released), we're unable to get a clean CI run. This re

[Intel-gfx] [PATCH 7/8] drm/i915/guc: Extract doorbell verification into a function

2017-12-13 Thread Michał Winiarski
We have the selftest that's checking doorbell create/destroy, so there's no need to check all doorbells delaying the reset every time. We do want to have that extra sanity check at module load/unload though. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen

[Intel-gfx] [PATCH 6/8] drm/i915/guc: Extract clients allocation to submission_init

2017-12-13 Thread Michał Winiarski
We can now move the clients allocation to submission_init path, rather than keeping the condition inside submission_enable called on every reset. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal Wajdeczko --- drivers/gpu/drm/i915/intel_guc_submission.c | 33

[Intel-gfx] [PATCH 5/8] drm/i915/guc: Extract doorbell creation from client allocation

2017-12-13 Thread Michał Winiarski
caused by GuC action failures on module unload. Note that I've also removed one of the tests (bitmap out of sync), since it doesn't make much sense anymore - bitmaps are now not expected to change during the lifetime of a client. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas

[Intel-gfx] [PATCH v2 3/8] drm/i915/guc: Extract guc_init from guc_init_hw

2017-12-13 Thread Michał Winiarski
ble_guc on suspend/resume. v2: Do not duplicate disable_communication / reset_guc_interrupts References: 04f7b24eccdf ("drm/i915/guc: Assert that we switch between known ggtt->invalidate functions") Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal Wa

[Intel-gfx] [PATCH v2 2/8] drm/i915/guc: Move GuC workqueue allocations outside of the mutex

2017-12-13 Thread Michał Winiarski
1680 RSI: 7ffd6ffc3400 RDI: 7f98d39a2bc0 RBP: 7ffd6ffc33a0 R08: R09: 05a0 R10: 55e847c2a830 R11: 0002 R12: 0001 R13: 55e847c1d040 R14: 00007ffd6ffc3400 R15: 7f98d6752ba0 v2: Init preempt_work unconditiona

[Intel-gfx] [PATCH 4/8] drm/i915/guc: Call invalidate after changing the vfunc

2017-12-13 Thread Michał Winiarski
-by: Chris Wilson Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Michal Wajdeczko --- drivers/gpu/drm/i915/i915_gem_gtt.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index a0579b0c8581..c5f393870532 10

[Intel-gfx] [PATCH 1/8] drm/i915/guc: Move shared data allocation away from submission path

2017-12-13 Thread Michał Winiarski
0 00 00 f6 80 98 00 00 00 01 0f RIP: intel_guc_suspend+0x34/0x140 [i915] RSP: c9483df8 CR2: 00f9 ---[ end trace 23a192a61d937a3e ]--- Fixes: b8e5eb960b28 ("drm/i915/guc: Allocate separate shared data object for GuC communication") Signed-off-by: Michał Winiarski

[Intel-gfx] [PATCH 4/4] HAX Enable GuC Submission for CI

2017-12-11 Thread Michał Winiarski
--- drivers/gpu/drm/i915/i915_params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h index 792ce26d7449..9725c5ad8ac6 100644 --- a/drivers/gpu/drm/i915/i915_params.h +++ b/drivers/gpu/drm/i915/i915_param

[Intel-gfx] [PATCH 3/4] drm/i915/guc: Extract guc_init from guc_init_hw

2017-12-11 Thread Michał Winiarski
ble_guc on suspend/resume. References: 04f7b24eccdf ("drm/i915/guc: Assert that we switch between known ggtt->invalidate functions") Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal Wajdeczko Cc: Sagar Arun Kamble --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [PATCH 1/4] drm/i915/guc: Move shared data allocation away from submission path

2017-12-11 Thread Michał Winiarski
0 00 00 f6 80 98 00 00 00 01 0f RIP: intel_guc_suspend+0x34/0x140 [i915] RSP: c9483df8 CR2: 00f9 ---[ end trace 23a192a61d937a3e ]--- Fixes: b8e5eb960b28 ("drm/i915/guc: Allocate separate shared data object for GuC communication") Signed-off-by: Michał Winiarski

[Intel-gfx] [PATCH 2/4] drm/i915/guc: Move GuC workqueue allocations outside of the mutex

2017-12-11 Thread Michał Winiarski
1680 RSI: 7ffd6ffc3400 RDI: 7f98d39a2bc0 RBP: 7ffd6ffc33a0 R08: R09: 05a0 R10: 55e847c2a830 R11: 0002 R12: 0001 R13: 55e847c1d040 R14: 7ffd6ffc3400 R15: 7f98d6752ba0 Testcase: igt/debugfs_tes

Re: [Intel-gfx] [PATCH v2] drm/i915: Unwind i915_gem_init() failure

2017-12-08 Thread Michał Winiarski
IP] > +err_ggtt: > +err_unlock: So... Just unlock? :> Does what it says on the tin (fixing WARN_ON galore on guc load failure): Reviewed-by: Michał Winiarski -Michał > + intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); > + mutex_unlock(&dev_priv->drm.struct_m

Re: [Intel-gfx] [PATCH i-g-t v2 2/2] tests/gem_exec_schedule: Add test for resetting preemptive batch

2017-12-08 Thread Michał Winiarski
ubmission > flow of low priority contexts. > > -v2: > - Rename subtest (Chris) > - Use igt_hang_ctx to hang ring (Chris) > - Add comment on execution order checks (Chris) > > Cc: Chris Wilson > Cc: Michal Winiarski > Signed-off-by: A

Re: [Intel-gfx] [PATCH i-g-t v2 1/2] tests/gem_exec_schedule: Add reset on failed preemption test.

2017-12-08 Thread Michał Winiarski
roup for the test (Chris) > > Cc: Chris Wilson > Cc: Michal Winiarski > Signed-off-by: Antonio Argenziano Reviewed-by: Michał Winiarski -Michał > --- > tests/gem_exec_schedule.c | 28 +++- > 1 file changed, 27 insertions(+), 1 deletion(-) _

Re: [Intel-gfx] [PATCH 1/2] drm/i915/guc: Advance over port[0] if set and not preempting

2017-11-24 Thread Michał Winiarski
we lost the skip over the first port if set for the > non-preemption path. Restore it. > > Reported-by: Mika Kuoppala > Fixes: c41937fd994a ("drm/i915/guc: Preemption! With GuC") > Signed-off-by: Chris Wilson > Cc: Michał Winiarski > Cc: Mika Kuoppal

Re: [Intel-gfx] [PATCH] drm/i915/guc: Tidy ELSP port assignment

2017-11-24 Thread Michał Winiarski
son > Cc: Mika Kuoppala > Cc: Michał Winiarski Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_guc_submission.c | 7 ++- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_guc_su

Re: [Intel-gfx] [PATCH v3] drm/i915: Use exponential backoff for wait_for()

2017-11-24 Thread Michał Winiarski
e still seeing the long tail without exponential backoff if we manage to miss the fast timeout. > References: 1758b90e38f5 ("drm/i915: Use a hybrid scheme for fast register > waits") > Signed-off-by: Chris Wilson > Cc: Tvrtko Ursulin > Cc: John Harrison > Cc: Michał Wi

[Intel-gfx] [PATCH v6] drm/i915/guc: Add a second client, to be used for preemption

2017-10-26 Thread Michał Winiarski
Gordon Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Michal Wajdeczko --- drivers/gpu/drm/i915/i915_debugfs.c| 2 + drivers/gpu/drm/i915/i915_guc_submission.c | 118

[Intel-gfx] [PATCH v6] drm/i915/guc: Preemption! With GuC

2017-10-26 Thread Michał Winiarski
than enable_guc_submission modparam, reorder preempt postprocessing (Chris) v5: Make wq NULL after destroying it v6: Swap struct guc_preempt_work members (Michał) Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Cc: Oscar Mateo Cc: Tvrtko Ursulin Reviewe

[Intel-gfx] [PATCH v5] drm/i915/guc: Add a second client, to be used for preemption

2017-10-26 Thread Michał Winiarski
: And move clients back from an array, to get rid of the enum (Michał) v4: Use is_high_priority, move DRM_ERROR into __create_doorbell, move GEM_BUG_ON inside guc_clients_create (Michał) v5: Split the BUG_ON (Michał) Signed-off-by: Dave Gordon Signed-off-by: Michał Winiarski Cc: Chris Wilson

[Intel-gfx] [PATCH v4] drm/i915/guc: Add a second client, to be used for preemption

2017-10-26 Thread Michał Winiarski
: And move clients back from an array, to get rid of the enum (Michał) v4: Use is_high_priority, move DRM_ERROR into __create_doorbell, move GEM_BUG_ON inside guc_clients_create (Michał) Signed-off-by: Dave Gordon Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc

Re: [Intel-gfx] [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption

2017-10-26 Thread Michał Winiarski
On Thu, Oct 26, 2017 at 12:04:11PM +0100, Chris Wilson wrote: > Quoting Michał Winiarski (2017-10-26 11:52:31) > > On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote: > > > For measuring the cost of preemption, inject a low priority spinner > > > betwee

Re: [Intel-gfx] [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption

2017-10-26 Thread Michał Winiarski
correctly). Reviewed-by: Michał Winiarski -Michał > > Signed-off-by: Chris Wilson > CC: Michał Winiarski > --- > tests/gem_exec_latency.c | 88 > > 1 file changed, 59 insertions(+), 29 deletions(-) __

Re: [Intel-gfx] [PATCH i-g-t v3] lib: Move __gem_context_create to common ioctl wrapper library.

2017-10-26 Thread Michał Winiarski
Argenziano > > Cc: Chris Wilson > Cc: Michał Winiarski > --- > benchmarks/gem_exec_ctx.c | 6 ++--- > benchmarks/gem_exec_trace.c | 4 +-- > lib/i915/gem_context.c | 62 > + > lib/i915/gem_context.h

[Intel-gfx] [PATCH v5] drm/i915/guc: Preemption! With GuC

2017-10-26 Thread Michał Winiarski
than enable_guc_submission modparam, reorder preempt postprocessing (Chris) v5: Make wq NULL after destroying it Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Cc: Oscar Mateo Cc: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_dr

[Intel-gfx] [PATCH v4 11/12] drm/i915/guc: Preemption! With GuC

2017-10-25 Thread Michał Winiarski
than enable_guc_submission modparam, reorder preempt postprocessing (Chris) Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Cc: Oscar Mateo Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_drv.c| 3 +- drivers/gpu/drm/i915/i915_ge

[Intel-gfx] [PATCH 12/12] HAX Enable GuC Submission for CI

2017-10-25 Thread Michał Winiarski
Also: Revert "drm/i915/guc: Assert that we switch between known ggtt->invalidate functions" This reverts commit 04f7b24eccdfae680a36e9825fe0d61dcd5ed528. --- drivers/gpu/drm/i915/i915_gem_gtt.c | 8 ++-- drivers/gpu/drm/i915/i915_params.h | 4 ++-- 2 files changed, 4 insertions(+), 8 deleti

[Intel-gfx] [PATCH 08/12] drm/i915: Add information needed to track engine preempt state

2017-10-25 Thread Michał Winiarski
ned-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Chris Wilson Reviewed-by: Jeff McGee --- drivers/gpu/drm/i915/intel_ringbuffer.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/d

[Intel-gfx] [PATCH v3 10/12] drm/i915: Rename helpers used for unwinding, use macro for can_preempt

2017-10-25 Thread Michał Winiarski
xcept we're introducing HAS_LOGICAL_RING_PREEMPTION macro instad, converting other users that were previously touching device info directly. v2: s/intel_engine/execlists and pass execlists to unwind (Chris) v3: use locked version for exporting, drop const qual (Chris) Signed-off-by: Michał Win

[Intel-gfx] [PATCH v2 09/12] drm/i915/guc: Keep request->priority for its lifetime

2017-10-25 Thread Michał Winiarski
We also want to support preemption with GuC submission backend. In order to do that, we need to remember the priority, like we do on execlists path. v2: Remove completed prio == INT_MAX optimization Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Reviewed

[Intel-gfx] [PATCH 06/12] drm/i915/guc: Split guc_wq_item_append

2017-10-25 Thread Michał Winiarski
g GuC work item and ringing the doorbell, and guc_wq_item_append - used by the function above, not tied to the concept of gem request. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Chris Wilson Reviewed-by: Jeff McGee ---

[Intel-gfx] [PATCH v2 07/12] drm/i915: Extract "emit write" part of emit breadcrumb functions

2017-10-25 Thread Michał Winiarski
atch emit_pipe_control, s/render/rcs (Chris) Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Tvrtko Ursulin Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/intel_lrc.c| 28 +++- drivers/gpu/drm/i915/intel_ringbuffer.h | 38 +++

[Intel-gfx] [PATCH v3 05/12] drm/i915/guc: Add a second client, to be used for preemption

2017-10-25 Thread Michał Winiarski
: And move clients back from an array, to get rid of the enum (Michał) Signed-off-by: Dave Gordon Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo --- drivers/gpu/drm/i915/i915_debugfs.c| 2 + drivers

[Intel-gfx] [PATCH v2 04/12] drm/i915/guc: Add preemption action to GuC firmware interface

2017-10-25 Thread Michał Winiarski
those new definitions. v2: Drop unused INTEL_GUC_PREEMPT_OPTION_IMMEDIATE Signed-off-by: Michał Winiarski Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Jeff McGee --- drivers/gpu/drm/i915/intel_guc_fwif.h | 39 +++ 1 file changed, 39 insertions(+) di

[Intel-gfx] [PATCH 02/12] drm/i915/guc: Extract GuC stage desc pool creation into a helper

2017-10-25 Thread Michał Winiarski
Since it's a two-step process, we can have a cleaner error handling in the caller if we do the allocations in a helper. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Daniele Ceraolo S

[Intel-gfx] [PATCH v2 03/12] drm/i915/guc: Allocate separate shared data object for GuC communication

2017-10-25 Thread Michał Winiarski
particular page?). Let's allocate a separate object instead. v2: Drop kernel_context from GuC suspend/resume action handlers (Michel) Suggested-by: Daniele Ceraolo Spurio Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko

[Intel-gfx] [PATCH v2 01/12] drm/i915/guc: Do not use 0 for GuC doorbell cookie

2017-10-25 Thread Michał Winiarski
Apparently, this value is reserved and may be interpreted as changing doorbell ownership. Even though we're not observing any side effects now, let's skip over it to be consistent with the spec. v2: Apply checkpatch (Sagar) Suggested-by: Sagar Arun Kamble Signed-off-by: Michał Win

[Intel-gfx] [PATCH 00/12] Preemption with GuC, fourth try

2017-10-25 Thread Michał Winiarski
No major changes from previous iteration. Dropped the workaround for missing interrupt (which turned out to be self-inflicted, now properly fixed by Chris), and applied the review comments. Dave Gordon (1): drm/i915/guc: Add a second client, to be used for preemption Michał Winiarski (11

Re: [Intel-gfx] [PATCH igt v2] igt/drv_hangman: Skip aliased I915_EXEC_BSD

2017-10-25 Thread Michał Winiarski
ll; be specific! > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103324 > Signed-off-by: Chris Wilson > CC: Michał Winiarski Reviewed-by: Michał Winiarski -Michał > --- > tests/drv_hangman.c | 15 +++ > 1 file changed, 15 insertions(+) > >

Re: [Intel-gfx] [PATCH igt] igt/gem_exec_nop: Headless requires DRM_MASTER for modesetting

2017-10-25 Thread Michał Winiarski
On Tue, Oct 24, 2017 at 07:24:58PM +0100, Chris Wilson wrote: > Since the headless subtest wants to compare execution latency of a > headless mode vs a single head, it needs to be able to do a modeset and > ergo it requires DRM_MASTER. > > Signed-off-by: Chris Wilson Revi

Re: [Intel-gfx] [PATCH igt] igt/gem_fd_exhaustion: Remove stale assert

2017-10-25 Thread Michał Winiarski
() will do the job of exhausting the fdtable. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103365 > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski But do we really need this test? Perhaps we could just remove it? -Michał > --- > tests/gem_fd_exhaustion

Re: [Intel-gfx] [PATCH igt] lib/gt: Always eat the unwanted error state

2017-10-25 Thread Michał Winiarski
ubsequent GPU hangs are not prominently recorded, as > the kernel believes they are secondary hangs (and we only announce the > first). > > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > lib/igt_gt.c | 31 --- >

Re: [Intel-gfx] [PATCH 2/3] drm/i915/guc: Always enable the breadcrumbs irq

2017-10-24 Thread Michał Winiarski
waiters. > -Chris With additional note that as a consequence, we're basically postponing the irq_disable until idle_work_handler. Reviewed-by: Michał Winiarski -Michał > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > h

Re: [Intel-gfx] [PATCH] drm/i915/execlists: Remove the priority "optimisation"

2017-10-24 Thread Michał Winiarski
> Fixes: 1f181225f8ec ("drm/i915/execlists: Keep request->priority for its > lifetime") > Signed-off-by: Chris Wilson > Cc: Michał Winiarski > Cc: Joonas Lahtinen Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_lrc.c | 2 -- >

[Intel-gfx] [PATCH 13/14] drm/i915/guc: Workaround the missing user interrupt after preemption

2017-10-19 Thread Michał Winiarski
isper/*-priority Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: John Harrison Cc: Joonas Lahtinen --- drivers/gpu/drm/i915/i915_guc_submission.c | 36 +- drivers/gpu/drm/i915/intel_guc.h | 1 + 2 files changed, 36 insertions(+), 1 deletio

[Intel-gfx] [PATCH 14/14] HAX Enable GuC Submission for CI

2017-10-19 Thread Michał Winiarski
Also: Revert "drm/i915/guc: Assert that we switch between known ggtt->invalidate functions" This reverts commit 04f7b24eccdfae680a36e9825fe0d61dcd5ed528. --- drivers/gpu/drm/i915/i915_gem_gtt.c | 8 ++-- drivers/gpu/drm/i915/i915_params.h | 4 ++-- 2 files changed, 4 insertions(+), 8 deleti

[Intel-gfx] [PATCH v2 11/14] drm/i915: Rename helpers used for unwinding, use macro for can_preempt

2017-10-19 Thread Michał Winiarski
xcept we're introducing HAS_LOGICAL_RING_PREEMPTION macro instad, converting other users that were previously touching device info directly. v2: s/intel_engine/execlists and pass execlists to unwind (Chris) Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Michal

[Intel-gfx] [PATCH 10/14] drm/i915/guc: Keep request->priority for its lifetime

2017-10-19 Thread Michał Winiarski
We also want to support preemption with GuC submission backend. In order to do that, we need to remember the priority, like we do on execlists path. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915

[Intel-gfx] [PATCH v3 12/14] drm/i915/guc: Preemption! With GuC

2017-10-19 Thread Michał Winiarski
truct in intel_guc rather than engine (Michał) Use ordered workqueue for inject_preempt worker to avoid GuC quirks. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Joonas Lahtinen Cc: Oscar Mateo Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_drv.c| 3 +- dri

[Intel-gfx] [PATCH 09/14] drm/i915: Add information needed to track engine preempt state

2017-10-19 Thread Michał Winiarski
ned-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Chris Wilson Reviewed-by: Jeff McGee --- drivers/gpu/drm/i915/intel_ringbuffer.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/d

[Intel-gfx] [PATCH v2 08/14] drm/i915: Extract "emit write" part of emit breadcrumb functions

2017-10-19 Thread Michał Winiarski
atch emit_pipe_control, s/render/rcs (Chris) Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/intel_lrc.c| 28 +++- drivers/gpu/drm/i915/intel_ringbuffer.h | 38 + 2 fil

[Intel-gfx] [PATCH 07/14] drm/i915/guc: Split guc_wq_item_append

2017-10-19 Thread Michał Winiarski
g GuC work item and ringing the doorbell, and guc_wq_item_append - used by the function above, not tied to the concept of gem request. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Chris Wilson Reviewed-by: Jeff McGee ---

[Intel-gfx] [PATCH 05/14] drm/i915/guc: Add preemption action to GuC firmware interface

2017-10-19 Thread Michał Winiarski
those new definitions. Signed-off-by: Michał Winiarski Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Jeff McGee --- drivers/gpu/drm/i915/intel_guc_fwif.h | 40 +++ 1 file changed, 40 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_guc_fwif.h

[Intel-gfx] [PATCH v2 06/14] drm/i915/guc: Add a second client, to be used for preemption

2017-10-19 Thread Michał Winiarski
. Signed-off-by: Dave Gordon Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo --- drivers/gpu/drm/i915/i915_debugfs.c| 11 +-- drivers/gpu/drm/i915/i915_guc_submission.c | 107

[Intel-gfx] [PATCH 04/14] drm/i915/guc: Initialize GuC before restarting engines

2017-10-19 Thread Michał Winiarski
submission mode. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Michal Wajdeczko Cc: Michel Thierry Cc: Mika Kuoppala Cc: Oscar Mateo Reviewed-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c| 10 +- drivers/gpu/drm/i915/i915_guc_submission.c | 7 --- drive

[Intel-gfx] [PATCH 02/14] drm/i915/guc: Extract GuC stage desc pool creation into a helper

2017-10-19 Thread Michał Winiarski
Since it's a two-step process, we can have a cleaner error handling in the caller if we do the allocations in a helper. Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko Cc: Oscar Mateo Reviewed-by: Daniele Ceraolo S

[Intel-gfx] [PATCH v2 03/14] drm/i915/guc: Allocate separate shared data object for GuC communication

2017-10-19 Thread Michał Winiarski
particular page?). Let's allocate a separate object instead. v2: Drop kernel_context from GuC suspend/resume action handlers (Michel) Suggested-by: Daniele Ceraolo Spurio Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc: Daniele Ceraolo Spurio Cc: Jeff McGee Cc: Michal Wajdeczko

[Intel-gfx] [PATCH 01/14] drm/i915/guc: Do not use 0 for GuC doorbell cookie

2017-10-19 Thread Michał Winiarski
Apparently, this value is reserved and may be interpreted as changing doorbell ownership. Even though we're not observing any side effects now, let's skip over it to be consistent with the spec. Suggested-by: Sagar Arun Kamble Signed-off-by: Michał Winiarski Cc: Chris Wilson Cc:

[Intel-gfx] [PATCH 00/14] Preemption with GuC, third attempt

2017-10-19 Thread Michał Winiarski
to be used for preemption Michał Winiarski (13): drm/i915/guc: Do not use 0 for GuC doorbell cookie drm/i915/guc: Extract GuC stage desc pool creation into a helper drm/i915/guc: Allocate separate shared data object for GuC communication drm/i915/guc: Initialize GuC before restarting engines

[Intel-gfx] [PATCH i-g-t] lib/i915: Move submission related helpers to lib/i915/gem_submission

2017-10-18 Thread Michał Winiarski
dfe556659f ("lib: Extract helpers for determining submission method") Signed-off-by: Michał Winiarski Cc: Arkadiusz Hiler Cc: Chris Wilson --- .../intel-gpu-tools/intel-gpu-tools-docs.xml | 1 + lib/Makefile.sources | 2 + lib/i

[Intel-gfx] [PATCH i-g-t v2 4/4] lib/i915: Extract context priority setparam to a helper

2017-10-16 Thread Michał Winiarski
Another example of something that is used across different tests, and should be moved to lib. v2: Break the trend of expanding ioctl_wrappers Signed-off-by: Michał Winiarski Cc: Arkadiusz Hiler Cc: Chris Wilson Cc: Katarzyna Dec Cc: Petri Latvala Reviewed-by: Chris Wilson Reviewed-by

[Intel-gfx] [PATCH i-g-t 3/4] lib/i915: Move context related helpers to lib/i915/gem_context

2017-10-16 Thread Michał Winiarski
We'd like to make ioctl_wrappers a bit thinner, and we plan to add new helpers in the following patch. Let's move context related helpers before adding more content. Signed-off-by: Michał Winiarski Cc: Arkadiusz Hiler Cc: Chris Wilson Cc: Katarzyna Dec Cc: Petri Latvala Reviewed

[Intel-gfx] [PATCH i-g-t v2 1/4] lib: Extract helpers for determining submission method

2017-10-16 Thread Michał Winiarski
Couple of tests are using either determining submission method, or pretty printing. Let's move those to helpers in lib. v2: s/igt_show/gem_show Signed-off-by: Michał Winiarski Cc: Arkadiusz Hiler Cc: Chris Wilson Cc: Katarzyna Dec Cc: Petri Latvala Reviewed-by: Chris Wilson Review

[Intel-gfx] [PATCH i-g-t v2 2/4] lib/i915: Extract helpers for determining scheduler capabilities

2017-10-16 Thread Michał Winiarski
Couple of tests are using either determining scheduler capabilities or pretty printing. Let's move those to helpers in lib. We can also keep the value obtained from getparam static. v2: Break the trend of expanding ioctl_wrappers Signed-off-by: Michał Winiarski Cc: Arkadiusz Hiler Cc:

Re: [Intel-gfx] [PATCH igt] igt/gem_mocs_settings: Skip non-existent engines

2017-10-16 Thread Michał Winiarski
On Mon, Oct 16, 2017 at 08:12:46AM +, Chris Wilson wrote: > For per-engine checks, check the engine actually exists (important for > bsd aliasing). > > Signed-off-by: Chris Wilson Reviewed-by: Michał Winiarski -Michał > --- > tests/gem_mocs_settings.c | 2 ++ &g

Re: [Intel-gfx] [PATCH igt] igt/core_suspend: Exercise igt_system_suspend_autoresume()

2017-10-16 Thread Michał Winiarski
> --- > tests/Makefile.sources | 1 + > tests/core_suspend.c | 60 > ++ > 2 files changed, 61 insertions(+) > create mode 100644 tests/core_suspend.c Missing changes in meson.build With that: Review

<    1   2   3   4   5   6   7   >