From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) (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 29ACC274B3B; Mon, 11 May 2026 02:37:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=92.121.34.13 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778467047; cv=none; b=C1eZR43yMGULUXZdO9gS+d1COdMn0UnsPlKjB836xkVqcmcX2s1mrMk9Si8gVrz7BCm5sdvW+nm4fMNk2Ybj/zTPobI8tWj5AkRA2w5OG/ji2rzXZYnG7C2UuElRbxsrzQQM5dQDFzE3IypaxPAEJ6RXLK2wz8z7A5nZs69E5yU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778467047; c=relaxed/simple; bh=W7f7BfPczttR8tLC20aw4NCnc9tckGqSjw3XSso73WM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=nCF3J+O55okeDZl6tRP4Laqtl6AWEmRsUPAh+Kp2qJIv1U19n/UDnaJj8jbZu+Oy7zzij64Wcpi59QvCAHc+JLYCr8nJuwK36P1Qz/NyDGt6HOB5hJZ7NmbVr5TSwQyV5XiWTBpajeLJuMs9yEl1lXctF4MTYu5q5z0oKKSQOAM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; arc=none smtp.client-ip=92.121.34.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 5EDCA1A4809; Mon, 11 May 2026 04:37:13 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 287531A155D; Mon, 11 May 2026 04:37:13 +0200 (CEST) Received: from localhost.localdomain (mega.ap.freescale.net [10.192.208.232]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id EDCE818002D5; Mon, 11 May 2026 10:37:10 +0800 (+08) From: Jiafei Pan To: andersson@kernel.org, mathieu.poirier@linaro.org, peng.fan@nxp.com, Frank.Li@nxp.com, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Zhiqiang.Hou@nxp.com, mingkai.hu@nxp.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, Jiafei Pan Subject: [PATCH v3 3/4] remoteproc: imx_rproc: add autoboot support for A-core Date: Mon, 11 May 2026 10:39:27 +0800 Message-Id: <20260511023928.39640-4-Jiafei.Pan@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260511023928.39640-1-Jiafei.Pan@nxp.com> References: <20260511023928.39640-1-Jiafei.Pan@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: From: Hou Zhiqiang Add autoboot support for Cortex-A Core remoteproc. Signed-off-by: Hou Zhiqiang Signed-off-by: Jiafei Pan --- Changes in v3: - Added my signed-of-by. --- drivers/remoteproc/imx_rproc.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 8a3de27c96b7..e8d239bef5c9 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1286,7 +1286,24 @@ static int imx_rproc_sm_detect_mode(struct rproc *rproc) static int imx_rproc_psci_detect_mode(struct rproc *rproc) { - rproc->state = RPROC_OFFLINE; + struct imx_rproc *priv = rproc->priv; + unsigned int cpu; + int cpu_aff; + + rproc->state = RPROC_DETACHED; + for_each_cpu(cpu, &priv->cpus) { + cpu_aff = psci_ops.affinity_info(cpu_logical_map(cpu), 0); + if (cpu_aff == PSCI_0_2_AFFINITY_LEVEL_OFF) { + rproc->state = RPROC_OFFLINE; + break; + } + + /* in psci on state but running Linux */ + if (cpu_online(cpu)) { + rproc->state = RPROC_OFFLINE; + break; + } + } return 0; } @@ -1391,7 +1408,6 @@ static int imx_rproc_probe(struct platform_device *pdev) bitmap_copy(cpumask_bits(&priv->cpus), &cpus_bits, min((unsigned int)nr_cpumask_bits, (unsigned int)sizeof(unsigned long))); - rproc->auto_boot = false; } ret = imx_rproc_detect_mode(priv); -- 2.43.0