Unverified Commit 1696b0cf authored by Zhanjun Dong's avatar Zhanjun Dong Committed by Rodrigo Vivi
Browse files

drm/i915/guc: Skip communication warning on reset in progress

GuC IRQ and tasklet handler receive just single G2H message, and let other
messages to be received from next tasklet. During this chained tasklet
process, if reset process started, communication will be disabled.
Skip warning for this condition.

Fixes: 65dd4ed0 ("drm/i915/guc: Don't receive all G2H messages in irq handler")
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15018


Signed-off-by: default avatarZhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: default avatarVinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://lore.kernel.org/r/20250929152904.269776-1-zhanjun.dong@intel.com


(cherry picked from commit 604b5ee4)
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 3a866087
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1325,9 +1325,16 @@ static int ct_receive(struct intel_guc_ct *ct)

static void ct_try_receive_message(struct intel_guc_ct *ct)
{
	struct intel_guc *guc = ct_to_guc(ct);
	int ret;

	if (GEM_WARN_ON(!ct->enabled))
	if (!ct->enabled) {
		GEM_WARN_ON(!guc_to_gt(guc)->uc.reset_in_progress);
		return;
	}

	/* When interrupt disabled, message handling is not expected */
	if (!guc->interrupts.enabled)
		return;

	ret = ct_receive(ct);