Re: [Intel-gfx] [RFC PATCH 60/97] drm/i915: Track 'serial' counts for virtual engines

2021-06-01 Thread John Harrison
On 6/1/2021 02:31, Tvrtko Ursulin wrote: On 27/05/2021 18:01, John Harrison wrote: On 5/27/2021 01:53, Tvrtko Ursulin wrote: On 26/05/2021 19:45, John Harrison wrote: On 5/26/2021 01:40, Tvrtko Ursulin wrote: On 25/05/2021 18:52, Matthew Brost wrote: On Tue, May 25, 2021 at 11:16:12AM +0100

Re: [Intel-gfx] [PATCH 07/13] drm/i915/guc: New definition of the CTB registration action

2021-06-09 Thread John Harrison
On 6/7/2021 18:23, Daniele Ceraolo Spurio wrote: On 6/7/2021 11:03 AM, Matthew Brost wrote: From: Michal Wajdeczko Definition of the CTB registration action has changed. Add some ABI documentation and implement required changes. Signed-off-by: Michal Wajdeczko Signed-off-by: Matthew Brost C

Re: [Intel-gfx] [PATCH 01/26] drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct

2021-10-06 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: Move guc_id allocation under submission state sub-struct as a future patch will reuse the spin lock as a global submission state lock. Moving this into sub-struct makes ownership of fields / lock clear. Signed-off-by: Matthew Brost --- drivers/gpu/drm/

Re: [Intel-gfx] [PATCH 02/26] drm/i915/guc: Take GT PM ref when deregistering context

2021-10-06 Thread John Harrison
up. Previously we took a runtime PM from this atomic context which worked but will stop working once runtime pm autosuspend in enabled. So this patch is two fold, stop intel_gt_wait_for_idle from short circuting and fix runtime pm autosuspend. v2: (John Harrison) - Split structure changes

Re: [Intel-gfx] [PATCH 03/26] drm/i915/guc: Take engine PM when a context is pinned with GuC submission

2021-10-06 Thread John Harrison
when it is not can cause all sorts of issues throughout the stack. v2: (Daniel Vetter) - Add might_lock annotations to pin / unpin function v3: (CI) - Drop intel_engine_pm_might_put from unpin path as an async put is used v4: (John Harrison) - Make intel_engine_pm_might_get/pu

Re: [Intel-gfx] [PATCH 04/26] drm/i915/guc: Don't call switch_to_kernel_context with GuC submission

2021-10-06 Thread John Harrison
we save on issuing a request to the engine. v2: (Daniel Vetter) - Add FIXME comment about pushing switch_to_kernel_context to backend v3: (John Harrison) - Update commit message - Fix workding comment Signed-off-by: Matthew Brost Reviewed-by: Daniel Vetter Reviewed-by: Joh

Re: [Intel-gfx] [PATCH 01/26] drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct

2021-10-07 Thread John Harrison
On 10/7/2021 08:05, Matthew Brost wrote: On Wed, Oct 06, 2021 at 08:06:41PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Move guc_id allocation under submission state sub-struct as a future patch will reuse the spin lock as a global submission state lock. Moving this

Re: [Intel-gfx] [PATCH 05/26] drm/i915: Add logical engine mapping

2021-10-07 Thread John Harrison
, not sure about 'and defined in the bspec'. I would just drop that line. I think 'based on product and fusing' is sufficient. Otherwise, you should be including the bspec link. With that tweaked: Reviewed-by: John Harrison John. +*/ + intel_engine

Re: [Intel-gfx] [PATCH 07/26] drm/i915/guc: Introduce context parent-child relationship

2021-10-07 Thread John Harrison
arent / child contexts. v2: (Daniel Vetter) - Add kernel doc, add wrapper to access parent to ensure safety v3: (John Harrison) - Fix comment explaing GEM_BUG_ON in to_parent() - Make variable names generic (non-GuC specific) Signed-off-by: Matthew Brost --- drivers/gpu/drm/i9

Re: [Intel-gfx] [PATCH 08/26] drm/i915/guc: Add multi-lrc context registration

2021-10-07 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. v2: (John Harrison) - Move GuC specific fields into

Re: [Intel-gfx] [PATCH 09/26] drm/i915/guc: Ensure GuC schedule operations do not operate on child contexts

2021-10-07 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: In GuC parent-child contexts the parent context controls the scheduling, ensure only the parent does the scheduling operations. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13

Re: [Intel-gfx] [PATCH 10/26] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-07 Thread John Harrison
v3: (John Harrison) - Bring back in spin lock Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc.h| 6 +- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 104 ++ 2 files changed, 86 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/drm

Re: [Intel-gfx] [PATCH 03/26] drm/i915/guc: Take engine PM when a context is pinned with GuC submission

2021-10-07 Thread John Harrison
On 10/7/2021 08:19, Matthew Brost wrote: On Wed, Oct 06, 2021 at 08:45:42PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Taking a PM reference to prevent intel_gt_wait_for_idle from short circuiting while a scheduling of user context could be enabled. I'm not sure

Re: [Intel-gfx] [PATCH 10/26] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-08 Thread John Harrison
On 10/7/2021 18:21, Matthew Brost wrote: On Thu, Oct 07, 2021 at 03:03:04PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Assign contexts in parent-child relationship consecutive guc_ids. This is accomplished by partitioning guc_id space between ones that need to be

Re: [Intel-gfx] [PATCH 08/26] drm/i915/guc: Add multi-lrc context registration

2021-10-08 Thread John Harrison
On 10/7/2021 12:50, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. v2:   (John

Re: [Intel-gfx] [PATCH 12/26] drm/i915/guc: Implement multi-lrc submission

2021-10-08 Thread John Harrison
and bypass path have been updated to coalesce requests into a single submission. v2: (John Harrison) - s/wqe/wqi - Use FIELD_PREP macros - Add GEM_BUG_ONs ensures length fits within field - Add comment / white space to intel_guc_write_barrier (Kernel test robot) - Make

Re: [Intel-gfx] [PATCH 14/26] drm/i915/guc: Implement multi-lrc reset

2021-10-08 Thread John Harrison
equests as needed. v2: (John Harrison) - Simply loop in find active request - Add comments to find ative request / reset loop Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c | 15 +++- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 69 ++-

Re: [Intel-gfx] [PATCH 15/26] drm/i915/guc: Update debugfs for GuC multi-lrc

2021-10-08 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: Display the workqueue status in debugfs for GuC contexts that are in parent-child relationship. v2: (John Harrison) - Output number children in debugfs Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc

Re: [Intel-gfx] [PATCH 16/26] drm/i915: Fix bug in user proto-context creation that leaked contexts

2021-10-08 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: Set number of engines before attempting to create contexts so the function free_engines can clean up properly. Also check return of alloc_engines for NULL. v2: (Tvrtko) - Send as stand alone patch (John Harrison) - Check for alloc_engines

Re: [Intel-gfx] [PATCH 17/26] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-11 Thread John Harrison
l/media-driver/pull/1252 v2: (Daniel Vetter) - Add IGT link and placeholder for media UMD link v3: (Kernel test robot) - Fix warning in unpin engines call (John Harrison) - Reword a bunch of the kernel doc Cc: Tvrtko Ursulin Signed-off-by: Matthew Brost --- drivers/gp

Re: [Intel-gfx] [PATCH 20/26] drm/i915/guc: Implement no mid batch preemption for multi-lrc

2021-10-11 Thread John Harrison
n parent emit_bb_start & emit_fini_breadcrumb functions and enabled via by via by -> by I'm also not seeing any mention of the forced re-group behavioural change in either the comments or commit description. default if a context is configured by set parallel extension. v2: (John Harr

Re: [Intel-gfx] [PATCH 21/26] drm/i915: Multi-BB execbuf

2021-10-12 Thread John Harrison
v=1 media UMD: https://github.com/intel/media-driver/pull/1252 v2: (Matthew Brost) - Return proper error value if i915_request_create fails v3: (John Harrison) - Add comment explaining create / add order loops + locking - Update commit message explaining different in IOCTL behavior

Re: [Intel-gfx] [PATCH 22/26] drm/i915/guc: Handle errors in multi-lrc requests

2021-10-12 Thread John Harrison
parent and children to make forward progress. If all the requests are not present this handshake doesn't work. To work around this, if multi-lrc request has an error we skip the handshake but still emit the breadcrumbs seqno. v2: (John Harrison) - Add comment explaining the skipping o

Re: [Intel-gfx] [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-12 Thread John Harrison
On 10/4/2021 15:06, Matthew Brost wrote: If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the same parallel context there is no need to enforce ordering as the ordering already implicit. Make the request c

Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Parallel submission aka multi-bb execbuf (rev4)

2021-10-12 Thread John Harrison
On 10/4/2021 15:21, Patchwork wrote: == Series Details == Series: Parallel submission aka multi-bb execbuf (rev4) URL : https://patchwork.freedesktop.org/series/92789/ State : warning == Summary == $ dim checkpatch origin/drm-tip e2a47a99bf9d drm/i915/guc: Move GuC guc_id allocation under su

Re: [Intel-gfx] ✗ Fi.CI.DOCS: warning for Parallel submission aka multi-bb execbuf (rev4)

2021-10-12 Thread John Harrison
On 10/4/2021 15:26, Patchwork wrote: == Series Details == Series: Parallel submission aka multi-bb execbuf (rev4) URL : https://patchwork.freedesktop.org/series/92789/ State : warning == Summary == $ make htmldocs 2>&1 > /dev/null | grep i915 ./drivers/gpu/drm/i915/gt/uc/intel_guc.h:166: war

Re: [Intel-gfx] [PATCH 10/26] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-13 Thread John Harrison
On 10/13/2021 11:03, Matthew Brost wrote: On Fri, Oct 08, 2021 at 09:40:43AM -0700, John Harrison wrote: On 10/7/2021 18:21, Matthew Brost wrote: On Thu, Oct 07, 2021 at 03:03:04PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Assign contexts in parent-child

Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Parallel submission aka multi-bb execbuf (rev4)

2021-10-13 Thread John Harrison
On 10/12/2021 17:15, Matthew Brost wrote: On Tue, Oct 12, 2021 at 03:15:00PM -0700, John Harrison wrote: On 10/4/2021 15:21, Patchwork wrote: == Series Details == Series: Parallel submission aka multi-bb execbuf (rev4) URL : https://patchwork.freedesktop.org/series/92789/ State : warning

Re: [Intel-gfx] [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread John Harrison
On 10/13/2021 10:51, Matthew Brost wrote: On Tue, Oct 12, 2021 at 03:08:05PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the

Re: [Intel-gfx] [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread John Harrison
On 10/12/2021 17:32, Matthew Brost wrote: On Tue, Oct 12, 2021 at 03:08:05PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the

Re: [Intel-gfx] [PATCH 01/25] drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct

2021-10-13 Thread John Harrison
sub-structure v3: (John Harrison) - Fixup a few comments Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/intel_context_types.h | 6 +-- drivers/gpu/drm/i915/gt/uc/intel_guc.h| 28 +++ .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 48

Re: [Intel-gfx] [PATCH 02/25] drm/i915/guc: Take GT PM ref when deregistering context

2021-10-13 Thread John Harrison
blows up. Previously we took a runtime PM from this atomic context which worked but will stop working once runtime pm autosuspend in enabled. So this patch is two fold, stop intel_gt_wait_for_idle from short circuting and fix runtime pm autosuspend. v2: (John Harrison) - Split structure changes

Re: [Intel-gfx] [PATCH 03/25] drm/i915/guc: Take engine PM when a context is pinned with GuC submission

2021-10-13 Thread John Harrison
annotations to pin / unpin function v3: (CI) - Drop intel_engine_pm_might_put from unpin path as an async put is used v4: (John Harrison) - Make intel_engine_pm_might_get/put work with GuC virtual engines - Update commit message v5: - Update commit message again Signed-off-by

Re: [Intel-gfx] [PATCH 08/25] drm/i915/guc: Add multi-lrc context registration

2021-10-13 Thread John Harrison
On 10/13/2021 13:42, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. v2: (John Harrison) - Move GuC specific fields into

Re: [Intel-gfx] [PATCH 12/25] drm/i915/guc: Implement multi-lrc submission

2021-10-13 Thread John Harrison
tasklet and bypass path have been updated to coalesce requests into a single submission. v2: (John Harrison) - s/wqe/wqi - Use FIELD_PREP macros - Add GEM_BUG_ONs ensures length fits within field - Add comment / white space to intel_guc_write_barrier (Kernel test robot) - Make

Re: [Intel-gfx] [PATCH 14/25] drm/i915/guc: Implement multi-lrc reset

2021-10-13 Thread John Harrison
On 10/13/2021 13:42, Matthew Brost wrote: Update context and full GPU reset to work with multi-lrc. The idea is parent context tracks all the active requests inflight for itself and its children. The parent context owns the reset replaying / canceling requests as needed. v2: (John Harrison

Re: [Intel-gfx] [PATCH 19/25] drm/i915/guc: Implement no mid batch preemption for multi-lrc

2021-10-13 Thread John Harrison
ptor. v2: (John Harrison) - Fix a few comments wording - Add struture for parent page layout v3: (Jojhn Harrison) - A structure for sync semaphore - Use offsetof to calc address - Update commit message Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c

Re: [Intel-gfx] [PATCH 20/25] drm/i915: Multi-BB execbuf

2021-10-13 Thread John Harrison
eries=93071&rev=1 media UMD: https://github.com/intel/media-driver/pull/1252 v2: (Matthew Brost) - Return proper error value if i915_request_create fails v3: (John Harrison) - Add comment explaining create / add order loops + locking - Update commit message explaining differen

Re: [Intel-gfx] [PATCH 21/25] drm/i915/guc: Handle errors in multi-lrc requests

2021-10-13 Thread John Harrison
parent and children to make forward progress. If all the requests are not present this handshake doesn't work. To work around this, if multi-lrc request has an error we skip the handshake but still emit the breadcrumbs seqno. v2: (John Harrison) - Add comment explaining the skipping o

Re: [Intel-gfx] [PATCH 22/25] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread John Harrison
request conflict tracking understand this by comparing a parallel submit's parent context and skipping conflict insertion if the values match. v2: (John Harrison) - Reword commit message Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/i915_request.c

Re: [Intel-gfx] [PATCH 16/25] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-13 Thread John Harrison
l/media-driver/pull/1252 v2: (Daniel Vetter) - Add IGT link and placeholder for media UMD link v3: (Kernel test robot) - Fix warning in unpin engines call (John Harrison) - Reword a bunch of the kernel doc v4: (John Harrison) - Add comment why perma-pin is done after setti

Re: [Intel-gfx] [PATCH i-g-t] tests/i915: Skip gem_exec_fair on GuC based platforms

2021-10-13 Thread John Harrison
On 10/13/2021 15:53, Dixit, Ashutosh wrote: On Wed, 13 Oct 2021 15:43:17 -0700, wrote: From: John Harrison The gem_exec_fair test is specifically testing scheduler algorithm performance. However, GuC does not implement the same algorithm as execlist mode and this test is not applicable. So

Re: [Intel-gfx] [PATCH 16/25] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-14 Thread John Harrison
On 10/14/2021 08:32, Matthew Brost wrote: On Wed, Oct 13, 2021 at 06:02:42PM -0700, John Harrison wrote: On 10/13/2021 13:42, Matthew Brost wrote: Introduce 'set parallel submit' extension to connect UAPI to GuC multi-lrc interface. Kernel doc in new uAPI should explain it all.

Re: [Intel-gfx] [PATCH 11/25] drm/i915/guc: Implement parallel context pin / unpin functions

2021-10-14 Thread John Harrison
sable scheduling with the GuC / or deregister the context. v2: (Daniel Vetter) - Perma-pin parallel contexts Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 70 +++ 1 file changed, 70 insertions(+) diff --git a/dr

Re: [Intel-gfx] [PATCH 16/25] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-14 Thread John Harrison
On 10/14/2021 09:41, Matthew Brost wrote: On Thu, Oct 14, 2021 at 09:43:36AM -0700, John Harrison wrote: On 10/14/2021 08:32, Matthew Brost wrote: On Wed, Oct 13, 2021 at 06:02:42PM -0700, John Harrison wrote: On 10/13/2021 13:42, Matthew Brost wrote: Introduce 'set parallel s

Re: [Intel-gfx] [PATCH 08/25] drm/i915/guc: Add multi-lrc context registration

2021-10-14 Thread John Harrison
On 10/14/2021 10:19, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. v2: (John Harrison) - Move GuC specific fields into

Re: [Intel-gfx] [PATCH 16/25] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-14 Thread John Harrison
l/media-driver/pull/1252 v2: (Daniel Vetter) - Add IGT link and placeholder for media UMD link v3: (Kernel test robot) - Fix warning in unpin engines call (John Harrison) - Reword a bunch of the kernel doc v4: (John Harrison) - Add comment why perma-pin is done after setti

Re: [Intel-gfx] [PATCH 20/25] drm/i915: Multi-BB execbuf

2021-10-14 Thread John Harrison
eries=93071&rev=1 media UMD: https://github.com/intel/media-driver/pull/1252 v2: (Matthew Brost) - Return proper error value if i915_request_create fails v3: (John Harrison) - Add comment explaining create / add order loops + locking - Update commit message explaining differen

Re: [Intel-gfx] [PATCH 24/25] drm/i915: Enable multi-bb execbuf

2021-10-14 Thread John Harrison
On 10/14/2021 10:20, Matthew Brost wrote: Enable multi-bb execbuf by enabling the set_parallel extension. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH 25/25] drm/i915/execlists: Weak parallel submission support for execlists

2021-10-14 Thread John Harrison
On 10/14/2021 10:20, Matthew Brost wrote: A weak implementation of parallel submission (multi-bb execbuf IOCTL) for execlists. Doing as little as possible to support this interface for execlists - basically just passing submit fences between each request generated and virtual engines are not allo

Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes

2021-10-15 Thread John Harrison
t was already merged after all? John. commit b0179f0d18dd7e6fb6b1c52c49ac21365257e97e Author: Hugh Dickins AuthorDate: Tue Sep 21 18:50:39 2021 -0700 Commit: John Harrison CommitDate: Thu Oct 14 18:29:01 2021 -0700     drm/i915: fix blank screen booting crashes commit cdc1e6e225e3256d56dc6648411630e71d7c776b Author

Re: [Intel-gfx] [igt-dev] [PATCH v2 i-g-t] tests/i915: Skip gem_exec_fair on GuC based platforms

2021-10-15 Thread John Harrison
On 10/15/2021 07:52, Dixit, Ashutosh wrote: On Thu, 14 Oct 2021 12:42:38 -0700, wrote: + /* +* These tests are for a specific scheduling model which is +* not currently implemented by GuC. So skip on GuC platforms. +*/ +

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Increase timeout in requests perf selftest

2021-10-20 Thread John Harrison
test understand that is ok for contexts to get starved in this scenario. A future patch / cleanup may just delete these micro benchmark tests as they basically mean nothing. We care about real workloads not made up ones. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Allow engine reset failure to do a GT reset in hangcheck selftest

2021-10-22 Thread John Harrison
On 10/22/2021 10:03, Matthew Brost wrote: On Fri, Oct 22, 2021 at 08:23:55AM +0200, Thomas Hellström wrote: On 10/21/21 22:37, Matthew Brost wrote: On Thu, Oct 21, 2021 at 08:15:49AM +0200, Thomas Hellström wrote: Hi, Matthew, On Mon, 2021-10-11 at 16:47 -0700, Matthew Brost wrote: The hangc

Re: [Intel-gfx] [PATCH 00/47] GuC submission support

2021-10-25 Thread John Harrison
assing. Signed-off-by: Matthew Brost [1] https://patchwork.freedesktop.org/series/89844/ [2] https://patchwork.freedesktop.org/series/91417/ Daniele Ceraolo Spurio (1): drm/i915/guc: Unblock GuC submission on Gen11+ John Harrison (10): drm/i915/guc: Module load failure test for CT buffe

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Allow engine reset failure to do a GT reset in hangcheck selftest

2021-10-25 Thread John Harrison
On 10/23/2021 11:36, Thomas Hellström wrote: On 10/23/21 20:18, Matthew Brost wrote: On Sat, Oct 23, 2021 at 07:46:48PM +0200, Thomas Hellström wrote: On 10/22/21 20:09, John Harrison wrote: And to be clear, the engine reset is not supposed to fail. Whether issued by GuC or i915, the GDRST

Re: [Intel-gfx] [PATCH] drm/i915/trace: Hide backend specific fields behind Kconfig

2021-10-25 Thread John Harrison
On 10/25/2021 09:34, Matthew Brost wrote: Hide the guc_id and tail fields, for request trace points, behind CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS Kconfig option. Trace points are ABI (maybe?) so don't change them without kernel developers Kconfig options. The i915 sw arch team have previously har

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Allow engine reset failure to do a GT reset in hangcheck selftest

2021-10-26 Thread John Harrison
On 10/11/2021 16:47, Matthew Brost wrote: The hangcheck selftest blocks per engine resets by setting magic bits in the reset flags. This is incorrect for GuC submission because if the GuC fails to reset an engine we would like to do a full GT reset. Do no set these magic bits when using GuC submi

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Allow engine reset failure to do a GT reset in hangcheck selftest

2021-10-26 Thread John Harrison
On 10/21/2021 23:23, Thomas Hellström wrote: On 10/21/21 22:37, Matthew Brost wrote: On Thu, Oct 21, 2021 at 08:15:49AM +0200, Thomas Hellström wrote: Hi, Matthew, On Mon, 2021-10-11 at 16:47 -0700, Matthew Brost wrote: The hangcheck selftest blocks per engine resets by setting magic bits in

Re: [Intel-gfx] [PATCH] drm/i915/execlists: Weak parallel submission support for execlists

2021-10-26 Thread John Harrison
allowed. This is on par with what is there for the existing (hopefully soon deprecated) bonding interface. We perma-pin these execlists contexts to align with GuC implementation. v2: (John Harrison) - Drop siblings array as num_siblings must be 1 Signed-off-by: Matthew Brost --- drivers/gpu

Re: [Intel-gfx] [PATCH] drm/i915/execlists: Weak parallel submission support for execlists

2021-10-27 Thread John Harrison
On 10/27/2021 12:17, Matthew Brost wrote: On Tue, Oct 26, 2021 at 02:58:00PM -0700, John Harrison wrote: On 10/20/2021 14:47, Matthew Brost wrote: A weak implementation of parallel submission (multi-bb execbuf IOCTL) for execlists. Doing as little as possible to support this interface for

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Allow engine reset failure to do a GT reset in hangcheck selftest

2021-10-27 Thread John Harrison
On 10/26/2021 23:36, Thomas Hellström wrote: Hi, John, On 10/26/21 21:55, John Harrison wrote: On 10/21/2021 23:23, Thomas Hellström wrote: On 10/21/21 22:37, Matthew Brost wrote: On Thu, Oct 21, 2021 at 08:15:49AM +0200, Thomas Hellström wrote: Hi, Matthew, On Mon, 2021-10-11 at 16:47

Re: [Intel-gfx] [PATCH] drm/i915/resets: Don't set / test for per-engine reset bits with GuC submission

2021-10-28 Thread John Harrison
t use these bits, rip the use of these bits out from the reset code. To be clear, there are other tests poking these bits in addition to hangcheck. Not sure if they would suffer from the same problems but I don't see why they wouldn't. Reviewed-by: John Harrison Signed-off-by

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 2/8] tests/i915/gem_exec_capture: Cope with larger page sizes

2021-10-29 Thread John Harrison
On 10/29/2021 10:39, Matthew Brost wrote: On Thu, Oct 21, 2021 at 04:40:38PM -0700, john.c.harri...@intel.com wrote: From: John Harrison At some point, larger than 4KB page sizes were added to the i915 driver. This included adding an informational line to the buffer entries in error capture

Re: [Intel-gfx] [PATCH 06/27] drm/i915/guc: Take engine PM when a context is pinned with GuC submission

2021-09-13 Thread John Harrison
On 9/9/2021 17:41, Matthew Brost wrote: On Thu, Sep 09, 2021 at 03:46:43PM -0700, John Harrison wrote: On 8/20/2021 15:44, Matthew Brost wrote: Taking a PM reference to prevent intel_gt_wait_for_idle from short circuiting while a scheduling of user context could be enabled. As with earlier PM

Re: [Intel-gfx] [PATCH 07/27] drm/i915/guc: Don't call switch_to_kernel_context with GuC submission

2021-09-13 Thread John Harrison
On 9/13/2021 09:54, Matthew Brost wrote: On Thu, Sep 09, 2021 at 03:51:27PM -0700, John Harrison wrote: On 8/20/2021 15:44, Matthew Brost wrote: Calling switch_to_kernel_context isn't needed if the engine PM reference is taken while all contexts are pinned. By not ca

Re: [Intel-gfx] [PATCH 09/27] drm/i915: Expose logical engine instance to user

2021-09-13 Thread John Harrison
idea why the padding? Would be useful if the comment said 'this structure must be at least/exactly X bytes in size / a multiple of X bytes in size because ...' or whatever. However, not really anything to do with this patch as such, so either way: Reviewed-by: John Harrison

Re: [Intel-gfx] [PATCH 10/27] drm/i915/guc: Introduce context parent-child relationship

2021-09-13 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Introduce context parent-child relationship. Once this relationship is created all pinning / unpinning operations are directed to the parent context. The parent context is responsible for pinning all of its' children and itself. This is a precursor to the

Re: [Intel-gfx] [PATCH 4/4] drm/i915/guc: Refcount context during error capture

2021-09-14 Thread John Harrison
On 9/14/2021 07:29, Daniel Vetter wrote: On Mon, Sep 13, 2021 at 10:09:56PM -0700, Matthew Brost wrote: From: John Harrison When i915 receives a context reset notification from GuC, it triggers an error capture before resetting any outstanding requsts of that context. Unfortunately, the error

Re: [Intel-gfx] [PATCH 12/27] drm/i915/guc: Add multi-lrc context registration

2021-09-15 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/g

Re: [Intel-gfx] [PATCH 13/27] drm/i915/guc: Ensure GuC schedule operations do not operate on child contexts

2021-09-15 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: In GuC parent-child contexts the parent context controls the scheduling, ensure only the parent does the scheduling operations. Signed-off-by: Matthew Brost --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 24 ++- 1 file changed, 18

Re: [Intel-gfx] [PATCH] drm/i915/guc/slpc: remove unneeded clflush calls

2021-09-15 Thread John Harrison
On 9/15/2021 12:24, Belgaumkar, Vinay wrote: On 9/14/2021 12:51 PM, Lucas De Marchi wrote: The clflush calls here aren't doing anything since we are not writting something and flushing the cache lines to be visible to GuC. Here the intention seems to be to make sure whatever GuC has written is v

Re: [Intel-gfx] [PATCH 14/27] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-09-15 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Assign contexts in parent-child relationship consecutive guc_ids. This is accomplished by partitioning guc_id space between ones that need to be consecutive (1/16 available guc_ids) and ones that do not (15/16 of available guc_ids). The consecutive search

Re: [Intel-gfx] [PATCH 12/27] drm/i915/guc: Add multi-lrc context registration

2021-09-15 Thread John Harrison
On 9/15/2021 12:31, Matthew Brost wrote: On Wed, Sep 15, 2021 at 12:21:35PM -0700, John Harrison wrote: On 8/20/2021 15:44, Matthew Brost wrote: Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data

Re: [Intel-gfx] [PATCH 4/5] drm/i915/guc: Enable GuC submission by default on DG1

2021-09-16 Thread John Harrison
On 9/16/2021 09:28, Matthew Brost wrote: Enable GuC submission by default on DG1 Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 1/1] tests/i915/query: Query, parse and validate the hwconfig table

2021-09-16 Thread John Harrison
sting query API. So add a test for it as both an example of how to fetch the table and to validate the contents as much as is possible. Signed-off-by: Rodrigo Vivi Signed-off-by: John Harrison Cc: Slawomir Milczarek Reviewed-by: Matthew Brost --- include/drm-uapi/i915_drm.h | 1 +

Re: [Intel-gfx] [PATCH 15/27] drm/i915/guc: Implement multi-lrc submission

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Implement multi-lrc submission via a single workqueue entry and single H2G. The workqueue entry contains an updated tail value for each request, of all the contexts in the multi-lrc submission, and updates these values simultaneously. As such, the tasklet

Re: [Intel-gfx] [PATCH 16/27] drm/i915/guc: Insert submit fences between requests in parent-child relationship

2021-09-20 Thread John Harrison
relationship. This is conceptually similar to a single timeline. Signed-off-by: Matthew Brost Cc: John Harrison --- drivers/gpu/drm/i915/gt/intel_context.h | 5 + drivers/gpu/drm/i915/gt/intel_context_types.h | 7 + .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 5 +- drivers

Re: [Intel-gfx] [PATCH 17/27] drm/i915/guc: Implement multi-lrc reset

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Update context and full GPU reset to work with multi-lrc. The idea is parent context tracks all the active requests inflight for itself and its' children. The parent context owns the reset replaying / canceling its' -> its requests as needed. Signed-of

Re: [Intel-gfx] [PATCH 18/27] drm/i915/guc: Update debugfs for GuC multi-lrc

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Display the workqueue status in debugfs for GuC contexts that are in parent-child relationship. Signed-off-by: Matthew Brost --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 51 ++- 1 file changed, 37 insertions(+), 14 deletions(

Re: [Intel-gfx] [PATCH 19/27] drm/i915: Fix bug in user proto-context creation that leaked contexts

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Set number of engines before attempting to create contexts so the function free_engines can clean up properly. Fixes: d4433c7600f7 ("drm/i915/gem: Use the proto-context to handle create parameters (v5)") Signed-off-by: Matthew Brost Cc: --- drivers/g

Re: [Intel-gfx] [PATCH 20/27] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Introduce 'set parallel submit' extension to connect UAPI to GuC multi-lrc interface. Kernel doc in new uAPI should explain it all. IGT: https://patchwork.freedesktop.org/patch/447008/?series=93071&rev=1 media UMD: link to come Is this link still not ava

Re: [Intel-gfx] [PATCH 21/27] drm/i915/doc: Update parallel submit doc to point to i915_drm.h

2021-09-20 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: Update parallel submit doc to point to i915_drm.h Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- Documentation/gpu/rfc/i915_parallel_execbuf.h | 122 -- Documentation/gpu/rfc/i915_scheduler.rst | 4 +- 2

Re: [Intel-gfx] [PATCH 15/27] drm/i915/guc: Implement multi-lrc submission

2021-09-22 Thread John Harrison
On 9/22/2021 09:25, Matthew Brost wrote: On Mon, Sep 20, 2021 at 02:48:52PM -0700, John Harrison wrote: On 8/20/2021 15:44, Matthew Brost wrote: Implement multi-lrc submission via a single workqueue entry and single H2G. The workqueue entry contains an updated tail value for each request, of

Re: [Intel-gfx] [PATCH 22/27] drm/i915/guc: Add basic GuC multi-lrc selftest

2021-09-28 Thread John Harrison
arent(gt, class, 0); + if (IS_ERR(parent)) { + pr_err("Failed creating contexts: %ld", PTR_ERR(parent)); + return PTR_ERR(parent); + } else if (!parent) { + pr_debug("Not enough engines in class: %d", +

Re: [Intel-gfx] [PATCH 23/27] drm/i915/guc: Implement no mid batch preemption for multi-lrc

2021-09-28 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: For some users of multi-lrc, e.g. split frame, it isn't safe to preempt mid BB. To safely enable preemption at the BB boundary, a handshake between to parent and child is needed. This is implemented via custom emit_bb_start & emit_fini_breadcrumb functions

Re: [Intel-gfx] [PATCH 23/27] drm/i915/guc: Implement no mid batch preemption for multi-lrc

2021-09-28 Thread John Harrison
On 9/28/2021 15:33, Matthew Brost wrote: On Tue, Sep 28, 2021 at 03:20:42PM -0700, John Harrison wrote: On 8/20/2021 15:44, Matthew Brost wrote: For some users of multi-lrc, e.g. split frame, it isn't safe to preempt mid BB. To safely enable preemption at the BB boundary, a handshake be

Re: [Intel-gfx] [PATCH 25/27] drm/i915/guc: Handle errors in multi-lrc requests

2021-09-29 Thread John Harrison
On 8/20/2021 15:44, Matthew Brost wrote: If an error occurs in the front end when multi-lrc requests are getting generated we need to skip these in the backend but we still need to emit the breadcrumbs seqno. An issues arrises because with multi-lrc arrises -> arises breadcrumbs there is a han

Re: [Intel-gfx] [PATCH 23/51] drm/i915/guc: Direct all breadcrumbs for a class to single breadcrumbs

2021-07-20 Thread John Harrison
class when using GuC submission and direct all physical engine interrupts to this breadcrumbs. v2: (John H) - Rework header file structure so intel_engine_mask_t can be in intel_engine_types.h Signed-off-by: Matthew Brost CC: John Harrison Reviewed-by: John Harrison --- drive

Re: [Intel-gfx] [PATCH 15/51] drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC

2021-07-20 Thread John Harrison
On 7/19/2021 18:53, Matthew Brost wrote: On Mon, Jul 19, 2021 at 06:03:05PM -0700, John Harrison wrote: On 7/16/2021 13:16, Matthew Brost wrote: When running the GuC the GPU can't be considered idle if the GuC still has contexts pinned. As such, a call has been added in intel_gt_wait_for

Re: [Intel-gfx] [PATCH 24/51] drm/i915: Add i915_sched_engine destroy vfunc

2021-07-20 Thread John Harrison
o not leak stuff and/or dereference null pointers! Either way... Reviewed-by: John Harrison destroyed. Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/i915_scheduler.c | 3 ++- drivers/gpu/drm/i915/i915_scheduler.h | 4 +--- drivers/gpu/drm/i915/i915_scheduler_type

Re: [Intel-gfx] [PATCH 25/51] drm/i915: Move active request tracking to a vfunc

2021-07-20 Thread John Harrison
On 7/16/2021 13:16, Matthew Brost wrote: Move active request tracking to a backend vfunc rather than assuming all backends want to do this in the maner. In the case execlists / maner -> manner. In the case *of* execlists With those fixed... Reviewed-by: John Harrison ring submission

Re: [Intel-gfx] [PATCH 26/51] drm/i915/guc: Reset implementation for new GuC interface

2021-07-20 Thread John Harrison
(CT deadlock/corrupt check) v3: (John H) - Split into a series of smaller patches While the split happened, it doesn't look like any of the other comments were address. Repeated below for clarity. Also, Tvrtko has a bunch of outstanding comments too. Cc: John Harrison Signed-o

Re: [Intel-gfx] [PATCH 30/51] drm/i915/guc: Handle context reset notification

2021-07-20 Thread John Harrison
On 7/16/2021 13:17, Matthew Brost wrote: GuC will issue a reset on detecting an engine hang and will notify the driver via a G2H message. The driver will service the notification by resetting the guilty context to a simple state or banning it completely. v2: (John Harrison) - Move msg[0

Re: [Intel-gfx] [PATCH 42/51] drm/i915/guc: Implement banned contexts for GuC submission

2021-07-20 Thread John Harrison
On 7/16/2021 13:17, Matthew Brost wrote: When using GuC submission, if a context gets banned disable scheduling and mark all inflight requests as complete. Cc: John Harrison Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 2

Re: [Intel-gfx] [PATCH 47/51] drm/i915/selftest: Increase some timeouts in live_requests

2021-07-20 Thread John Harrison
On 7/16/2021 13:17, Matthew Brost wrote: Requests may take slightly longer with GuC submission, let's increase the timeouts in live_requests. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/selftests/i915_request.c | 4 ++-- 1 file changed, 2 inser

Re: [Intel-gfx] [PATCH v2 06/50] drm/i915/xehp: Extra media engines - Part 1 (engine definitions)

2021-07-20 Thread John Harrison
On 7/20/2021 16:03, Lucas De Marchi wrote: On Tue, Jul 13, 2021 at 08:14:56PM -0700, Matt Roper wrote: From: John Harrison Xe_HP can have a lot of extra media engines. This patch adds the basic definitions for them. v2: - Re-order intel_gt_info and intel_device_info slightly to avoid

Re: [Intel-gfx] [PATCH 04/18] drm/i915/guc: Implement GuC submission tasklet

2021-07-20 Thread John Harrison
disable the rescheduling of the physical engine tasklet, when using GuC scheduling, as the physical engine tasklet is no longer used. In this patch the field, guc_id, has been added to intel_context and is not assigned. Patches later in the series will assign this value. v2: (John Harrison

Re: [Intel-gfx] [PATCH 06/18] drm/i915/guc: Implement GuC context operations for new inteface

2021-07-20 Thread John Harrison
Brost) - Drop GUC_ID_START (John Harrison) - Fix a bunch of typos - Use drm_err rather than drm_dbg for G2H errors (Daniele) - Fix ;; typo - Clean up sched state functions - Add lockdep for guc_id functions - Don't call __release_guc_id when guc_id is invalid

Re: [Intel-gfx] [PATCH 08/33] drm/i915/guc: Reset implementation for new GuC interface

2021-07-26 Thread John Harrison
(CT deadlock/corrupt check) v3: (John H) - Split into a series of smaller patches v4: (John H) - Fix typo - Add braces around if statements in reset code Cc: John Harrison Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/intel_gt_pm.c

  1   2   3   4   5   6   7   8   9   10   >