Quoting Matthew Auld (2021-01-18 14:17:31)
> From: CQ Tang
>
> The pool is shared and so we might find that there is a pool object with
> an existing mapping, but is mapped with different underlying type, which
> will result in -EBUSY.
>
> Signed-off-by: CQ Tang
> Signed-off-by: Matthew Auld
Quoting Matthew Auld (2021-01-18 14:17:31)
> From: CQ Tang
First patch hasn't arrive, so excuse this misplaced reply.
- if (GEM_WARN_ON(!r->sgt.pfn))
+ if (GEM_WARN_ON(!use_dma(r->iobase) && !r->sgt.pfn))
return -EINVAL;
The better check would be if
Quoting Thomas Zimmermann (2021-01-18 13:14:17)
> Using struct drm_device.pdev is deprecated. Convert i915 to struct
> drm_device.dev. No functional changes.
This needs to be before or in the previous patch, as that patch removed
assignment of i915->drm.pdev.
Or the removal of the assignment
As we do not have any internal priority levels, the priority can be set
directed from the user values.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/display/intel_display.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 6 +--
.../i915/gem/selftests/i915_gem_object_blt.c
Since we are not using any internal priority levels, and in the next few
patches will introduce a new index for which the optimisation is not so
lear cut, discard the small table within the priolist.
Signed-off-by: Chris Wilson
---
.../gpu/drm/i915/gt/intel_engine_heartbeat.c | 2 +-
.../drm
-by: Chris Wilson
Cc: Tvrtko Ursulin
Cc: Ville Syrjälä
---
drivers/gpu/drm/i915/display/intel_display.c | 16 +++
drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 ++
drivers/gpu/drm/i915/gem/i915_gem_wait.c | 49 ++--
3 files changed, 44 insertions(+), 24 deletions(-)
diff
References: 8ab3a3812aa9 ("drm/i915/gt: Incrementally check for rewinding")
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
---
.../drm/i915/gt/intel_execlists_submission.c | 36 +--
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_ex
Treat the dependency between bonded requests as weak and leave the
remainder of the pair on the GPU if one hangs.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt
-by: Chris Wilson
Cc: Tvrtko Ursulin
Cc: Ville Syrjälä
---
drivers/gpu/drm/i915/display/intel_display.c | 16 +++
drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 ++
drivers/gpu/drm/i915/gem/i915_gem_wait.c | 49 ++--
3 files changed, 44 insertions(+), 24 deletions(-)
diff
suggests that it is unparsed, so we are free to invoke debugfs is not
ABI and remove details from it.
Signed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
---
drivers/gpu/drm/i915/i915_debugfs.c | 142
1 file changed, 142 deletions(-)
diff --git a/drivers/gpu/drm/i915
Quoting Tvrtko Ursulin (2021-01-18 10:38:23)
>
> On 15/01/2021 13:05, Chris Wilson wrote:
> > Rather than take an indirect jump to the drm midlayer (that introduces a
> > use-after-free in reading the ctx->file backpointer) to find all the vma
> > on objects associat
at may lead to either considering the
request not completed (causing a delay until the request is checked
again, any wait for the request is not affected) or dereferencing an
invalid pointer.
Fixes: 3adac4689f58 ("drm/i915: Introduce concept of per-timeline (context)
HWSP")
Signed-off-by: Chris
Quoting Jani Nikula (2021-01-18 09:07:02)
>
> The following commits have been marked as Cc: stable or fixing something
> in v5.11-rc4 or earlier, but failed to cherry-pick to
> drm-intel-fixes. Please see if they are worth backporting, and please do
> so if they are.
>
> Conflicts:
>
keeping with hardware rc6 counter
on driver load.
v2:
* Always sync on parking and fully sync on init.
Signed-off-by: Tvrtko Ursulin
Fixes: f4e9894b6952 ("drm/i915/pmu: Correct the rc6 offset upon enabling")
Cc: Chris Wilson
Reviewed-by: Chris Wilson
Link:
https://patchwork.freedesktop
-by: Matt Roper
Fixes: 604a8f6f1e33 ("drm/i915/lrc: Only enable per-context and per-bb buffers
if set")
Signed-off-by: Chris Wilson
Cc: Matt Roper
Cc: Tvrtko Ursulin
Cc: Mika Kuoppala
Cc: # v4.15+
Reviewed-by: Matt Roper
Link:
https://patchwork.freedesktop.org/p
.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_gt_pm.c| 51 +---
drivers/gpu/drm/i915/gt/intel_gt_types.h | 7
2 files changed, 18 insertions(+), 40 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
b/drivers
.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c| 37 +++
drivers/gpu/drm/i915/gt/intel_engine_stats.h | 39 +---
drivers/gpu/drm/i915/gt/intel_engine_types.h | 5 ---
3 files changed, 24 insertions(+), 57
Mesa uses set-cache-level on userptr, so verify it doesn't arbitrary
fail.
Signed-off-by: Chris Wilson
---
tests/i915/gem_userptr_blits.c | 41 ++
1 file changed, 41 insertions(+)
diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index
indefinite wait on the ring-stop semaphore. So not a Tigerlake
specific bug after all, though it still seems odd behaviour for the
busywait as we do get the arbitration point elsewhere on a miss.
Testcase: igt_reset_fail_engine
Signed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
---
drivers/gpu/d
ridge, Baytrail")
Fixes: 09aa9e45863e ("drm/i915/gt: Restore clear-residual mitigations for
Ivybridge, Baytrail")
Testcase: igt/gem_ctx_isolation # ivb,vlv
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
Cc: Akeem G Abodunrin
---
drivers/gpu/drm/i915/gt/gen7_renderclear.c | 8 +++
ridge, Baytrail")
Fixes: 09aa9e45863e ("drm/i915/gt: Restore clear-residual mitigations for
Ivybridge, Baytrail")
Testcase: igt/gem_ctx_isolation # ivb,vlv
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
Cc: Akeem G Abodunrin
---
drivers/gpu/drm/i915/gt/gen7_renderclear.c | 7 ++
ridge, Baytrail")
Fixes: 09aa9e45863e ("drm/i915/gt: Restore clear-residual mitigations for
Ivybridge, Baytrail")
Testcase: igt/gem_ctx_isolation # ivb,vlv
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
Cc: Akeem G Abodunrin
---
drivers/gpu/drm/i915/gt/gen7_renderclear.c | 7 ++
used. I915_USERPTR_PROBE introduces a method for
doing a simple vma lookup to check that the userptr is valid at the time
of construction, leaving the more costly page lookup for lazy execution.
See https://patchwork.freedesktop.org/series/33449/
Signed-off-by: Chris Wilson
---
src/sna/kgem.c
We use set-domain on userptr to validate that get-user-pages is
applicable to the address range. Let's perform a very basic test to
exercise this combination.
Signed-off-by: Chris Wilson
---
tests/i915/gem_userptr_blits.c | 26 ++
1 file changed, 26 insertions(+)
diff
Quoting Chris Wilson (2021-01-15 16:56:42)
> Quoting Jinoh Kang (2021-01-15 16:23:31)
> > If GUP-ineligible pages are passed to a GEM userptr object, -EFAULT is
> > returned only when the object is actually bound.
> >
> > The xf86-video-intel userspace
Quoting Jinoh Kang (2021-01-15 16:23:31)
> If GUP-ineligible pages are passed to a GEM userptr object, -EFAULT is
> returned only when the object is actually bound.
>
> The xf86-video-intel userspace driver cannot differentiate this
> condition, and marks the GPU as wedged.
The idea was to call
Quoting Daniel Vetter (2021-01-15 15:52:26)
> +static void mangle_sg_table(struct sg_table *sg_table)
> +{
> +#ifdef CONFIG_DMABUF_DEBUG
> + int i;
> + struct scatterlist *sg;
> +
> + if (!sg_table)
if (!IS_ENABLED(CONFIG_DMABUF_DEBUG) || IS_ERR_OR_NULL(sg_table))
> +
Quoting Matthew Auld (2021-01-15 10:13:29)
> warning: symbol '__i915_gem_object_create_stolen' was not declared. Should it
> be static?
> warning: symbol '_i915_gem_object_stolen_init' was not declared. Should it be
> static?
>
> Signed-off-by: Matthew Auld
Reviewed-by: Ch
:649:5: error: no previous prototype
for ‘_i915_gem_object_stolen_init’ [-Werror=missing-prototypes]
int _i915_gem_object_stolen_init(struct intel_memory_region *mem,
^~~~
Signed-off-by: Chris Wilson
Cc: Matthew Auld
---
drivers/gpu/drm/i915/gem/i915_gem_stolen.c
.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c| 34 +++-
drivers/gpu/drm/i915/gt/intel_engine_stats.h | 24 +++---
drivers/gpu/drm/i915/gt/intel_engine_types.h | 5 ---
3 files changed, 15 insertions(+), 48
As context-in/out is now always serialised, we do not have to worry
about concurrent enabling/disable of the busy-stats and can reduce the
atomic_t active to a plain unsigned int, and the seqlock to a seqcount.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt
.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_gt_pm.c| 38 +++-
drivers/gpu/drm/i915/gt/intel_gt_types.h | 5
2 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
b/drivers
Since schedule-in/out is now entirely serialised by the tasklet bitlock,
we do not need to worry about concurrent in/out operations and so reduce
the atomic operations to plain instructions.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c
Lift the busy-stats context-in/out implementation out of intel_lrc, so
that we can reuse it for other scheduler implementations.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gt/intel_engine_stats.h | 49 +++
.../drm/i915/gt
Quoting Saichandana S (2021-01-15 13:01:10)
> +static int i915_pm_req_res_info(struct seq_file *m, void *unused)
> +{
> + struct drm_i915_private *i915 = node_to_i915(m->private);
> + struct intel_csr *csr = >csr;
> + u32 DC9_status;
> +
> + if (!HAS_CSR(i915))
> +
context.
Fixes: a4e7ccdac38e ("drm/i915: Move context management under GEM")
Signed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
Cc: CQ Tang
Cc: Lucas De Marchi
Cc: sta...@kernel.org
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 4 +-
drivers/gpu/drm/i915/i915_debugfs.c | 181 +++
,
and this is not regarded as an error, so update the return value to
indicate success.
v2: Success not error.
Fixes: 2a743b7b8a8b ("drm/i915/hdcp: Configure HDCP1.4 MST steram encryption
status")
Fixes: 899c8762f981 ("drm/i915/hdcp: Configure HDCP2.2 MST steram encryption
status")
ed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
Cc: CQ Tang
Cc: Lucas De Marchi
Cc: sta...@kernel.org
---
drivers/gpu/drm/i915/i915_debugfs.c | 138 +++-
1 file changed, 52 insertions(+), 86 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
b/drivers/gpu/dr
topology, I opted to use -EBUSY to indicate not all were
ready.
Fixes: 2a743b7b8a8b ("drm/i915/hdcp: Configure HDCP1.4 MST steram encryption
status")
Fixes: 899c8762f981 ("drm/i915/hdcp: Configure HDCP2.2 MST steram encryption
status")
Signed-off-by: Chris Wilson
Cc: R
Quoting Daniel Vetter (2021-01-14 09:47:40)
> On Thu, Jan 14, 2021 at 09:45:37AM +0000, Chris Wilson wrote:
> > Quoting Daniel Vetter (2021-01-14 09:30:32)
> > > On Thu, Jan 14, 2021 at 10:23 AM Chris Wilson
> > > wrote:
> > > > The only othe
Quoting Nautiyal, Ankit K (2021-01-15 07:24:36)
>
> On 1/13/2021 5:22 PM, Jani Nikula wrote:
> > On Fri, 08 Jan 2021, Jani Nikula wrote:
> >> On Thu, 24 Dec 2020, "Nautiyal, Ankit K"
> >> wrote:
> >>> Thanks Chris to catch this.
> >>>
> >>> This definitely should be bitwise Operator, as
The engine resets selftests kick the tasklets, safe up until now as only
execlists supported engine resets.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 18 ++
drivers/gpu/drm/i915/gt/selftest_reset.c | 11 ---
2 files changed, 22
as how to unravel some global state that appears to
be reset along with an engine (in particular the ppgtt enabling in
GFX_MODE).
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/i915_pci.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_pci.c
Push the sleeping stop_ring() out of the reset resume function to reset
prepare; we are not allowed to sleep in the former.
Signed-off-by: Chris Wilson
---
.../gpu/drm/i915/gt/intel_ring_submission.c | 97 +++
1 file changed, 36 insertions(+), 61 deletions(-)
diff --git
.
Signed-off-by: Chris Wilson
---
.../gpu/drm/i915/gt/intel_ring_submission.c | 93 +--
1 file changed, 42 insertions(+), 51 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
index 44159595d909..bf2834424add
Quoting Steven Rostedt (2021-01-14 21:32:06)
> On reboot, one of my test boxes now triggers the following warning:
057fe3535eb3 ("drm/i915: Disable RPM wakeref assertions during driver shutdown")
is included with the drm-intel-fixes PR.
-Chris
___
/o requiring the obj to be mapped to the GPU).
>
> Suggested by Chris.
>
> Cc: Chris Wilson
> Signed-off-by: Imre Deak
> ---
> drivers/gpu/drm/i915/gem/i915_gem_object.c | 75 ++
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 +
> 2 files ch
ere we would like to first apply the extensions
> to the object.
I notice that we need to include userptr and the mock objects in
INTEL_MEMORY_SYSTEM for better bookkeeping.
> Signed-off-by: Matthew Auld
Reviewed-by: Chris Wilson
-Chris
___
Inte
Quoting Matthew Auld (2021-01-14 18:24:01)
> Depending on the regions min_page_size we might need to adjust the
> object size, ensure this matches our expectations.
>
> Suggested-by: Chris Wilson
> Signed-off-by: Matthew Auld
Reviewed-by: Chris
Quoting Matthew Auld (2021-01-14 18:24:00)
> In preparation for gem_create_ext break out the gem_create uAPI, so that
> we don't clutter i915_gem.c once we start adding various extensions
>
> Signed-off-by: Matthew Auld
Reviewed-by: Chris Wi
we are able to acquire a strong reference to it.
We do not need the signal->lock crutch anymore, nor want the contention.
Signed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/i915_request.c | 10 --
1 file changed, 8 insertions(+), 2 del
src->engine_mutex, so long as we verify that nothing changed under the
read.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 24 +
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i9
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
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 39 +
1 file changed, 8 insertions(+), 31 del
Avoid the full blown memory barrier of test_and_set_bit() by noting the
completed request and removing it from the lists.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/i915_request.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff
When we know that we are inside the timeline mutex, or inside the
submission flow (under active.lock or the holder's rcu lock), we know
that the rq->hwsp is stable and we can use the simpler direct version.
Signed-off-by: Chris Wilson
Reviewed-by: Andi Shyti
---
drivers/gpu/drm/i915/
Quoting Andi Shyti (2021-01-14 03:01:15)
> Hi Chris,
>
> > diff --git a/drivers/gpu/drm/i915/i915_request.c
> > b/drivers/gpu/drm/i915/i915_request.c
> > index 0b1a46a0d866..784c05ac5cca 100644
> > --- a/drivers/gpu/drm/i915/i915_request.c
> > +++ b/drivers/gpu/drm/i915/i915_request.c
> > @@
Quoting Andi Shyti (2021-01-14 03:02:25)
> Hi Chris,
>
> On Wed, Jan 13, 2021 at 12:45:57PM +0000, Chris Wilson wrote:
> > Lift the busy-stats context-in/out implementation out of intel_lrc, so
> > that we can reuse it for other scheduler implementations.
> >
>
that they are able to extract the original debug logs.
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
Cc: Tvrtko Ursulin
---
drivers/gpu/drm/i915/Kconfig.debug | 16
drivers/gpu/drm/i915/i915_gem.h| 9 -
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/drivers
Now that i915 compiles cleanly with Werror, we can enforce enabling
DEBUG_GEM when selecting the default debug config.
Signed-off-by: Chris Wilson
Cc: Jani Nikula
---
drivers/gpu/drm/i915/Kconfig.debug | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm
Now that i915 compiles cleanly with Werror, we can enforce enabling
DEBUG_GEM when selecting the default debug config.
Signed-off-by: Chris Wilson
Cc: Jani Nikula
---
drivers/gpu/drm/i915/Kconfig.debug | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm
Verify that one context running on engine A cannot manipulate another
client's context concurrently running on engine B using unprivileged
access.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 275 +
1 file changed, 238 insertions(+), 37
Verify that context isolation is also preserved when accessing
context-local registers with relative-mmio commands.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 88 --
1 file changed, 67 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu
Quoting Chris Wilson (2021-01-14 10:13:37)
> Quoting Chris Wilson (2021-01-14 09:26:39)
> > + rq = record_registers(A, a, result[0], result[1], false, );
> > + if (IS_ERR(rq)) {
> > + err = PTR_ERR(rq);
> > +
The GFX_MODE is reset along with the engine, turning off ppGTT. We need
to re-enable it upon resume afterwards.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/gen6_ppgtt.c| 9 -
drivers/gpu/drm/i915/gt/intel_ring_submission.c | 13
Quoting Chris Wilson (2021-01-14 09:26:39)
> + rq = record_registers(A, a, result[0], result[1], false, );
> + if (IS_ERR(rq)) {
> + err = PTR_ERR(rq);
> + goto err_result1;
> + }
> +
> + err = poison_registers(B, a, p
Quoting Daniel Vetter (2021-01-14 09:30:32)
> On Thu, Jan 14, 2021 at 10:23 AM Chris Wilson
> wrote:
> > The only other problem I see with the implementation is that there's
> > nothing that says that each dmabuf->ops->map_dma_buf() returns a new
> > sg_table, so
Verify that one context running on engine A cannot manipulate another
client's context concurrently running on engine B using unprivileged
access.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 229 ++---
1 file changed, 204 insertions(+), 25
Verify that context isolation is also preserved when accessing
context-local registers with relative-mmio commands.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 88 --
1 file changed, 67 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu
Quoting Daniel Vetter (2021-01-14 09:02:57)
> On Wed, Jan 13, 2021 at 10:08 PM Chris Wilson
> wrote:
> > Quoting Daniel Vetter (2021-01-13 20:50:11)
> > > On Wed, Jan 13, 2021 at 4:43 PM Chris Wilson
> > > wrote:
> > > >
> > > > Quoting Dan
Verify that context isolation is also preserved when accessing
context-local registers with relative-mmio commands.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 88 --
1 file changed, 67 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu
Some rcs0 workarounds were being incorrectly applied to the GT, and so
we failed to restore the expected register settings after a reset.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/intel_workarounds.c | 95 +++--
1 file changed, 51
Some rcs0 workarounds were being incorrectly applied to the GT, and so
we failed to restore the expected register settings after a reset.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/intel_workarounds.c | 122
1 file changed, 49
Quoting Daniel Vetter (2021-01-13 20:50:11)
> On Wed, Jan 13, 2021 at 4:43 PM Chris Wilson wrote:
> >
> > Quoting Daniel Vetter (2021-01-13 14:06:04)
> > > We have too many people abusing the struct page they can get at but
> > > really shouldn't in importers.
Inject a fault into the engine reset and check that the outstanding
requests are completed despite the failed reset.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 144 +++
1 file changed, 144 insertions(+)
diff --git
In the legacy ringbuffer submission, we still had an open-coded version
of intel_engine_stop_cs() with one additional verification step. Transfer
that verification to intel_engine_stop_cs() itself, and call it.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt
ast
failed with error -22
v2: More context from CI.
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/selftest
Inject a fault into the engine reset and check that the outstanding
requests are completed despite the failed reset.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 142 +++
1 file changed, 142 insertions(+)
diff --git
Quoting Daniel Vetter (2021-01-13 14:06:04)
> We have too many people abusing the struct page they can get at but
> really shouldn't in importers. Aside from that the backing page might
> simply not exist (for dynamic p2p mappings) looking at it and using it
> e.g. for mmap can also wreak the page
- 160+160
__set_pd_entry 214 69-145
clear_pd_entry 190 42-148
ring_request_alloc 2021 841 -1180
Total: Before=1605086, After=1604375, chg -0.04%
Signed-off-by: Chris Wilson
Cc
777-810
Total: Before=1605815, After=1605086, chg -0.05%
Signed-off-by: Chris Wilson
Cc: Jani Nikula
---
.../drm/i915/gt/intel_execlists_submission.c | 63 +--
1 file changed, 29 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
ast
failed with error -22
v2: More context from CI.
Signed-off-by: Chris Wilson
Cc: Mika Kuoppala
---
drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_heartbea
Quoting Jani Nikula (2021-01-13 14:13:17)
> Always prefer the kernel types over stdint types in i915.
>
> Signed-off-by: Jani Nikula
Reviewed-by: Chris Wilson
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.
Quoting Mika Kuoppala (2021-01-13 14:13:57)
> Chris Wilson writes:
>
> > Since we are system_highpri_wq, we expected the heartbeat to be
> > scheduled promptly. However, we see delays of over 10ms upsetting our
> > assertions. Accept this as inevitable and bump the err
Since we are system_highpri_wq, we expected the heartbeat to be
scheduled promptly. However, we see delays of over 10ms upsetting our
assertions. Accept this as inevitable and bump the error threshold to
20ms (from 6ms).
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt
Since we are system_highpri_wq, we expected the heartbeat to be
scheduled promptly. However, we see delays of over 10ms upsetting our
assertions. Accept this as inevitable and bump the error threshold to
20ms (from 6ms).
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt
we are able to acquire a strong reference to it.
We do not need the signal->lock crutch anymore, nor want the contention.
Signed-off-by: Chris Wilson
Cc: Tvrtko Ursulin
---
drivers/gpu/drm/i915/i915_request.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/g
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 a/drive
Since schedule-in/out is now entirely serialised by the tasklet bitlock,
we do not need to worry about concurrent in/out operations and so reduce
the atomic operations to plain instructions.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c| 2 +-
drivers/gpu
When we know that we are inside the timeline mutex, or inside the
submission flow (under active.lock or the holder's rcu lock), we know
that the rq->hwsp is stable and we can use the simpler direct version.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gem/i915_gem_context.c |
Lift the busy-stats context-in/out implementation out of intel_lrc, so
that we can reuse it for other scheduler implementations.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_engine_stats.h | 49 +++
.../drm/i915/gt/intel_execlists_submission.c | 34
Avoid the full blown memory barrier of test_and_set_bit() by noting the
completed request and removing it from the lists.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/i915_request.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915
src->engine_mutex, so long as we verify that nothing changed under the
read.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 24 +
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c
b/drivers/g
As context-in/out is now always serialised, we do not have to worry
about concurrent enabling/disable of the busy-stats and can reduce the
atomic_t active to a plain unsigned int, and the seqlock to a seqcount.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c| 8
.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_gt_pm.c| 34 ++--
drivers/gpu/drm/i915/gt/intel_gt_types.h | 5
2 files changed, 8 insertions(+), 31 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
b/drivers/gpu/drm/i915/gt
.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/intel_engine_cs.c| 33 ++--
drivers/gpu/drm/i915/gt/intel_engine_stats.h | 24 +++---
drivers/gpu/drm/i915/gt/intel_engine_types.h | 5 ---
3 files changed, 14 insertions(+), 48 deletions(-)
diff --git
Quoting Matthew Auld (2021-01-12 17:26:41)
> On Tue, 12 Jan 2021 at 17:23, Jani Nikula wrote:
> >
> > There are no users outside of intel_region_lmem.c.
> >
> > Signed-off-by: Jani Nikula
> Reviewed-by: Matthew Auld
I pushed this and its companion, and then applied Matthew's git mv.
Thanks,
Quoting Matthew Auld (2021-01-12 16:43:00)
> Device local-memory should be thought of as part the GT, which means it
> should also sit under gt/.
>
> Suggested-by: Chris Wilson
> Signed-off-by: Matthew Auld
No significant change, yet.
Reviewed-by: Chris
Quoting Mika Kuoppala (2021-01-12 17:07:13)
> > + if (count & 1) {
> > + err = intel_engine_reset(engine, NULL);
> > + if (err) {
> > + GEM_TRACE_ERR("intel_engine_reset(%s)
> > failed,
Quoting Mika Kuoppala (2021-01-12 19:19:34)
> Chris Wilson writes:
>
> > In our tests where we measure the elapsed time on both the CPU and CS
> > using a udelay, our CS results match the udelay much more accurately
> > than the ktime (even when using ktime_get_f
Inject a fault into the engine reset and check that the outstanding
requests are completed despite the failed reset.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 133 +++
1 file changed, 133 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt
701 - 800 of 40210 matches
Mail list logo