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

2021-07-26 Thread John . C . Harrison
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 retrieved from the GuC. Test-with: 20210727002812.43469-2-john.c.harri...@intel.com UMD: https://github.com/intel/comput

[PATCH 2/2] drm/i915/uapi: Add query for hwconfig table

2021-07-26 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

[PATCH 1/2] drm/i915/guc: Add fetch of hwconfig table

2021-07-26 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

[PATCH 1/2] drm/i915/guc: Add fetch of hwconfig table

2021-07-26 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

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

2021-07-26 Thread John . C . Harrison
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 retrieved from the GuC. Test-with: 20210727002812.43469-2-john.c.harri...@intel.com UMD: https://github.com/intel/comput

[PATCH 2/2] drm/i915/uapi: Add query for hwconfig table

2021-07-26 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

[PATCH 3/3] drm/i915: Improve long running OCL w/a for GuC submission

2022-02-18 Thread John . C . Harrison
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 heartbeat will kick in eventually and cause a reset of the hung engine. However, this does not work well in G

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

2022-02-18 Thread John . C . Harrison
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 detection was left to the heartbeat and its (longer) timeout. This is undesirable with GuC submission

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

2022-02-18 Thread John . C . Harrison
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 disabled. This is undesirable with GuC submission as it prevents per engine reset of hung contexts. Hence t

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

2022-02-18 Thread John . C . Harrison
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 case scenario is approximately 110 seconds. Rather than allowing the user to set higher values and

[PATCH v2 0/8] Prep work for next GuC release

2022-02-24 Thread John . C . Harrison
From: John Harrison The next GuC firmware release includes some significant backwards breaking API changes. One such is that there is no longer an LRC descriptor pool. A bunch of prep work for that change can be done in advance - the descriptor pool was being used for things it shouldn't really h

[PATCH v2 4/8] drm/i915/guc: Split guc_lrc_desc_pin apart

2022-02-24 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. Further, the function that was populating it was also doing a bunch of logic about the context registration sequence. So, split that code apart into separate state setup and try to register functions. Note that some of those 'try to regis

[PATCH v2 6/8] drm/i915/guc: Rename desc_idx to ctx_id

2022-02-24 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop naming context ids as descriptor pool indecies. While at it, add a bunch of missing line feeds to some error messages. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/gt/uc/intel_guc_sub

[PATCH v2 7/8] drm/i915/guc: Drop obsolete H2G definitions

2022-02-24 Thread John . C . Harrison
From: John Harrison The CTB registration process changed significantly a while back using a single KLV based H2G. So drop the original and now obsolete H2G definitions. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 2 --

[PATCH v2 3/8] drm/i915/guc: Better name for context id limit

2022-02-24 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as the limit for how many context ids are available. Instead, size the pool according to the number of contexts allowed. Note that this is just a naming change, the actual limit is identical in value. While at it, also

[PATCH v2 2/8] drm/i915/guc: Add an explicit 'submission_initialized' flag

2022-02-24 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as a check for whether submission has been initialised or not. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_guc.h| 2 ++ drivers/gpu/drm/i915/gt/uc

[PATCH v2 8/8] drm/i915/guc: Fix potential invalid pointer dereferences when decoding G2Hs

2022-02-24 Thread John . C . Harrison
From: John Harrison Some G2H handlers were reading the context id field from the payload before checking the payload met the minimum length required. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 6 -- 1 file chang

[PATCH v2 1/8] drm/i915/guc: Do not conflate lrc_desc with GuC id for registration

2022-02-24 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as a check for context registration, use the GuC id instead (being the thing that actually gets registered with the GuC). Also, rename the set/clear/query helper functions for context id mappings to better reflect their

[PATCH v2 5/8] drm/i915/guc: Move lrc desc setup to where it is needed

2022-02-24 Thread John . C . Harrison
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 and the descriptor would be wiped out. This is inefficient, so move the setup to later in the process after the

[PATCH v3] drm/i915/guc: Do not complain about stale reset notifications

2022-02-24 Thread John . C . Harrison
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 informational (because it is still useful to know that resets are happening even if they are being ignored). v2: Better wo

[PATCH] drm/i915/guc: Add fetch of hwconfig table

2022-02-24 Thread John . C . Harrison
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. The table is stored in the GT structure so that it can be fetched once at dri

[PATCH v2 0/3] Improve anti-pre-emption w/a for compute workloads

2022-02-25 Thread John . C . Harrison
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 detection was left to the heartbeat and its (longer) timeout. This is undesirable with GuC submission

[PATCH v2 1/3] drm/i915/guc: Limit scheduling properties to avoid overflow

2022-02-25 Thread John . C . Harrison
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 case scenario is approximately 110 seconds. Rather than allowing the user to set higher values and

[PATCH v2 3/3] drm/i915: Improve long running OCL w/a for GuC submission

2022-02-25 Thread John . C . Harrison
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 heartbeat will kick in eventually and cause a reset of the hung engine. However, this does not work well in G

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

2022-02-25 Thread John . C . Harrison
From: John Harrison Compute workloads are inherently not pre-emptible for long periods on current hardware. As a workaround for this, the pre-emption timeout for compute capable engines was disabled. This is undesirable with GuC submission as it prevents per engine reset of hung contexts. Hence t

[PATCH v3 0/8] Prep work for next GuC release

2022-03-01 Thread John . C . Harrison
From: John Harrison The next GuC firmware release includes some significant backwards breaking API changes. One such is that there is no longer an LRC descriptor pool. A bunch of prep work for that change can be done in advance - the descriptor pool was being used for things it shouldn't really h

[PATCH v3 1/8] drm/i915/guc: Do not conflate lrc_desc with GuC id for registration

2022-03-01 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as a check for context registration, use the GuC id instead (being the thing that actually gets registered with the GuC). Also, rename the set/clear/query helper functions for context id mappings to better reflect their

[PATCH v3 4/8] drm/i915/guc: Split guc_lrc_desc_pin apart

2022-03-01 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. Further, the function that was populating it was also doing a bunch of logic about the context registration sequence. So, split that code apart into separate state setup and try to register functions. Note that some of those 'try to regis

[PATCH v3 6/8] drm/i915/guc: Rename desc_idx to ctx_id

2022-03-01 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop naming context ids as descriptor pool indecies. While at it, add a bunch of missing line feeds to some error messages. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/gt/uc/intel_guc_sub

[PATCH v3 8/8] drm/i915/guc: Fix potential invalid pointer dereferences when decoding G2Hs

2022-03-01 Thread John . C . Harrison
From: John Harrison Some G2H handlers were reading the context id field from the payload before checking the payload met the minimum length required. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 6 -- 1 file chang

[PATCH v3 2/8] drm/i915/guc: Add an explicit 'submission_initialized' flag

2022-03-01 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as a check for whether submission has been initialised or not. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_guc.h| 2 ++ drivers/gpu/drm/i915/gt/uc

[PATCH v3 3/8] drm/i915/guc: Better name for context id limit

2022-03-01 Thread John . C . Harrison
From: John Harrison The LRC descriptor pool is going away. So, stop using it as the limit for how many context ids are available. Instead, size the pool according to the number of contexts allowed. Note that this is just a naming change, the actual limit is identical in value. While at it, also

[PATCH v3 5/8] drm/i915/guc: Move lrc desc setup to where it is needed

2022-03-01 Thread John . C . Harrison
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 and the descriptor would be wiped out. This is inefficient, so move the setup to later in the process after the

[PATCH v3 7/8] drm/i915/guc: Drop obsolete H2G definitions

2022-03-01 Thread John . C . Harrison
From: John Harrison The CTB registration process changed significantly a while back using a single KLV based H2G. So drop the original and now obsolete H2G definitions. Signed-off-by: John Harrison Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h | 2 --

[PATCH v3 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines

2022-03-03 Thread John . C . Harrison
From: John Harrison An earlier patch added support for compute engines. However, it missed enabling the anti-pre-emption w/a for the new engine class. So move the 'compute capable' flag earlier and use it for the pre-emption w/a test. Fixes: c674c5b9342e ("drm/i915/xehp: CCS should use RCS setup

[PATCH v3 0/4] Improve anti-pre-emption w/a for compute workloads

2022-03-03 Thread John . C . Harrison
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 detection was left to the heartbeat and its (longer) timeout. This is undesirable with GuC submission

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

2022-03-03 Thread John . C . Harrison
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 case scenario is approximately 110 seconds. Rather than allowing the user to set higher values and

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

2022-03-03 Thread John . C . Harrison
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 heartbeat will kick in eventually and cause a reset of the hung engine. However, this does not work well in G

[PATCH v3 3/4] drm/i915: Make the heartbeat play nice with long pre-emption timeouts

2022-03-03 Thread John . C . Harrison
From: John Harrison Compute workloads are inherently not pre-emptible for long periods on current hardware. As a workaround for this, the pre-emption timeout for compute capable engines was disabled. This is undesirable with GuC submission as it prevents per engine reset of hung contexts. Hence t

[PATCH 1/7] drm/i915: Do not define vma on stack

2021-08-31 Thread John . C . Harrison
From: Venkata Sandeep Dhanalakota Defining vma on stack can cause stack overflow, if vma gets populated with new fields. Cc: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Signed-off-by: Venkata Sandeep Dhanalakota Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 18 ++

[PATCH 6/7] Me: Workaround LMEM blow up

2021-08-31 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index b9f66dbd46bb..a61e23deeb00 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++

[PATCH 7/7] Me: Dump GuC log to dmesg on SLPC load failure

2021-08-31 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 3 + drivers/gpu/drm/i915/i915_gpu_error.c | 97 + drivers/gpu/drm/i915/i915_gpu_error.h | 3 + 3 files changed, 103 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c b/

[PATCH 5/7] Me: Allow relocs on DG1 for CI

2021-08-31 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 8290bdadd167..a530a65e6f2a 100644 --- a/drivers/gpu/dr

[PATCH 4/7] drm/i915/guc: Enable GuC submission by default on DG1

2021-08-31 Thread John . C . Harrison
From: Matthew Brost Enable GuC submission by default on DG1 Signed-off-by: Matthew Brost --- 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/drivers/gpu/drm/i915/gt/uc/intel_uc.c index b104fb7607

[PATCH 3/7] drm/i915/guc: Add DG1 GuC / HuC firmware defs

2021-08-31 Thread John . C . Harrison
From: Matthew Brost Add DG1 GuC / HuC firmware defs Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index f8cb00ffb506..a685d563df7

[PATCH 2/7] drm/i915/guc: put all guc objects in lmem when available

2021-08-31 Thread John . C . Harrison
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 allocated during driver load and if we have issues

[PATCH 0/7] [CI] Enable GuC submission by default on DG1

2021-08-31 Thread John . C . Harrison
From: John Harrison Minimum set of patches to enable GuC submission on DG1 and enable it by default. A little difficult to test as IGTs do not work with DG1 due to a bunch of uAPI features being disabled (e.g. relocations, caching memory options, etc...). Hence extra patches at the end to enable

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

2021-09-02 Thread John . C . Harrison
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 retrieved from the GuC. Test-with: 20210727002812.43469-2-john.c.harri...@intel.com UMD: https://github.com/intel/comput

[PATCH 2/2] drm/i915/uapi: Add query for hwconfig table

2021-09-02 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

[PATCH 1/2] drm/i915/guc: Add fetch of hwconfig table

2021-09-02 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

[PATCH 0/8] [CI] Enable GuC submission by default on DG1

2021-09-07 Thread John . C . Harrison
From: John Harrison Minimum set of patches to enable GuC submission on DG1 and enable it by default. A little difficult to test as IGTs do not work with DG1 due to a bunch of uAPI features being disabled (e.g. relocations, caching memory options, etc...). Hence extra patches at the end to enable

[PATCH 5/8] Me: Allow relocs on DG1 for CI

2021-09-07 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 2f2434b52317..390019fdcd6b 100644 --- a/drivers/gpu/dr

[PATCH 3/8] drm/i915/guc: Add DG1 GuC / HuC firmware defs

2021-09-07 Thread John . C . Harrison
From: Matthew Brost Add DG1 GuC / HuC firmware defs Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index f8cb00ffb506..a685d563df7

[PATCH 7/8] Me: Dump GuC log to dmesg on SLPC load failure

2021-09-07 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 3 + drivers/gpu/drm/i915/i915_gpu_error.c | 97 + drivers/gpu/drm/i915/i915_gpu_error.h | 3 + 3 files changed, 103 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c b/

[PATCH 1/8] drm/i915: Do not define vma on stack

2021-09-07 Thread John . C . Harrison
From: Venkata Sandeep Dhanalakota Defining vma on stack can cause stack overflow, if vma gets populated with new fields. Cc: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Signed-off-by: Venkata Sandeep Dhanalakota Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 18 ++

[PATCH 8/8] drm/i915: Get PM ref before accessing HW register

2021-09-07 Thread John . C . Harrison
From: Vinay Belgaumkar Seeing these errors when GT is likely in suspend state- "RPM wakelock ref not held during HW access" Ensure GT is awake before trying to access HW registers. Avoid reading the register if that is not the case. Signed-off-by: Vinay Belgaumkar --- drivers/gpu/drm/i915/gt/

[PATCH 6/8] Me: Workaround LMEM blow up

2021-09-07 Thread John . C . Harrison
From: Matthew Brost --- drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index b9f66dbd46bb..a61e23deeb00 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++

[PATCH 2/8] drm/i915/guc: put all guc objects in lmem when available

2021-09-07 Thread John . C . Harrison
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 allocated during driver load and if we have issues

[PATCH 4/8] drm/i915/guc: Enable GuC submission by default on DG1

2021-09-07 Thread John . C . Harrison
From: Matthew Brost Enable GuC submission by default on DG1 Signed-off-by: Matthew Brost --- 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/drivers/gpu/drm/i915/gt/uc/intel_uc.c index 86c318516e

[PATCH] drm/i915/guc: Refcount context during error capture

2021-09-13 Thread John . C . Harrison
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 capture is not a time bound operation. In certain situations it can take a long time, particularly when mul

[PATCH 1/2] drm/i915/guc: Add fetch of hwconfig table

2021-09-15 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

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

2021-09-15 Thread John . C . Harrison
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 retrieved from the GuC. Test-with: 20210915215558.2473428-2-john.c.harri...@intel.com UMD: https://github.com/intel/comp

[PATCH 2/2] drm/i915/uapi: Add query for hwconfig table

2021-09-15 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

[PATCH v2 1/2] drm/i915/guc: Add fetch of hwconfig table

2021-09-16 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

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

2021-09-16 Thread John . C . Harrison
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 retrieved from the GuC. v2: Add a kerneldoc comment. Test-with: 20210915215558.2473428-2-john.c.harri...@intel.com UMD:

[PATCH v2 2/2] drm/i915/uapi: Add query for hwconfig table

2021-09-16 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

[PATCH v3 1/2] drm/i915/guc: Add fetch of hwconfig table

2022-01-19 Thread John . C . Harrison
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 available on ADL-P and later platforms. Cc: Mich

[PATCH v3 2/2] drm/i915/uapi: Add query for hwconfig table

2022-01-19 Thread John . C . Harrison
From: Rodrigo Vivi GuC contains a consolidated table with a bunch of information about the current device. Previously, this information was spread and hardcoded to all the components including GuC, i915 and various UMDs. The goal here is to consolidate the data into GuC in a way that all interes

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

2022-01-19 Thread John . C . Harrison
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 retrieved from the GuC. v2: Rebased to newer baseline and added a kerneldoc comment. v3: Rebased to newer baseline and n

[PATCH 4/4] drm/i915/guc: Don't go bang in GuC log if no GuC

2021-12-02 Thread John . C . Harrison
From: John Harrison If the GuC has failed to load for any reason and then the user pokes the debugfs GuC log interface, a BUG and/or null pointer deref can occur. Don't let that happen. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c | 4 ++-- 1 file changed

[PATCH 0/4] Assorted fixes/tweaks to GuC support

2021-12-02 Thread John . C . Harrison
From: John Harrison Fix a potential null pointer dereference, improve debug crash reports, improve code separation, improve GuC/HuC load performance. Signed-off-by: John Harrison John Harrison (3): drm/i915/uc: Allow platforms to have GuC but not HuC drm/i915/guc: Increase GuC log size f

[PATCH 3/4] drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM

2021-12-02 Thread John . C . Harrison
From: John Harrison Lots of testing is done with the DEBUG_GEM config option enabled but not the DEBUG_GUC option. That means we only get teeny-tiny GuC logs which are not hugely useful. Enabling full DEBUG_GUC also spews lots of other detailed output that is not generally desired. However, bigge

[PATCH 2/4] drm/i915/guc: Request RP0 before loading firmware

2021-12-02 Thread John . C . Harrison
From: Vinay Belgaumkar By default, GT (and GuC) run at RPn. Requesting for RP0 before firmware load can speed up DMA and HuC auth as well. In addition to writing to 0xA008, we also need to enable swreq in 0xA024 so that Punit will pay heed to our request. Signed-off-by: Vinay Belgaumkar --- dr

[PATCH 1/4] drm/i915/uc: Allow platforms to have GuC but not HuC

2021-12-02 Thread John . C . Harrison
From: John Harrison It is possible for platforms to require GuC but not HuC firmware. Also, the firmware versions for GuC and HuC advance independently. So split the macros up to allow the lists to be maintained separately. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_uc_f

[PATCH 1/5] drm/i915/uc: Allow platforms to have GuC but not HuC

2021-12-03 Thread John . C . Harrison
From: John Harrison It is possible for platforms to require GuC but not HuC firmware. Also, the firmware versions for GuC and HuC advance independently. So split the macros up to allow the lists to be maintained separately. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_uc_f

[PATCH 2/5] drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM

2021-12-03 Thread John . C . Harrison
From: John Harrison Lots of testing is done with the DEBUG_GEM config option enabled but not the DEBUG_GUC option. That means we only get teeny-tiny GuC logs which are not hugely useful. Enabling full DEBUG_GUC also spews lots of other detailed output that is not generally desired. However, bigge

[PATCH 0/5] Update to GuC version 69.0.0

2021-12-03 Thread John . C . Harrison
From: John Harrison Update to the latest GuC version. This includes a suite of interface changes and new features with corresponding i915 side changes. Also, fix/improve a bunch of other things while at it. Signed-off-by: John Harrison John Harrison (5): drm/i915/uc: Allow platforms to ha

[PATCH 4/5] drm/i915/guc: Update to GuC version 69.0.0

2021-12-03 Thread John . C . Harrison
From: John Harrison Update to the latest GuC release. The latest GuC firmware introduces a number of interface changes: GuC may return NO_RESPONSE_RETRY message for requests sent over CTB. Add support for this reply and try resending the request again as a new CTB message. A KLV (key-length-va

[PATCH 5/5] drm/i915/guc: Improve GuC loading status check/error reports

2021-12-03 Thread John . C . Harrison
From: John Harrison If the GuC fails to load, it is useful to know what firmware file / version was attempted. So move the version info report to before the load attempt rather than only after a successful load. If the GuC does fail to load, then make the error messages visible rather than being

[PATCH 3/5] drm/i915/guc: Don't go bang in GuC log if no GuC

2021-12-03 Thread John . C . Harrison
From: John Harrison If the GuC has failed to load for any reason and then the user pokes the debugfs GuC log interface, a BUG and/or null pointer deref can occur. Don't let that happen. Signed-off-by: John Harrison Reviewed-by: Lucas De Marchi --- drivers/gpu/drm/i915/gt/uc/intel_guc_log_debu

[PATCH] drm/i915/guc: Request RP0 before loading firmware

2021-12-07 Thread John . C . Harrison
From: Vinay Belgaumkar By default, GT (and GuC) run at RPn. Requesting for RP0 before firmware load can speed up DMA and HuC auth as well. In addition to writing to 0xA008, we also need to enable swreq in 0xA024 so that Punit will pay heed to our request. Signed-off-by: Vinay Belgaumkar --- dr

[PATCH v2 0/3] Assorted fixes/tweaks to GuC support

2021-12-07 Thread John . C . Harrison
From: John Harrison Fix a potential null pointer dereference, improve debug crash reports, improve code separation. v2: Reposting as reduced set of patches due to CI failures. Signed-off-by: John Harrison John Harrison (3): drm/i915/uc: Allow platforms to have GuC but not HuC drm/i915/g

[PATCH v2 1/3] drm/i915/uc: Allow platforms to have GuC but not HuC

2021-12-07 Thread John . C . Harrison
From: John Harrison It is possible for platforms to require GuC but not HuC firmware. Also, the firmware versions for GuC and HuC advance independently. So split the macros up to allow the lists to be maintained separately. Signed-off-by: John Harrison Reviewed-by: Lucas De Marchi Reviewed-by:

[PATCH v2 2/3] drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM

2021-12-07 Thread John . C . Harrison
From: John Harrison Lots of testing is done with the DEBUG_GEM config option enabled but not the DEBUG_GUC option. That means we only get teeny-tiny GuC logs which are not hugely useful. Enabling full DEBUG_GUC also spews lots of other detailed output that is not generally desired. However, bigge

[PATCH v2 3/3] drm/i915/guc: Don't go bang in GuC log if no GuC

2021-12-07 Thread John . C . Harrison
From: John Harrison If the GuC has failed to load for any reason and then the user pokes the debugfs GuC log interface, a BUG and/or null pointer deref can occur. Don't let that happen. Signed-off-by: John Harrison Reviewed-by: Lucas De Marchi --- drivers/gpu/drm/i915/gt/uc/intel_guc_log_debu

[PATCH 1/4] drm/i915/uc: Allow platforms to have GuC but not HuC

2021-12-09 Thread John . C . Harrison
From: John Harrison It is possible for platforms to require GuC but not HuC firmware. Also, the firmware versions for GuC and HuC advance independently. So split the macros up to allow the lists to be maintained separately. Signed-off-by: John Harrison Reviewed-by: Lucas De Marchi Reviewed-by:

[PATCH 2/4] drm/i915/guc: Speed up GuC log dumps

2021-12-09 Thread John . C . Harrison
From: John Harrison Add support for telling the debugfs interface the size of the GuC log dump in advance. Without that, the underlying framework keeps calling the 'show' function with larger and larger buffer allocations until it fits. That means reading the log from graphics memory many times -

[PATCH 3/4] drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM

2021-12-09 Thread John . C . Harrison
From: John Harrison Lots of testing is done with the DEBUG_GEM config option enabled but not the DEBUG_GUC option. That means we only get teeny-tiny GuC logs which are not hugely useful. Enabling full DEBUG_GUC also spews lots of other detailed output that is not generally desired. However, bigge

[PATCH 0/4] Assorted fixes/tweaks to GuC support

2021-12-09 Thread John . C . Harrison
From: John Harrison Fix a potential null pointer dereference, improve debug crash reports, improve code separation, improve GuC log read speed. Signed-off-by: John Harrison John Harrison (4): drm/i915/uc: Allow platforms to have GuC but not HuC drm/i915/guc: Speed up GuC log dumps drm/

[PATCH 4/4] drm/i915/guc: Don't go bang in GuC log if no GuC

2021-12-09 Thread John . C . Harrison
From: John Harrison If the GuC has failed to load for any reason and then the user pokes the debugfs GuC log interface, a BUG and/or null pointer deref can occur. Don't let that happen. Signed-off-by: John Harrison Reviewed-by: Lucas De Marchi --- drivers/gpu/drm/i915/gt/uc/intel_guc_log_debu

[PATCH 1/4] drm/i915/guc: Speed up GuC log dumps

2021-12-10 Thread John . C . Harrison
From: John Harrison Add support for telling the debugfs interface the size of the GuC log dump in advance. Without that, the underlying framework keeps calling the 'show' function with larger and larger buffer allocations until it fits. That means reading the log from graphics memory many times -

[PATCH 2/4] drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM

2021-12-10 Thread John . C . Harrison
From: John Harrison Lots of testing is done with the DEBUG_GEM config option enabled but not the DEBUG_GUC option. That means we only get teeny-tiny GuC logs which are not hugely useful. Enabling full DEBUG_GUC also spews lots of other detailed output that is not generally desired. However, bigge

[PATCH 0/4] More fixes/tweaks to GuC support

2021-12-10 Thread John . C . Harrison
From: John Harrison Allow engine resets on RCS, report problems with engine resets, improve GuC log usability. Signed-off-by: John Harrison John Harrison (4): drm/i915/guc: Speed up GuC log dumps drm/i915/guc: Increase GuC log size for CONFIG_DEBUG_GEM drm/i915/guc: Flag an error if an

[PATCH 4/4] drm/i915: Improve long running OCL w/a for GuC submission

2021-12-10 Thread John . C . Harrison
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 heartbeat will kick in eventually and cause a reset of the hung engine. However, this does not work well in G

[PATCH 3/4] drm/i915/guc: Flag an error if an engine reset fails

2021-12-10 Thread John . C . Harrison
From: John Harrison If GuC encounters an error during engine reset, the i915 driver promotes to full GT reset. This includes an info message about why the reset is happening. However, that is not treated as a failure by any of the CI systems because resets are an expected occurrance during testin

[PATCH] drm/i915/guc: Check for wedged before doing stuff

2021-12-15 Thread John . C . Harrison
From: John Harrison A fault injection probe test hit a BUG_ON in a GuC error path. It showed that the GuC code could potentially attempt to do many things when the device is actually wedged. So, add a check in to prevent that. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_g

[PATCH 0/3] Update to GuC version 69.0.3

2021-12-20 Thread John . C . Harrison
From: John Harrison Update to the latest GuC version. This includes a suite of interface changes and new features with corresponding i915 side changes. Signed-off-by: John Harrison John Harrison (3): drm/i915/guc: Temporarily bump the GuC load timeout drm/i915/guc: Update to GuC version

[PATCH 1/3] drm/i915/guc: Temporarily bump the GuC load timeout

2021-12-20 Thread John . C . Harrison
From: John Harrison There is a known (but exceedingly unlikely) race condition where the asynchronous frequency management code could reduce the GT clock while a GuC reload is in progress (during a full GT reset). A fix is in progress but there are complex locking issues to be resolved. In the me

[PATCH 2/3] drm/i915/guc: Update to GuC version 69.0.3

2021-12-20 Thread John . C . Harrison
From: John Harrison Update to the latest GuC release. The latest GuC firmware introduces a number of interface changes: GuC may return NO_RESPONSE_RETRY message for requests sent over CTB. Add support for this reply and try resending the request again as a new CTB message. A KLV (key-length-va

[PATCH 3/3] drm/i915/guc: Improve GuC loading status check/error reports

2021-12-20 Thread John . C . Harrison
From: John Harrison If the GuC fails to load, it is useful to know what firmware file / version was attempted. So move the version info report to before the load attempt rather than only after a successful load. If the GuC does fail to load, then make the error messages visible rather than being

  1   2   3   4   5   6   >