[Intel-gfx] [Intel-gfx 1/1] drm/i915/guc: Asynchronous flush of GuC log regions
John Harrison
john.c.harrison at intel.com
Tue Jul 5 22:53:23 UTC 2022
On 6/6/2022 17:23, Alan Previn wrote:
> Both error-capture and relay-logging mechanism use the GuC
> log infrastructure. That means the KMD must send a log flush
> complete notification back to GuC after reading the data out.
> This call is currently being sent synchronously.
> However, synchronous H2Gs cause problems when the system is
> backed up. There is no need for this to be synchronous. The
> KMD wasn't even looking at the return status from it. So make
> it asynchronous and then there is no issue about time outs.
>
> Signed-off-by: Alan Previn <alan.previn.teres.alexis at intel.com>
Reviewed-by: John Harrison <John.C.Harrison at Intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 3 ++-
> drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> index 97a32e610c30..ffcd7a35f8df 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> @@ -1261,7 +1261,8 @@ static int __guc_capture_flushlog_complete(struct intel_guc *guc)
> GUC_CAPTURE_LOG_BUFFER
> };
>
> - return intel_guc_send(guc, action, ARRAY_SIZE(action));
> + return intel_guc_send_nb(guc, action, ARRAY_SIZE(action), 0);
> +
> }
>
> static void __guc_capture_process_output(struct intel_guc *guc)
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 02311ad90264..25b2d7ce6640 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -31,7 +31,7 @@ static int guc_action_flush_log_complete(struct intel_guc *guc)
> GUC_DEBUG_LOG_BUFFER
> };
>
> - return intel_guc_send(guc, action, ARRAY_SIZE(action));
> + return intel_guc_send_nb(guc, action, ARRAY_SIZE(action), 0);
> }
>
> static int guc_action_flush_log(struct intel_guc *guc)
More information about the Intel-gfx
mailing list