Re: [Intel-gfx] [PATCH 2/3] drm/i915/guc: Clean up of register capture search

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/3/2023 23:29, Teres Alexis, Alan Previn wrote:
I see you are inferring that a guc-id of zero can be valid.
I am guessing that might have contributed to some lost captures?
Thanks for catching this.
I'm not inferring anything. I might be implying something, though. The patch description probably should have mentioned that change. I'll add something in.

There is nothing special about id zero. The lower X many ids are reserved for multi-LRC use. So you won't see zero being allocated normally. But run a multi-LRC app/test and the first context allocated should be id zero.

John.


Reviewed-by: Alan Previn <alan.previn.teres.alexis@xxxxxxxxx>

On Thu, 2023-02-02 at 17:10 -0800, John.C.Harrison@xxxxxxxxx wrote:
From: John Harrison <John.C.Harrison@xxxxxxxxx>

The comparison in the search for a matching register capture node was
not the most readable. So remove two redundant terms and re-format to
keep each term on a single line, and only one term per line.

Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx>
---
  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c | 5 ++---
  1 file changed, 2 insertions(+), 3 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 710999d7189ee..87b080dd6bead 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
@@ -1627,9 +1627,8 @@ void intel_guc_capture_get_matching_node(struct intel_gt *gt,
         list_for_each_entry_safe(n, ntmp, &guc->capture->outlist, link) {
                 if (n->eng_inst == GUC_ID_TO_ENGINE_INSTANCE(ee->engine->guc_id) &&
                     n->eng_class == GUC_ID_TO_ENGINE_CLASS(ee->engine->guc_id) &&
-                   n->guc_id && n->guc_id == ce->guc_id.id &&
-                   (n->lrca & CTX_GTT_ADDRESS_MASK) && (n->lrca & CTX_GTT_ADDRESS_MASK) ==
-                   (ce->lrc.lrca & CTX_GTT_ADDRESS_MASK)) {
+                   n->guc_id == ce->guc_id.id &&
+                   (n->lrca & CTX_GTT_ADDRESS_MASK) == (ce->lrc.lrca & CTX_GTT_ADDRESS_MASK)) {
                         list_del(&n->link);
                         ee->guc_capture_node = n;
                         ee->guc_capture = guc->capture;




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux