All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Matthew Brost <matthew.brost@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
	<alan.previn.teres.alexis@intel.com>, <zhanjun.dong@intel.com>
Subject: Re: [PATCH 1/7] drm/xe: Add xe_lrc_is_idle() helper
Date: Fri, 8 Nov 2024 15:11:52 -0500	[thread overview]
Message-ID: <Zy5wiFy_ZtrNzZtK@intel.com> (raw)
In-Reply-To: <20241108174312.272792-2-matthew.brost@intel.com>

On Fri, Nov 08, 2024 at 09:43:06AM -0800, Matthew Brost wrote:
> Add helper to compare ring head and tail to determine if LRC is idle.
> 

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc_submit.c |  2 +-
>  drivers/gpu/drm/xe/xe_lrc.c        | 13 +++++++++++++
>  drivers/gpu/drm/xe/xe_lrc.h        |  2 ++
>  3 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 9e0f86f3778b..e7257c681278 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1705,7 +1705,7 @@ static void guc_exec_queue_stop(struct xe_guc *guc, struct xe_exec_queue *q)
>  				ban = true;
>  			}
>  		} else if (xe_exec_queue_is_lr(q) &&
> -			   (xe_lrc_ring_head(q->lrc[0]) != xe_lrc_ring_tail(q->lrc[0]))) {
> +			   !xe_lrc_ring_is_idle(q->lrc[0])) {
>  			ban = true;
>  		}
>  
> diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
> index 4b65da77c6e0..e219657535cf 100644
> --- a/drivers/gpu/drm/xe/xe_lrc.c
> +++ b/drivers/gpu/drm/xe/xe_lrc.c
> @@ -1763,3 +1763,16 @@ u32 xe_lrc_update_timestamp(struct xe_lrc *lrc, u32 *old_ts)
>  
>  	return lrc->ctx_timestamp;
>  }
> +
> +/**
> + * xe_lrc_is_idle() - LRC is idle
> + * @lrc: Pointer to the lrc.
> + *
> + * Compare LRC ring head and tail to determine if idle.
> + *
> + * Return: True is ring is idle, False otherwise
> + */
> +bool xe_lrc_ring_is_idle(struct xe_lrc *lrc)
> +{
> +	return xe_lrc_ring_head(lrc) == xe_lrc_ring_tail(lrc);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
> index 40d8f6906d3e..9d64cedc4d14 100644
> --- a/drivers/gpu/drm/xe/xe_lrc.h
> +++ b/drivers/gpu/drm/xe/xe_lrc.h
> @@ -78,6 +78,8 @@ u32 xe_lrc_ring_head(struct xe_lrc *lrc);
>  u32 xe_lrc_ring_space(struct xe_lrc *lrc);
>  void xe_lrc_write_ring(struct xe_lrc *lrc, const void *data, size_t size);
>  
> +bool xe_lrc_ring_is_idle(struct xe_lrc *lrc);
> +
>  u32 xe_lrc_indirect_ring_ggtt_addr(struct xe_lrc *lrc);
>  u32 xe_lrc_ggtt_addr(struct xe_lrc *lrc);
>  u32 *xe_lrc_regs(struct xe_lrc *lrc);
> -- 
> 2.34.1
> 

  reply	other threads:[~2024-11-08 20:12 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-08 17:43 [PATCH 0/7] Devcoredump Improvements Matthew Brost
2024-11-08 17:43 ` [PATCH 1/7] drm/xe: Add xe_lrc_is_idle() helper Matthew Brost
2024-11-08 20:11   ` Rodrigo Vivi [this message]
2024-11-08 22:00   ` Cavitt, Jonathan
2024-11-08 22:06   ` Dong, Zhanjun
2024-11-08 22:58     ` Matthew Brost
2024-11-08 17:43 ` [PATCH 2/7] drm/xe: Add ring address to LRC snapshot Matthew Brost
2024-11-08 20:12   ` Rodrigo Vivi
2024-11-08 22:05   ` Cavitt, Jonathan
2024-11-08 23:10     ` Matthew Brost
2024-11-08 23:34       ` Cavitt, Jonathan
2024-11-12 17:59         ` John Harrison
2024-11-12 18:18           ` Matthew Brost
2024-11-12 20:16             ` Cavitt, Jonathan
2024-11-12 20:30               ` Matt Roper
2024-11-12 20:46                 ` Rodrigo Vivi
2024-11-12 21:21                   ` Cavitt, Jonathan
2024-11-12 22:26                     ` Matt Roper
2024-11-08 17:43 ` [PATCH 3/7] drm/xe: Add ring start " Matthew Brost
2024-11-08 22:07   ` Cavitt, Jonathan
2024-11-08 17:43 ` [PATCH 4/7] drm/xe: Improve schedule disable response failure Matthew Brost
2024-11-08 22:07   ` Cavitt, Jonathan
2024-11-08 17:43 ` [PATCH 5/7] drm/xe: Add exec queue param to devcoredump Matthew Brost
2024-11-08 22:21   ` Rodrigo Vivi
2024-11-08 22:56     ` Matthew Brost
2024-11-08 22:22   ` Cavitt, Jonathan
2024-11-08 17:43 ` [PATCH 6/7] drm/xe: Change xe_engine_snapshot_capture_for_job to be for_queue Matthew Brost
2024-11-08 22:27   ` Cavitt, Jonathan
2024-11-11 22:15   ` Dong, Zhanjun
2024-11-11 22:41     ` Dong, Zhanjun
2024-11-08 17:43 ` [PATCH 7/7] drm/xe: Wire devcoredump to LR TDR Matthew Brost
2024-11-08 22:27   ` Cavitt, Jonathan
2024-11-08 17:47 ` ✓ CI.Patch_applied: success for Devcoredump Improvements Patchwork
2024-11-08 17:48 ` ✓ CI.checkpatch: " Patchwork
2024-11-08 17:49 ` ✓ CI.KUnit: " Patchwork
2024-11-08 18:00 ` ✓ CI.Build: " Patchwork
2024-11-08 18:03 ` ✗ CI.Hooks: failure " Patchwork
2024-11-08 18:04 ` ✓ CI.checksparse: success " Patchwork
2024-11-08 18:21 ` ✓ CI.BAT: " Patchwork
2024-11-09 20:30 ` ✗ CI.FULL: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zy5wiFy_ZtrNzZtK@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=alan.previn.teres.alexis@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=matthew.brost@intel.com \
    --cc=zhanjun.dong@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.