From nobody Sun Dec 14 21:45:09 2025 Received: from mblankhorst.nl (lankhorst.se [141.105.120.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94077215178 for ; Tue, 4 Feb 2025 13:21:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=141.105.120.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738675315; cv=none; b=rAD/xWZZq9Tibr6KkUYLlzSANKgFtyYz5PhdYREelFN31LVaJIUEvAwXSQh23Ylhkco5VJbNukJI0YYC4soEFMdtSgo6CWYl9S7ngOXSNaXjdZxUrm5+36+N9hLx26HiVyGXCHSo6szq3xjywvCGvstNdmMOsSncaLMi+7Ck6QM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738675315; c=relaxed/simple; bh=H3DrQqWNLJegFu3EIWC7xtF68ndxXtxjRLRYiWpbrjg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h1Mzo98GnnnBoNMs8oW9pW6eL87lWhAg7UEgjaH53iQ0epnu+VQS95sAWrvhBIF8kmK8ssB1GTThr6+ppI8US6gPuqCCshvUepAGQxpI9gONvY8+qxo0p11NquqQWN9y2VLDUCJn2hHXEaXvXjZuhBUkAo2LExNuA/Y6vUARaJg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=lankhorst.se; spf=none smtp.mailfrom=mblankhorst.nl; arc=none smtp.client-ip=141.105.120.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=lankhorst.se Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=mblankhorst.nl From: Maarten Lankhorst To: intel-xe@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Maarten Lankhorst , Ingo Molnar , David Lechner , Peter Zijlstra , Will Deacon , Waiman Long , Boqun Feng Subject: [PATCH-resent-to-correct-ml 2/8] drm/xe/gt: Unify xe_hw_fence_irq_finish() calls. Date: Tue, 4 Feb 2025 14:22:31 +0100 Message-ID: <20250204132238.162608-3-dev@lankhorst.se> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250204132238.162608-1-dev@lankhorst.se> References: <20250204132238.162608-1-dev@lankhorst.se> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Those calls should be from xe_gt_init, not the diverse amount of places they are called. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/xe/xe_gt.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c index 01a4a852b8f43..943bab94119fa 100644 --- a/drivers/gpu/drm/xe/xe_gt.c +++ b/drivers/gpu/drm/xe/xe_gt.c @@ -408,13 +408,11 @@ static void dump_pat_on_error(struct xe_gt *gt) static int gt_fw_domain_init(struct xe_gt *gt) { unsigned int fw_ref; - int err, i; + int err; =20 fw_ref =3D xe_force_wake_get(gt_to_fw(gt), XE_FW_GT); - if (!fw_ref) { - err =3D -ETIMEDOUT; - goto err_hw_fence_irq; - } + if (!fw_ref) + return -ETIMEDOUT; =20 if (!xe_gt_is_media_type(gt)) { err =3D xe_ggtt_init(gt_to_tile(gt)->mem.ggtt); @@ -455,9 +453,6 @@ static int gt_fw_domain_init(struct xe_gt *gt) err_force_wake: dump_pat_on_error(gt); xe_force_wake_put(gt_to_fw(gt), fw_ref); -err_hw_fence_irq: - for (i =3D 0; i < XE_ENGINE_CLASS_MAX; ++i) - xe_hw_fence_irq_finish(>->fence_irq[i]); =20 return err; } @@ -465,7 +460,7 @@ static int gt_fw_domain_init(struct xe_gt *gt) static int all_fw_domain_init(struct xe_gt *gt) { unsigned int fw_ref; - int err, i; + int err; =20 fw_ref =3D xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL); if (!xe_force_wake_ref_has_domain(fw_ref, XE_FORCEWAKE_ALL)) { @@ -543,8 +538,6 @@ static int all_fw_domain_init(struct xe_gt *gt) =20 err_force_wake: xe_force_wake_put(gt_to_fw(gt), fw_ref); - for (i =3D 0; i < XE_ENGINE_CLASS_MAX; ++i) - xe_hw_fence_irq_finish(>->fence_irq[i]); =20 return err; } @@ -596,35 +589,39 @@ int xe_gt_init(struct xe_gt *gt) =20 err =3D xe_gt_pagefault_init(gt); if (err) - return err; + goto err; =20 xe_mocs_init_early(gt); =20 err =3D xe_gt_sysfs_init(gt); if (err) - return err; + goto err; =20 err =3D gt_fw_domain_init(gt); if (err) - return err; + goto err; =20 err =3D xe_gt_idle_init(>->gtidle); if (err) - return err; + goto err; =20 err =3D xe_gt_freq_init(gt); if (err) - return err; + goto err; =20 xe_force_wake_init_engines(gt, gt_to_fw(gt)); =20 err =3D all_fw_domain_init(gt); if (err) - return err; + goto err; =20 xe_gt_record_user_engines(gt); =20 return 0; +err: + for (i =3D 0; i < XE_ENGINE_CLASS_MAX; ++i) + xe_hw_fence_irq_finish(>->fence_irq[i]); + return err; } =20 /** --=20 2.47.1