diff options
| author | Michal Wajdeczko <michal.wajdeczko@intel.com> | 2024-01-11 16:48:38 +0100 |
|---|---|---|
| committer | Michal Wajdeczko <michal.wajdeczko@intel.com> | 2024-01-11 19:16:09 +0100 |
| commit | 3c01e01214026114609c577ce31f81d4e037dd50 (patch) | |
| tree | 0f05fbce178d807610c451b5a8a7fcbc206855fe /drivers | |
| parent | 88cbf8502023dcb97bf9e40655d4848ba14350e0 (diff) | |
| download | lwn-3c01e01214026114609c577ce31f81d4e037dd50.tar.gz lwn-3c01e01214026114609c577ce31f81d4e037dd50.zip | |
drm/xe/guc: Treat non-response message after BUSY as unexpected
Once GuC replied with GUC_HXG_TYPE_NO_RESPONSE_BUSY message then
we may expect that only RESPONSE_SUCCESS or FAILURE message will
be sent, anything else is a violation of the HXG protocol.
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20240111154838.541-1-michal.wajdeczko@intel.com
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/xe/xe_guc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index 0fd9b5efe4c2..235d27b17ff9 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -731,8 +731,12 @@ timeout: if (unlikely(FIELD_GET(GUC_HXG_MSG_0_ORIGIN, header) != GUC_HXG_ORIGIN_GUC)) goto proto; - if (unlikely(ret)) + if (unlikely(ret)) { + if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) != + GUC_HXG_TYPE_NO_RESPONSE_BUSY) + goto proto; goto timeout; + } } if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) == |
