OSDN Git Service

drm/i915/guc: Handle errors in multi-lrc requests
authorMatthew Brost <matthew.brost@intel.com>
Thu, 14 Oct 2021 17:20:01 +0000 (10:20 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Fri, 15 Oct 2021 17:45:50 +0000 (10:45 -0700)
commit28c7023332ceb95c19d9f19914a63f88d15ab427
treef2c2c8a8259500539becd390c248c3b46c2641ca
parent544460c33821b44c2f0c643121303c3dc3f66ef1
drm/i915/guc: Handle errors in multi-lrc requests

If an error occurs in the front end when multi-lrc requests are getting
generated we need to skip these in the backend but we still need to
emit the breadcrumbs seqno. An issues arises because with multi-lrc
breadcrumbs there is a handshake between the parent and children to make
forward progress. If all the requests are not present this handshake
doesn't work. To work around this, if multi-lrc request has an error we
skip the handshake but still emit the breadcrumbs seqno.

v2:
 (John Harrison)
  - Add comment explaining the skipping of the handshake logic
  - Fix typos in the commit message
v3:
 (John Harrison)
  - Fix up some comments about the math to NOP the ring

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211014172005.27155-22-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c