From nobody Sun Feb 8 06:56:19 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D3602EC54A for ; Wed, 8 Oct 2025 10:51:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759920711; cv=none; b=m0hP4D1QOiVpafTe2fNK/2q4PjPwWSjsgTIzDZflVbXrig96pUD9FGUTgkTmanVgh8QLtrRypuTIDVmu81hq7VpJzyqZUAX411UWSL9xH9eXvOA4hUGgAp5unT6JiAvCVp1X28IbYrSZc9Te21LIv3tMJj4PpFDgghteExekbQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759920711; c=relaxed/simple; bh=uGjdg2BDGPCc3OD3GZvJcnUjViKSR2iqLWafDin5fts=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=QmU6hH9yflw2hYpO5Na0D8aUueqA2v6LAXseKZ4HVCQgKdwZt/YAsSx8X2dpyx/oZVKiyq8mUHIFCij8rMWr1zKa+AtnpUYDIP7UjrQ0KQ2DslXF4oDDcr7zxd39LuKtsGuY4RdWsupi3cW95Xsq/+7OUx6kkt75DjEbW0TkXB0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3184322FC; Wed, 8 Oct 2025 03:51:40 -0700 (PDT) Received: from e120398-lin.trondheim.arm.com (e120398-lin.trondheim.arm.com [10.40.16.110]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AF6A33F59E; Wed, 8 Oct 2025 03:51:45 -0700 (PDT) From: Ketil Johnsen To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: Ketil Johnsen , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/panthor: Ensure MCU is disabled on suspend Date: Wed, 8 Oct 2025 12:51:11 +0200 Message-ID: <20251008105112.4077015-1-ketil.johnsen@arm.com> X-Mailer: git-send-email 2.43.0 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" Currently the Panthor driver needs the GPU to be powered down between suspend and resume. If this is not done, then the MCU_CONTROL register will be preserved as AUTO, which again will cause a premature FW boot on resume. The FW will go directly into fatal state in this case. This case needs to be handled as there is no guarantee that the GPU will be powered down after the suspend callback on all platforms. The fix is to call panthor_fw_stop() in "pre-reset" path to ensure the MCU_CONTROL register is cleared (set DISABLE). This matches well with the already existing call to panthor_fw_start() from the "post-reset" path. Signed-off-by: Ketil Johnsen Acked-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panthor/panthor_fw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor= /panthor_fw.c index 9bf06e55eaee..df767e82148a 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1099,6 +1099,7 @@ void panthor_fw_pre_reset(struct panthor_device *ptde= v, bool on_hang) } =20 panthor_job_irq_suspend(&ptdev->fw->irq); + panthor_fw_stop(ptdev); } =20 /** --=20 2.43.0