From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A219DC5DF82 for ; Thu, 20 Aug 2026 10:16:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6817310EFBD; Thu, 20 Aug 2026 10:16:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="hmb0BIcn"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id B83F210EFB7 for ; Thu, 20 Aug 2026 10:16:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1787221007; x=1818757007; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jNquZ+kJtNo9w812vPsPD7lAT+XKcbh4XiloXlOeeS8=; b=hmb0BIcn3Tml3bMKigMYvCIN2Lm+V4wZGA3NQ7KW6kfLRrHNKrHVN3ou tx41gTwjtiPu2GejyZ2bbX+kmYPT4LxEoxiSAEH9aW7A8r8SsBZlZ+zsM Zoz/C3o/obQRtK52uv/4eqVMxA2oJ802QytOOfUwBo35whikekaFmFlyi k+lWrAuYIt9oKTY2U2zOwdvyp6HS7OQ8q2d1tSKYsmouxyMvR4ZLDqg0E zD1H8/K9+nK0qhTxDc0ZxgkFDPninVjrYghTtxdwmzZOvmGvM3N60whaw L7RY/LSDTALy31PbIiM2Adz6IeA2+9WCi4GPE6ccGVhnmSIXgnx7pwxFo Q==; X-CSE-ConnectionGUID: ynXXY1RVR1qVWB1L9LCVPw== X-CSE-MsgGUID: KOWeVT7IRo+CGZa9dAsC6w== X-IronPort-AV: E=McAfee;i="6800,10657,11880"; a="113290921" X-IronPort-AV: E=Sophos;i="6.25,233,1779174000"; d="scan'208";a="113290921" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Aug 2026 03:16:47 -0700 X-CSE-ConnectionGUID: FGsq8sLXQ+WBNFY06eWS4Q== X-CSE-MsgGUID: 2SxV2obJQ9O/owFBIjqZHg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,233,1779174000"; d="scan'208";a="271176390" Received: from jraag-z790m-itx-wifi.iind.intel.com ([10.190.239.23]) by fmviesa005.fm.intel.com with ESMTP; 20 Aug 2026 03:16:43 -0700 From: Mallesh Koujalagi To: intel-xe@lists.freedesktop.org, rodrigo.vivi@intel.com, matthew.brost@intel.com Cc: anshuman.gupta@intel.com, badal.nilawar@intel.com, vinay.belgaumkar@intel.com, riana.tauro@intel.com, karthik.poosa@intel.com, sk.anirban@intel.com, raag.jadav@intel.com, michal.wajdeczko@intel.com, aravind.iddamsetty@linux.intel.com, umesh.nerlige.ramappa@intel.com, dnyaneshwar.bhadane@intel.com, anoop.c.vijay@intel.com, Mallesh Koujalagi Subject: [PATCH v4 1/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_clear() Date: Thu, 20 Aug 2026 15:46:34 +0530 Message-ID: <20260820101632.527214-10-mallesh.koujalagi@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260820101632.527214-9-mallesh.koujalagi@intel.com> References: <20260820101632.527214-9-mallesh.koujalagi@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" Make sysctrl_wait_bit_clear() return an error code rather than a bool. and update callers to use xe_log_err() with the propagated error code. Signed-off-by: Mallesh Koujalagi --- drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c index e13eebaac1d0..ef847f0a8f2c 100644 --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c @@ -11,6 +11,7 @@ #include "regs/xe_sysctrl_regs.h" #include "xe_device.h" +#include "xe_log.h" #include "xe_mmio.h" #include "xe_pm.h" #include "xe_printk.h" @@ -34,15 +35,11 @@ struct xe_sysctrl_mailbox_msg_hdr { #define XE_SYSCTRL_HDR_RESULT(hdr) \ FIELD_GET(SYSCTRL_HDR_RESULT_MASK, le32_to_cpu((hdr)->data)) -static bool sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask, - unsigned int timeout_ms) +static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask, + unsigned int timeout_ms) { - int ret; - - ret = xe_mmio_wait32_not(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask, + return xe_mmio_wait32_not(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask, timeout_ms * 1000, NULL, false); - - return ret == 0; } static bool sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask, @@ -145,12 +142,14 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc, struct xe_device *xe = sc_to_xe(sc); u32 ctrl_reg, total_frames, frame; size_t bytes_sent, frame_size; + int ret; total_frames = DIV_ROUND_UP(cmd_size, XE_SYSCTRL_MB_FRAME_SIZE); - if (!sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms)) { - xe_err(xe, "sysctrl: Mailbox busy\n"); - return -EBUSY; + ret = sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms); + if (ret) { + xe_log_err(xe, SYSCTRL, ret, "Mailbox busy\n"); + return ret; } sc->phase_bit ^= 1; @@ -173,10 +172,11 @@ static int sysctrl_send_frames(struct xe_sysctrl *sc, xe_mmio_write32(sc->mmio, SYSCTRL_MB_CTRL, ctrl_reg); - if (!sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms)) { - xe_err(xe, "sysctrl: Frame %u acknowledgment timeout\n", frame); + ret = sysctrl_wait_bit_clear(sc, SYSCTRL_MB_CTRL_RUN_BUSY, timeout_ms); + if (ret) { + xe_log_err(xe, SYSCTRL, ret, "Frame %u acknowledgment timeout\n", frame); sc->phase_bit = 0; - return -ETIMEDOUT; + return ret; } bytes_sent += frame_size; -- 2.48.1