Re: [PATCH 04/51] drm/i915/guc: Implement GuC submission tasklet

2021-07-19 Thread John Harrison
this value. v2: (John Harrison) - Clean up some comments Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context_types.h | 9 + drivers/gpu/drm/i915/gt/uc/intel_guc.h| 4 + .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 231 +

Re: [PATCH 06/51] drm/i915/guc: Implement GuC context operations for new inteface

2021-07-19 Thread John Harrison
: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c | 5 + drivers/gpu/drm/i915/gt/intel_context_types.h | 22 +- drivers/gpu/drm/i915/gt/intel_lrc_reg.h | 1 - drivers/gpu/drm/i915/gt/uc/intel_guc.h| 40 ++ drivers/gpu/drm/i915/gt/uc

Re: [PATCH 04/51] drm/i915/guc: Implement GuC submission tasklet

2021-07-19 Thread John Harrison
On 7/19/2021 15:55, Matthew Brost wrote: On Mon, Jul 19, 2021 at 04:01:56PM -0700, John Harrison wrote: On 7/16/2021 13:16, Matthew Brost wrote: Implement GuC submission tasklet for new interface. The new GuC interface uses H2G to submit contexts to the GuC. Since H2G use a single channel, a

Re: [PATCH 13/51] drm/i915/guc: Disable semaphores when using GuC scheduling

2021-07-19 Thread John Harrison
i915 so another reason to not enable these for GuC submission. This patch fixes an existing bug where I915_ENGINE_HAS_SEMAPHORES was not honored correctly. Bugs plural. Otherwise: Reviewed-by: John Harrison v2: Reword commit message v3: (John H) - Add text to commit indicating this also

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

2021-07-19 Thread John Harrison
. v2: rtimeout -> remaining_timeout v3: Drop unnecessary includes, guc_submission_busy_loop -> guc_submission_send_busy_loop, drop negatie timeout trick, move a refactor of guc_context_unpin to earlier path (John H) Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/d

Re: [PATCH 16/51] drm/i915/guc: Update GuC debugfs to support new GuC

2021-07-19 Thread John Harrison
On 7/16/2021 13:16, Matthew Brost wrote: Update GuC debugfs to support the new GuC structures. v2: (John Harrison) - Remove intel_lrc_reg.h include from i915_debugfs.c (Michal) - Rename GuC debugfs functions Signed-off-by: John Harrison Signed-off-by: Matthew Brost Reviewed-by

Re: [PATCH 17/51] drm/i915/guc: Add several request trace points

2021-07-19 Thread John Harrison
addressed. John. and ring tail value. v2: Fix white space alignment in i915_request_add trace point Cc: John Harrison Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 3 ++ drivers/gpu/drm/i915/i915_request.c | 3

Re: [PATCH 20/51] drm/i915: Track 'serial' counts for virtual engines

2021-07-19 Thread John Harrison
On 7/16/2021 13:16, Matthew Brost wrote: From: John Harrison The serial number tracking of engines happens at the backend of request submission and was expecting to only be given physical engines. However, in GuC submission mode, the decomposition of virtual to physical engines does not happen

Re: [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: [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: [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: [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: [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: [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: [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: [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: [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: [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

Re: [PATCH 0/2] Add support for querying hw info that UMDs need

2021-07-27 Thread John Harrison
On 7/27/2021 02:49, Daniel Vetter wrote: On Mon, Jul 26, 2021 at 07:21:43PM -0700, john.c.harri...@intel.com wrote: From: John Harrison Various UMDs require hardware configuration information about the current platform. A bunch of static information is available in a fixed table that can be

Re: [PATCH 29/33] drm/i915/selftest: Increase some timeouts in live_requests

2021-07-27 Thread John Harrison
On 7/26/2021 17:23, Matthew Brost wrote: Requests may take slightly longer with GuC submission, let's increase the timeouts in live_requests. Signed-off-by: Matthew Brost Was already reviewed in previous series. Repeating here for patchwork: Reviewed-by: John Harrison --- drivers/gp

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Check if engine has heartbeat when closing a context

2021-07-29 Thread John Harrison
On 7/28/2021 17:34, Matthew Brost wrote: If an engine associated with a context does not have a heartbeat, ban it immediately. This is needed for GuC submission as a idle pulse doesn't kick the context off the hardware where it then can check for a heartbeat and ban the context. It's worse than t

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Check if engine has heartbeat when closing a context

2021-07-30 Thread John Harrison
On 7/30/2021 02:49, Tvrtko Ursulin wrote: On 30/07/2021 01:13, John Harrison wrote: On 7/28/2021 17:34, Matthew Brost wrote: If an engine associated with a context does not have a heartbeat, ban it immediately. This is needed for GuC submission as a idle pulse doesn't kick the context of

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Check if engine has heartbeat when closing a context

2021-08-06 Thread John Harrison
On 8/2/2021 02:40, Tvrtko Ursulin wrote: On 30/07/2021 19:13, John Harrison wrote: On 7/30/2021 02:49, Tvrtko Ursulin wrote: On 30/07/2021 01:13, John Harrison wrote: On 7/28/2021 17:34, Matthew Brost wrote: If an engine associated with a context does not have a heartbeat, ban it immediately

Re: [Intel-gfx] [PATCH] drm/i915: Fix syncmap memory leak

2021-08-06 Thread John Harrison
On 7/30/2021 12:53, Matthew Brost wrote: A small race exists between intel_gt_retire_requests_timeout and intel_timeline_exit which could result in the syncmap not getting free'd. Rather than work to hard to seal this race, simply cleanup the free'd -> freed syncmap on fini. unreferenced obje

Re: [Intel-gfx] [PATCH] drm/i915: Disable bonding on gen12+ platforms

2021-08-06 Thread John Harrison
ding on gen12+ aside from TGL, RKL, and ADL_S not allowed\n"); I would have said not supported rather than not allowed. Either way: Reviewed-by: John Harrison + return -ENODEV; + } + if (get_user(idx, &ext->virtual_index)) return -EFAULT;

Re: [Intel-gfx] [PATCH 2/4] drm/i915/guc: put all guc objects in lmem when available

2021-08-06 Thread John Harrison
On 8/2/2021 22:11, Matthew Brost wrote: From: Daniele Ceraolo Spurio The firmware binary has to be loaded from lmem and the recommendation is to put all other objects in there as well. Note that we don't fall back to system memory if the allocation in lmem fails because all objects are allocate

Re: [Intel-gfx] [PATCH 3/4] drm/i915/guc: Add DG1 GuC / HuC firmware defs

2021-08-06 Thread John Harrison
, 0, 0), huc_def(tgl, 7, 9, 3)) \ fw_def(JASPERLAKE, 0, guc_def(ehl, 62, 0, 0), huc_def(ehl, 9, 0, 0)) \ Reviewed-by: John Harrison

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

2021-08-06 Thread John Harrison
)) { + if (IS_ALDERLAKE_S(i915)) { i915->params.enable_guc = ENABLE_GUC_LOAD_HUC; return; } Reviewed-by: John Harrison

Re: [Intel-gfx] [PATCH] drm/i915: Fix syncmap memory leak

2021-08-06 Thread John Harrison
On 8/6/2021 11:29, Matthew Brost wrote: On Fri, Aug 06, 2021 at 11:23:06AM -0700, John Harrison wrote: On 7/30/2021 12:53, Matthew Brost wrote: A small race exists between intel_gt_retire_requests_timeout and intel_timeline_exit which could result in the syncmap not getting free'd. Rather

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Check if engine has heartbeat when closing a context

2021-08-09 Thread John Harrison
On 8/6/2021 12:46, Daniel Vetter wrote: Seen this fly by and figured I dropped a few thoughts in here. At the likely cost of looking a bit out of whack :-) On Fri, Aug 6, 2021 at 8:01 PM John Harrison wrote: On 8/2/2021 02:40, Tvrtko Ursulin wrote: On 30/07/2021 19:13, John Harrison wrote

Re: [Intel-gfx] [PATCH 0/1] Fix gem_ctx_persistence failures with GuC submission

2021-08-17 Thread John Harrison
On 8/9/2021 23:38, Daniel Vetter wrote: On Wed, Jul 28, 2021 at 05:33:59PM -0700, Matthew Brost wrote: Should fix below failures with GuC submission for the following tests: gem_exec_balancer --r noheartbeat gem_ctx_persistence --r heartbeat-close Not going to fix: gem_ctx_persistence --r heart

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Check if engine has heartbeat when closing a context

2021-08-17 Thread John Harrison
On 8/9/2021 23:36, Daniel Vetter wrote: On Mon, Aug 09, 2021 at 04:12:52PM -0700, John Harrison wrote: On 8/6/2021 12:46, Daniel Vetter wrote: Seen this fly by and figured I dropped a few thoughts in here. At the likely cost of looking a bit out of whack :-) On Fri, Aug 6, 2021 at 8:01 PM

Re: [PATCH 1/1] drm/i915/selftests: Increase timeout in i915_gem_contexts selftests

2021-08-19 Thread John Harrison
On 7/26/2021 20:17, Matthew Brost wrote: Like in the case of several other selftests, generating lots of requests in a loop takes a bit longer with GuC submission. Increase a timeout in i915_gem_contexts selftest to take this into account. Signed-off-by: Matthew Brost Reviewed-by: John

Re: [Intel-gfx] [PATCH 11/27] drm/i915/guc: Copy whole golden context, set engine state size of subset

2021-08-26 Thread John Harrison
On 8/25/2021 20:23, Matthew Brost wrote: When the GuC does a media reset, it copies a golden context state back into the corrupted context's state. The address of the golden context and the size of the engine state restore are passed in via the GuC ADS. The i915 had a bug where it passed in the w

Re: [PATCH 08/47] drm/i915/guc: Add new GuC interface defines and structures

2021-06-29 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Add new GuC interface defines and structures while maintaining old ones in parallel. Cc: John Harrison Signed-off-by: Matthew Brost I think there was some difference of opinion over whether these additions should be squashed in to the specific patches

Re: [PATCH 10/47] drm/i915/guc: Add lrc descriptor context lookup array

2021-06-29 Thread John Harrison
, 'can determine in the' should be 'can determine if the'. Again, not exactly a blocking issue but should be fixed. Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc.h| 5 +++ .../gpu/drm/i915/gt/uc/intel_g

Re: [PATCH 11/47] drm/i915/guc: Implement GuC submission tasklet

2021-06-29 Thread John Harrison
is not assigned. Patches later in the series will assign this value. Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context_types.h | 9 + drivers/gpu/drm/i915/gt/uc/intel_guc.h| 4 + .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 231 +

Re: [PATCH 12/47] drm/i915/guc: Add bypass tasklet submission path to GuC

2021-06-29 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Add bypass tasklet submission path to GuC. The tasklet is only used if H2G channel has backpresure. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 37 +++ 1 file changed

Re: [PATCH 47/47] drm/i915/guc: Unblock GuC submission on Gen11+

2021-06-30 Thread John Harrison
On 6/30/2021 01:22, Martin Peres wrote: On 24/06/2021 10:05, Matthew Brost wrote: From: Daniele Ceraolo Spurio Unblock GuC submission on Gen11+ platforms. Signed-off-by: Michal Wajdeczko Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost ---   drivers/gpu/drm/i915/gt/uc/int

Re: [PATCH 4/7] drm/i915/guc: Add non blocking CTB send function

2021-07-06 Thread John Harrison
ction. v2: (Michal) - Use define for H2G room calculations - Move INTEL_GUC_SEND_NB define (Daniel Vetter) - Use msleep_interruptible rather than cond_resched v3: (Michal) - Move includes to following patch - s/INTEL_GUC_SEND_NB/INTEL_GUC_CT_SEND_NB/g Signed-off-by: John Har

Re: [PATCH 5/7] drm/i915/guc: Add stall timer to non blocking CTB send function

2021-07-06 Thread John Harrison
ct_deadlock() v3: (Michal) - Add ms to stall timer comment (Matthew) - Move broken check to intel_guc_ct_send() Signed-off-by: John Harrison Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost Looks plausible to me. Reviewed-by: John Harrison --- drivers/gpu/drm

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-06 Thread John Harrison
descriptor values when absolutely necessary. Also store the current space in the each channel locally. v2: (Michel) - Add additional sanity checks for head / tail pointers - Use GUC_CTB_HDR_LEN rather than magic 1 Signed-off-by: John Harrison Signed-off-by: Matthew Brost --- drivers

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-06 Thread John Harrison
On 7/6/2021 12:12, Michal Wajdeczko wrote: On 06.07.2021 21:00, John Harrison wrote: On 7/1/2021 10:15, Matthew Brost wrote: CTB writes are now in the path of command submission and should be optimized for performance. Rather than reading CTB descriptor values (e.g. head, tail) which could

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-06 Thread John Harrison
On 7/6/2021 12:33, Michal Wajdeczko wrote: On 06.07.2021 21:19, John Harrison wrote: On 7/6/2021 12:12, Michal Wajdeczko wrote: On 06.07.2021 21:00, John Harrison wrote: On 7/1/2021 10:15, Matthew Brost wrote: CTB writes are now in the path of command submission and should be optimized for

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-06 Thread John Harrison
-by: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 88 +++ drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h | 6 ++ 2 files changed, 65 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu

Re: [Intel-gfx] [PATCH 47/47] drm/i915/guc: Unblock GuC submission on Gen11+

2021-07-06 Thread John Harrison
11:14, Pekka Paalanen wrote: On Wed, 30 Jun 2021 11:58:25 -0700 John Harrison wrote: On 6/30/2021 01:22, Martin Peres wrote: On 24/06/2021 10:05, Matthew Brost wrote: From: Daniele Ceraolo Spurio Unblock GuC submission on Gen11+ platforms. Signed-off-by: Michal Wajdeczko Signed-off-by

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-07 Thread John Harrison
On 7/7/2021 10:50, Matthew Brost wrote: On Tue, Jul 06, 2021 at 03:51:00PM -0700, John Harrison wrote: On 7/6/2021 15:20, Matthew Brost wrote: CTB writes are now in the path of command submission and should be optimized for performance. Rather than reading CTB descriptor values (e.g. head

Re: [PATCH 6/7] drm/i915/guc: Optimize CTB writes and reads

2021-07-07 Thread John Harrison
On 7/7/2021 11:56, Matthew Brost wrote: Ok, I sent it but I looks like patchworks didn't like it. Anyways we should be able to review that patch. Matt Maybe because it came out as 6/56 instead of 6/7? Also, not sure if it needs to be in reply to 0/7 or 6/7? John.

Re: [PATCH 14/47] drm/i915/guc: Insert fence on context when deregistering

2021-07-09 Thread John Harrison
sts while the deregister is in flight. Once the G2H is received indicating the deregistration is complete the context is registered and the fence is released. Cc: John Harrison Signed-off-by: Matthew Brost With the above text fixed up: Reviewed-by: John Harrison --- drivers/gpu/drm/i915

Re: [PATCH 15/47] drm/i915/guc: Defer context unpin until scheduling is disabled

2021-07-09 Thread John Harrison
s added to intel_context_unpin when pin count == 1 to disable scheduling for that context. When the response CTB is received it is safe to do the final unpin. Future patches may add a heuristic / delay to schedule the disable call back to avoid thrashing on schedule enable / disable. Cc: John Harrison Sig

Re: [PATCH 16/47] drm/i915/guc: Disable engine barriers with GuC during unpin

2021-07-09 Thread John Harrison
ernel context request completes on each engine in the context engine mask. Cc: John Harrison Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/intel_context.c| 2 +- drivers/gpu/drm/i915/gt/intel_context.h| 1 + drivers/gpu/drm/i9

Re: [PATCH 17/47] drm/i915/guc: Extend deregistration fence to schedule disable

2021-07-09 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Extend the deregistration context fence to fence whne a GuC context has scheduling disable pending. Cc: John Harrison Signed-off-by: Matthew Brost --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 37 +++ 1 file changed, 30

Re: [PATCH 18/47] drm/i915: Disable preempt busywait when using GuC scheduling

2021-07-09 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Disable preempt busywait when using GuC scheduling. This isn't need as needed the GuC control preemption when scheduling. controls With the above fixed: Reviewed-by: John Harrison Cc: John Harrison Signed-off-by: Matthew Brost --- dr

Re: [PATCH 20/47] drm/i915/guc: Disable semaphores when using GuC scheduling

2021-07-09 Thread John Harrison
i915 so another reason to not enable these for GuC submission. v2: Reword commit message Cc: John Harrison Signed-off-by: Matthew Brost I think the commit description does not really match the patch content. The description is valid but the 'disable' is done by simply not setting the e

Re: [PATCH 22/47] drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC

2021-07-09 Thread John Harrison
. v2: rtimeout -> remaining_timeout Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 3 +- drivers/gpu/drm/i915/gt/intel_gt.c| 19 drivers/gpu/drm/i915/gt/intel_gt.h| 2 + drivers/gpu/drm/i915/gt/intel_gt_re

Re: [PATCH 17/47] drm/i915/guc: Extend deregistration fence to schedule disable

2021-07-12 Thread John Harrison
On 7/9/2021 20:36, Matthew Brost wrote: On Fri, Jul 09, 2021 at 03:59:11PM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Extend the deregistration context fence to fence whne a GuC context has scheduling disable pending. Cc: John Harrison Signed-off-by: Matthew Brost

Re: [PATCH 16/47] drm/i915/guc: Disable engine barriers with GuC during unpin

2021-07-12 Thread John Harrison
On 7/9/2021 20:00, Matthew Brost wrote: On Fri, Jul 09, 2021 at 03:53:29PM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Disable engine barriers for unpinning with GuC. This feature isn't needed with the GuC as it disables context scheduling before unpinning

Re: [PATCH 23/47] drm/i915/guc: Update GuC debugfs to support new GuC

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Update GuC debugfs to support the new GuC structures. Signed-off-by: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 22 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h | 3 ++ .../gpu/drm/i915

Re: [PATCH 24/47] drm/i915/guc: Add several request trace points

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Add trace points for request dependencies and GuC submit. Extended existing request trace points to include submit fence value,, guc_id, Excessive punctuation. Or maybe should say 'fence value, tail, guc_id'? With that fixed: Reviewed-by: Joh

Re: [PATCH 25/47] drm/i915: Add intel_context tracing

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Add intel_context tracing. These trace points are particular helpful when debugging the GuC firmware and can be enabled via CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS kernel config option. Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm

Re: [PATCH 27/47] drm/i915: Track 'serial' counts for virtual engines

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: From: John Harrison The serial number tracking of engines happens at the backend of request submission and was expecting to only be given physical engines. However, in GuC submission mode, the decomposition of virtual to physical engines does not happen

Re: [PATCH 28/47] drm/i915: Hold reference to intel_context over life of i915_request

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Hold a reference to the intel_context over life of an i915_request. Without this an i915_request can exist after the context has been destroyed (e.g. request retired, context closed, but user space holds a reference to the request from an out fence). In th

Re: [PATCH 29/47] drm/i915/guc: Disable bonding extension with GuC submission

2021-07-12 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Update the bonding extension to return -ENODEV when using GuC submission as this extension fundamentally will not work with the GuC submission interface. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gem

Re: [PATCH 30/47] drm/i915/guc: Direct all breadcrumbs for a class to single breadcrumbs

2021-07-12 Thread John Harrison
class when using GuC submission and direct all physical engine interrupts to this breadcrumbs. Signed-off-by: Matthew Brost CC: John Harrison --- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 41 +--- drivers/gpu/drm/i915/gt/intel_breadcrumbs.h | 14 +++- .../gpu/d

Re: [PATCH 31/47] drm/i915/guc: Reset implementation for new GuC interface

2021-07-12 Thread John Harrison
reset support. Plus see couple of minor comments below. Cc: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c | 3 + drivers/gpu/drm/i915/gt/intel_context_types.h | 7 + drivers/gpu/drm/i915/gt/intel_engine_types.h | 6 + .../drm/i9

Re: [PATCH 32/47] drm/i915: Reset GPU immediately if submission is disabled

2021-07-12 Thread John Harrison
On 6/24/2021 00:05, Matthew Brost wrote: If submission is disabled by the backend for any reason, reset the GPU immediately in the heartbeat code as the backend can't be reenabled until the GPU is reset. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i9

Re: [PATCH 33/47] drm/i915/guc: Add disable interrupts to guc sanitize

2021-07-12 Thread John Harrison
On 6/24/2021 00:05, Matthew Brost wrote: Add disable GuC interrupts to intel_guc_sanitize(). Part of this requires moving the guc_*_interrupt wrapper function into header file intel_guc.h. Signed-off-by: Matthew Brost Cc: Daniele Ceraolo Spurio Reviewed-by: John Harrison --- drivers/gpu

Re: [PATCH 23/47] drm/i915/guc: Update GuC debugfs to support new GuC

2021-07-12 Thread John Harrison
On 7/12/2021 13:59, Matthew Brost wrote: On Mon, Jul 12, 2021 at 11:05:59AM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Update GuC debugfs to support the new GuC structures. Signed-off-by: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc

Re: [Intel-gfx] [PATCH 28/47] drm/i915: Hold reference to intel_context over life of i915_request

2021-07-12 Thread John Harrison
On 7/12/2021 14:36, Matthew Brost wrote: On Mon, Jul 12, 2021 at 08:05:30PM +, Matthew Brost wrote: On Mon, Jul 12, 2021 at 11:23:14AM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Hold a reference to the intel_context over life of an i915_request. Without this an

Re: [PATCH 25/47] drm/i915: Add intel_context tracing

2021-07-12 Thread John Harrison
On 7/12/2021 14:47, Matthew Brost wrote: On Mon, Jul 12, 2021 at 11:10:40AM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Add intel_context tracing. These trace points are particular helpful when debugging the GuC firmware and can be enabled via

Re: [PATCH 34/47] drm/i915/guc: Suspend/resume implementation for new interface

2021-07-12 Thread John Harrison
firmware and reinitialize everything (e.g. CTB channels, contexts, etc..). Cc: John Harrison Signed-off-by: Matthew Brost Signed-off-by: Michal Wajdeczko Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 1 + drivers/gpu/drm/i915/gt/uc/intel_guc.c| 64

Re: [PATCH 35/47] drm/i915/guc: Handle context reset notification

2021-07-12 Thread John Harrison
On 6/24/2021 00:05, 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. Cc: Matthew Brost Cc: John Harrison

Re: [PATCH 36/47] drm/i915/guc: Handle engine reset failure notification

2021-07-12 Thread John Harrison
On 6/24/2021 00:05, Matthew Brost wrote: GuC will notify the driver, via G2H, if it fails to reset an engine. We recover by resorting to a full GPU reset. Signed-off-by: Matthew Brost Signed-off-by: Fernando Pacheco Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc.h

Re: [PATCH 37/47] drm/i915/guc: Enable the timer expired interrupt for GuC

2021-07-12 Thread John Harrison
On 6/24/2021 00:05, Matthew Brost wrote: The GuC can implement execution qunatums, detect hung contexts and other such things but it requires the timer expired interrupt to do so. Signed-off-by: Matthew Brost CC: John Harrison Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt

Re: [PATCH 41/47] drm/i915/guc: Capture error state on context reset

2021-07-12 Thread John Harrison
, further muddling our error state. There is ongoing work to define an API for a GuC debug state dump. The suggestion for now is to manually disable FW initiated resets in cases where debug state is needed. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt

Re: [PATCH 21/47] drm/i915/guc: Ensure G2H response has space in buffer

2021-07-13 Thread John Harrison
On 6/24/2021 00:04, Matthew Brost wrote: Ensure G2H response has space in the buffer before sending H2G CTB as the GuC can't handle any backpressure on the G2H interface. Signed-off-by: John Harrison Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc.h

Re: [PATCH 21/47] drm/i915/guc: Ensure G2H response has space in buffer

2021-07-14 Thread John Harrison
On 7/14/2021 17:06, Matthew Brost wrote: On Tue, Jul 13, 2021 at 11:36:05AM -0700, John Harrison wrote: On 6/24/2021 00:04, Matthew Brost wrote: Ensure G2H response has space in the buffer before sending H2G CTB as the GuC can't handle any backpressure on the G2H interface. Signed-o

Re: [Intel-gfx] [PATCH 3/3] drm/i915/uapi: Add query for L3 bank count

2021-07-15 Thread John Harrison
On 6/16/2021 03:25, Daniel Vetter wrote: On Thu, Jun 10, 2021 at 10:46 PM wrote: From: John Harrison Various UMDs need to know the L3 bank count. So add a query API for it. Please link to both the igt test submission for this (there's not even a Test-with: on the cover letter) Is th

Re: [Intel-gfx] [PATCH 41/51] drm/i915/guc: Add golden context to GuC ADS

2021-07-19 Thread John Harrison
On 7/19/2021 10:24, Matthew Brost wrote: On Fri, Jul 16, 2021 at 01:17:14PM -0700, Matthew Brost wrote: From: John Harrison The media watchdog mechanism involves GuC doing a silent reset and continue of the hung context. This requires the i915 driver provide a golden context to GuC in the ADS

Re: [Intel-gfx] [PATCH v3 1/4] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-03-09 Thread John Harrison
On 3/8/2022 01:43, Tvrtko Ursulin wrote: On 03/03/2022 22:37, john.c.harri...@intel.com wrote: From: John Harrison GuC converts the pre-emption timeout and timeslice quantum values into clock ticks internally. That significantly reduces the point of 32bit overflow. On current platforms, worst

Re: [Intel-gfx] [PATCH v3 4/4] drm/i915: Improve long running OCL w/a for GuC submission

2022-03-09 Thread John Harrison
On 3/8/2022 01:41, Tvrtko Ursulin wrote: On 03/03/2022 22:37, john.c.harri...@intel.com wrote: From: John Harrison A workaround was added to the driver to allow OpenCL workloads to run 'forever' by disabling pre-emption on the RCS engine for Gen12. It is not totally unbound as the

Re: [Intel-gfx] [PATCH v3 4/4] drm/i915: Improve long running OCL w/a for GuC submission

2022-03-10 Thread John Harrison
On 3/10/2022 01:27, Tvrtko Ursulin wrote: On 09/03/2022 21:16, John Harrison wrote: On 3/8/2022 01:41, Tvrtko Ursulin wrote: On 03/03/2022 22:37, john.c.harri...@intel.com wrote: From: John Harrison A workaround was added to the driver to allow OpenCL workloads to run 'forever' by

Re: [PATCH] drm/i915/guc: Use iosys_map interface to update lrc_desc

2022-03-30 Thread John Harrison
iated this task https://patchwork.freedesktop.org/series/99711/ This patch converts all access to the lrc_desc through iosys_map interfaces. Cc: Lucas De Marchi Cc: John Harrison Cc: Matthew Brost Cc: Umesh Nerlige Ramappa Signed-off-by: Balasubramani Vivekanandan --- drivers/gpu/drm/i915/

Re: [PATCH] drm/i915/guc: Initialize GuC submission locks and queues early

2022-02-18 Thread John Harrison
ences: https://gitlab.freedesktop.org/drm/intel/-/issues/4932 Signed-off-by: Daniele Ceraolo Spurio Cc: Matthew Brost Cc: John Harrison Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 27 ++- 1 file changed, 14 insertions(+), 13 deletions(-)

Re: [Intel-gfx] [PATCH v2] drm/i915/guc: Do not complain about stale reset notifications

2022-02-22 Thread John Harrison
On 2/22/2022 17:39, Ceraolo Spurio, Daniele wrote: On 2/11/2022 5:04 PM, john.c.harri...@intel.com wrote: From: John Harrison It is possible for reset notifications to arrive for a context that is in the process of being banned. So don't flag these as an error, just report it as informat

Re: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-22 Thread John Harrison
On 2/22/2022 01:52, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison GuC converts the pre-emption timeout and timeslice quantum values into clock ticks internally. That significantly reduces the point of 32bit overflow. On current platforms

Re: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-22 Thread John Harrison
On 2/22/2022 16:52, Ceraolo Spurio, Daniele wrote: On 2/18/2022 1:33 PM, john.c.harri...@intel.com wrote: From: John Harrison GuC converts the pre-emption timeout and timeslice quantum values into clock ticks internally. That significantly reduces the point of 32bit overflow. On current

Re: [Intel-gfx] [PATCH 0/3] Improve anti-pre-emption w/a for compute workloads

2022-02-22 Thread John Harrison
On 2/22/2022 01:53, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison Compute workloads are inherently not pre-emptible on current hardware. Thus the pre-emption timeout was disabled as a workaround to prevent unwanted resets. Instead, the hang

Re: [Intel-gfx] [PATCH 2/3] drm/i915/gt: Make the heartbeat play nice with long pre-emption timeouts

2022-02-22 Thread John Harrison
On 2/22/2022 03:19, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison Compute workloads are inherantly not pre-emptible for long periods on current hardware. As a workaround for this, the pre-emption timeout for compute capable engines was

Re: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-23 Thread John Harrison
On 2/23/2022 04:13, Tvrtko Ursulin wrote: On 23/02/2022 02:11, John Harrison wrote: On 2/22/2022 01:52, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison GuC converts the pre-emption timeout and timeslice quantum values into clock ticks

Re: [Intel-gfx] [PATCH 2/3] drm/i915/gt: Make the heartbeat play nice with long pre-emption timeouts

2022-02-23 Thread John Harrison
On 2/23/2022 05:58, Tvrtko Ursulin wrote: On 23/02/2022 02:45, John Harrison wrote: On 2/22/2022 03:19, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison Compute workloads are inherantly not pre-emptible for long periods on current hardware. As

Re: [Intel-gfx] [PATCH 5/8] drm/i915/guc: Move lrc desc setup to where it is needed

2022-02-23 Thread John Harrison
On 2/22/2022 17:12, Ceraolo Spurio, Daniele wrote: On 2/17/2022 3:52 PM, john.c.harri...@intel.com wrote: From: John Harrison The LRC descriptor was being initialised early on in the context registration sequence. It could then be determined that the actual registration needs to be delayed

Re: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-24 Thread John Harrison
On 2/24/2022 01:59, Tvrtko Ursulin wrote: On 23/02/2022 19:03, John Harrison wrote: On 2/23/2022 04:13, Tvrtko Ursulin wrote: On 23/02/2022 02:11, John Harrison wrote: On 2/22/2022 01:52, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison GuC

Re: [Intel-gfx] [PATCH 2/3] drm/i915/gt: Make the heartbeat play nice with long pre-emption timeouts

2022-02-24 Thread John Harrison
On 2/24/2022 03:41, Tvrtko Ursulin wrote: On 23/02/2022 20:00, John Harrison wrote: On 2/23/2022 05:58, Tvrtko Ursulin wrote: On 23/02/2022 02:45, John Harrison wrote: On 2/22/2022 03:19, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison

Re: [Intel-gfx] [PATCH 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-24 Thread John Harrison
On 2/24/2022 11:19, John Harrison wrote: [snip] I'll change it to _uses_ and repost, then. [    7.683149] kernel BUG at drivers/gpu/drm/i915/gt/uc/intel_guc.h:367! Told you that one went bang. John.

Re: [Intel-gfx] [PATCH 0/3] Improve anti-pre-emption w/a for compute workloads

2022-02-24 Thread John Harrison
On 2/23/2022 04:00, Tvrtko Ursulin wrote: On 23/02/2022 02:22, John Harrison wrote: On 2/22/2022 01:53, Tvrtko Ursulin wrote: On 18/02/2022 21:33, john.c.harri...@intel.com wrote: From: John Harrison Compute workloads are inherently not pre-emptible on current hardware. Thus the pre-emption

Re: [Intel-gfx] [PATCH 5/8] drm/i915/guc: Move lrc desc setup to where it is needed

2022-02-24 Thread John Harrison
On 2/23/2022 18:03, Ceraolo Spurio, Daniele wrote: On 2/23/2022 12:23 PM, John Harrison wrote: On 2/22/2022 17:12, Ceraolo Spurio, Daniele wrote: On 2/17/2022 3:52 PM, john.c.harri...@intel.com wrote: From: John Harrison The LRC descriptor was being initialised early on in the context

Re: [PATCH v5 1/4] drm/i915/guc: Add fetch of hwconfig table

2022-02-24 Thread John Harrison
On 2/22/2022 02:36, Jordan Justen wrote: From: John Harrison Implement support for fetching the hardware description table from the GuC. The call is made twice - once without a destination buffer to query the size and then a second time to fill in the buffer. Note that the table is only

Re: [Intel-gfx] [PATCH v5 1/4] drm/i915/guc: Add fetch of hwconfig table

2022-02-25 Thread John Harrison
On 2/25/2022 05:26, Tvrtko Ursulin wrote: On 25/02/2022 09:44, Michal Wajdeczko wrote: On 25.02.2022 06:03, Jordan Justen wrote: John Harrison writes: On 2/22/2022 02:36, Jordan Justen wrote: From: John Harrison Implement support for fetching the hardware description table from the GuC

  1   2   3   4   5   6   >