From nobody Mon Feb 9 03:11:55 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012055.outbound.protection.outlook.com [40.93.195.55]) (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 C7D122609E3; Sun, 2 Nov 2025 23:59:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.55 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762127979; cv=fail; b=GIHDuEpGIaXOlSNc5pf5AQNlGyCzj9GzeVCKAiElTCF8HnZC3qVI94obp7Oh17WXBDZA/gWI8ofuFPQ6LivO5Ti1QJfjPBCvhTBqS5kkOdgy2JVan18sLARKzmYc7y5DohxVT7P2JaxhgRDMjFjbAAHWNjSZIpbFAHympj3UnGw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762127979; c=relaxed/simple; bh=Uop21LaTfkZf3OwmtfeHYwb5KI/qlAaSqQYM28YEvwY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=aCS1+42xDcYSp7k9j+WIoIFf91dyKWJKuyNXc7PdPi7IqZnRT8zdYIZbI1YjqUMhT62N5GpF/RApeE6tqqx5e5etjAJg9YFgHM7pR8Bq1mlLDCtYIOhsvWB5Bn4wvOeSQYGMHPOBH8iRryfOp1cQ+eUKtPWzcBF1W0vVo1nwZTM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=eZUmhIJp; arc=fail smtp.client-ip=40.93.195.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="eZUmhIJp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V/yoa9pPP9/Tr8fPE1LYAF/FUvoGmItnxfkVntORDZ/rCnfrMoKYR5d7kbKHgERY4kHiYAMU9UjHJGLwANVLkMNyA+psU/MKMD+MPqj455YezWxQKyE231MINuySX/NEGi/nl5OQTCN0HtLqwyQBy8Irc9wU0cTAQJzVHJR/Em43UphGr56fDjjmoSPpWMFDyHjJAaEaGydDsPQpnBrCEr59uyzeHhnLirOOIoSUNANg3SKO5NxFumEjUCbQWDAMpY+1TVoUYfhcKgamwOp9C/1x/InsdGq79kGPCfJC5eVnZZA3MgSA9LuJLORZ/c+0F3k1PS+wQVSckNUUZeK3Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ylrYPyJDRZ81DHD0gZW32P3VlvSuuXaveUC6LNgkgtI=; b=ptii4MIZSsAe6cVJzktUlsw2yYQ2wRObTnwVYqPU4kKfGsGguAa5nlD4dBil4G67vKqIiT906tLkDrDBPTOBcCjwTWZxLlCumtc9cLUrMz7DWVNSazvumbPXWN8iRd+qd3g3CdWGO1yJyLIxSkb9kWTiZ6QZmz/dWuf+DQYd1UZvbreCuzliWG/CW+NCMCb8MljXT6a9/mt+Hrnjtm+MwO085/wg+4V7+glxvmWvVS2KAxuX785GEisLfyrlaEiCpGBCAlQ9E5zYQH5QUCyVlRRFJ7XGilf+NGGDYT0B5AeHmEfYRgsSWjhNP/5wcNLwpY9Gv6cLEWARL9hpwbXjUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ylrYPyJDRZ81DHD0gZW32P3VlvSuuXaveUC6LNgkgtI=; b=eZUmhIJplye03aOoL4H3f8xxC9zXQj0lbhesbiOht0ElFZd9mqUc952fhAsqfY/N2BQUkXRnCgcOl3kdtOgmu+I5W/s5tG9XQmqk+I9YcfZo8HVpBuL8QLly9a2b9+wj6vbF23NE43O1w6TkeeJ0Gewbn0EXUyljR2pZA+hgOfOCLfMFAZSIQ6RXA73cDnL15hOi/emgXhnQekZPCcLwS++DeljPBcFRgLRJdl0Na8H+Ao9X3zpz4gU/FmelQ9f8xII1/sgM3lPxGqVMwO0wyaeF1DEYhCZ7GZq29UliGKBTpeLnSqVdhxbmqf2WA27wpR7VI1GU6nbJM+9ATd4ZmQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7) by SJ2PR12MB9163.namprd12.prod.outlook.com (2603:10b6:a03:559::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Sun, 2 Nov 2025 23:59:31 +0000 Received: from SN7PR12MB8059.namprd12.prod.outlook.com ([fe80::4ee2:654e:1fe8:4b91]) by SN7PR12MB8059.namprd12.prod.outlook.com ([fe80::4ee2:654e:1fe8:4b91%2]) with mapi id 15.20.9275.013; Sun, 2 Nov 2025 23:59:31 +0000 From: Joel Fernandes To: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, dri-devel@lists.freedesktop.org, dakr@kernel.org, acourbot@nvidia.com Cc: Alistair Popple , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , bjorn3_gh@protonmail.com, Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , John Hubbard , Joel Fernandes , Timur Tabi , joel@joelfernandes.org, nouveau@lists.freedesktop.org Subject: [PATCH v2 02/12] nova-core: falcon: Move start functionality into separate helper Date: Sun, 2 Nov 2025 18:59:10 -0500 Message-Id: <20251102235920.3784592-3-joelagnelf@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251102235920.3784592-1-joelagnelf@nvidia.com> References: <20251102235920.3784592-1-joelagnelf@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0142.namprd13.prod.outlook.com (2603:10b6:208:2bb::27) To SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR12MB8059:EE_|SJ2PR12MB9163:EE_ X-MS-Office365-Filtering-Correlation-Id: ae837283-75d2-4572-cf31-08de1a6bdd93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Wa3Vq1qmBhENGhQtRG9VvLOMQO6QlEp6VnhQxnE3CxbxKwqZmkCdTZ/ugmkV?= =?us-ascii?Q?TeVV9R0xCVPmjgHZT8SGA5uV8oLTybLrLEdz+sYMqDN7kPkvkwEQ4rHNqDbV?= =?us-ascii?Q?DTW73qX8S1MSUt6m3ZVAhW7XWPDSg8AvomMNAJORPGkBLt95xhrxg7b44sGu?= =?us-ascii?Q?bMDpd3tjapO9Lr734z71wS1Ya7dwbJuVwrpHeesGjzUL4cQWq3FKX8p9YSF6?= =?us-ascii?Q?AVfMcMMr1wP6UlTV8s7cBlHRTfMzQVuaYFv0vOCqk+2pQ7ZpOQzre5LHOkIB?= =?us-ascii?Q?ZAI/Ycb3ReP6zRymtgBhX9YU4/Ba2c1o4J8GGPERW32M5+g7sPiGgmKfY87I?= =?us-ascii?Q?l3pFEmb9cbGAcN4egpJSHHa6BRGWf9kvOmdMMJxzkwGaT4RAQBo11+1HF++4?= =?us-ascii?Q?VNqdLbNnkAbZJRlAu0LoDJ53wl57OmUU5KYXngoKv6ZXY79vmFN4lRlfWQTt?= =?us-ascii?Q?Ceavo19gErnGbi6ygep6kcD0qBSrmiel9g/jjtx6981gatcd4nAKK6/94m87?= =?us-ascii?Q?RliIW52sPbx5eXrJai3JP6gNly5hvLWgcNa3D3KNGLWhRktHIj9m2WNRaT6D?= =?us-ascii?Q?0BnWL39zLplSqVb6A71f/jk5/9t9jXqqM9yLEKLZep31ctmNz0NwM2n+kCAq?= =?us-ascii?Q?6xD4mqAc/GGmt48DEaUW+qyI9ucSUbc96/cd2sjmvwAe7dL/65l18IybPrr3?= =?us-ascii?Q?LlUPaO5Tcf+6FjKOmICr9CuVh/98L4tbGexOEwtf9LLrsCx7SJqgk51dOHKk?= =?us-ascii?Q?KdfxTPZV9ywhP2f/KZ4+zHDs9RAc3AUzZnEWCI86p0HYGw+50Xpee4chCsfh?= =?us-ascii?Q?Ll1T+bZebCpzct+LtSqLdbNwpaRNDs+azjte2RPIgQ5fMA33pkCiBMKUehUH?= =?us-ascii?Q?AyrfkjP5nDM07U2pTSiNM79hmbojNSmiQSuaU89zcymelcR+WMKMEnyxkXVD?= =?us-ascii?Q?WpzDg1u6+C6KpKV0OfeRcJTbnC87mK6UogD6Nl+I5tKSpSfeu7hkfjVE1Rhw?= =?us-ascii?Q?kwuvc4FPUUa1ml8rcdWg354w0P0QhpDk4nEUOKtDQnHLefWswX5mZy8wdkZj?= =?us-ascii?Q?+90ktD24gVLbzFq47kXTp4yWOEYOPo1vDXK6GgCf9SPPP4Y/bXHOY99Js7vd?= =?us-ascii?Q?jRk38gVsS1hP2fp6eAph9465jgXXctCUSuZrsbek6wSlY+DNqEYwZTgeIxEf?= =?us-ascii?Q?QEKjnDGw1t/zw86AScUpLp0mvYcOv2Jb3w9S7DOZXJhC1P3qCmHPi0uJgHkE?= =?us-ascii?Q?w0aj5AmGIEMj9dTTMKoaF1eoSFXeAkNaLid2ZVKGou8H9/bbpCG/kSDZPhUq?= =?us-ascii?Q?08ywFOyJRo6kJYaCoZ3auXlBrfkj+5FYhJFeYDys3//VYo3tBF65nMnxDeWu?= =?us-ascii?Q?lku1ztUh6z8lNAI8v8T1RVprDfo27qrkoHWxfau14/SrDGFOJMcf9TEc9wva?= =?us-ascii?Q?m0zPV9EpQoRviWfVj+JPJ7pdju3f14V/?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR12MB8059.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zWTic3ZmL/pD3CdqrSy4x83IZlp0xa8oDFfDRwCeRqp4ePKTusp/e/P/sHc0?= =?us-ascii?Q?wyljJg+eWVvV/UJhT+SSU9euiBDxyziDZZ1UvQjCVH27wJbWlKTpi4by3nV7?= =?us-ascii?Q?yAMfCBvocwwEMPwekRB5s4Q6OA8/7gH0k5KF6+FG/9GtzFYLIOYqHIQJrqSo?= =?us-ascii?Q?jzWYWj2/NP3VKfRmhNeU4Kz7EDJjijON3NGcgjvoSjee4+4IHGuaF5t+vZTU?= =?us-ascii?Q?2E2RzuhDVxV0Muz/zVzpbtj4MXoD4YnNZ9N0mbEeE4kbAES/JlUMCjiNVV0e?= =?us-ascii?Q?LQNOWiw7xOMR1wPyPxY0ujwLK0XCdCmRW3Kb3e5FAB2Gh6/NsMwuAXTrTmUP?= =?us-ascii?Q?Ch6gb4gLnYb1xey90qpqO+AfF9+B6HaOFFSBSQHj65RryHvfXGvnC7/3l7xZ?= =?us-ascii?Q?SfErhyhdU94sjwtyXmJ8bRqF7RhmtUJ2Jdz77aURUVU1XqIdDBhN5VyrldUX?= =?us-ascii?Q?vtCcSntpMLQ2Ct1qsG2uMi8D3L+D2qNoX4Wa4pbt+aWjOyS4wVbUW9hPnIdR?= =?us-ascii?Q?Lh5iaSo6qQ5OVh3z4ZCd24ZT0lvsb+C/rgm9RRczmNzQ6gGseNpBXWgdE740?= =?us-ascii?Q?Z7h+JAM/GdwqyptKaKQZJsxFjCnVzYCS6dvxZU5Tko9+T7pLIgDdKSWxaPKC?= =?us-ascii?Q?9P37h78RHug1xAKX2x+hgD6Mcu5Yh3w8kVQGwu7DP7Mwk76abhn1oQ2i3YM2?= =?us-ascii?Q?gVu+IrZwhNCulw0YFhe44D8fxe4/ndB/Z9xMzhum5RzXsQ89Jv4yhnV/3/Hj?= =?us-ascii?Q?nMbIATrfV1A1vnY+r9p9RFP0amiZJgchuBiEWdDa/7FAIeTUzkBZUfNDIEHF?= =?us-ascii?Q?oSVaTZunycD4GOR4SPsQzg228j15lVyQ3jyF1H4mAt41H67nzJhbsTQ08so6?= =?us-ascii?Q?+ymLpPwwBdlq7z6vif0Vc9SKYk4P41UC0LanE8WZ/+CKedR/ytroitl8R9cD?= =?us-ascii?Q?31fRvS3n6i3sxFoNBGcnrFBLU0qlX3PepM3DtZSGhs9Wvxz/bX4VopEgYMWe?= =?us-ascii?Q?mAe9tYSlzeFOcf32ASw3KIXcN6YK26UXhpbmdfbi3eQtR0yJuBkZrVZ9IC/t?= =?us-ascii?Q?jSdOLJH1ob+UlcqVmujzmCiGvKE+VocMFOn/S/e846PWpTfSipGuflQgrDRn?= =?us-ascii?Q?vnt2jNjwc5AslAKqfTTRe+TdoWZuKp+pH0WOQe/ydaUgURYs99Uz5CmtSRla?= =?us-ascii?Q?TV4+cobmyPAplBm2/Esiam+v5zbldpCqFU/7daeQpWwBEIie7gBhaAo5+XGW?= =?us-ascii?Q?GawxuBMrb1GnT/UtXlyTUixS200Drt6TM5nXgbIVXlFw2ZEpffD3RfH5dOf6?= =?us-ascii?Q?XZfcPH6tzNSNNAgHbrojjdQX+y0X6g+yZL5vMFiGKL4x+y+rTjo/kkRsm+gR?= =?us-ascii?Q?GGK+k9/Lt40SqwONdF5rlGjRkbEM0f51sK6wUBDZK0SNmC9AYHhr2wEO59Aa?= =?us-ascii?Q?0HBcR8M+tNoHFwfv9gWF9UI14IJJyg7lGMTskbevDduO0aOOna59eNz7wlZc?= =?us-ascii?Q?X3y7Hm4MdiqiKN0Qff8PaghTg7UhD3DrNrzdeCjWpmCEeA2jmKcPNl6Vv3Zt?= =?us-ascii?Q?SWWFkdgBSRpPoKIkg13dAaeXA6CS7f5vu2anPBYP?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae837283-75d2-4572-cf31-08de1a6bdd93 X-MS-Exchange-CrossTenant-AuthSource: SN7PR12MB8059.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2025 23:59:31.5307 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xKytxKOXdySdlhMJ0LSK3bPfIr6oOF5DqeHeM/1BahnSCZ/Uigp1Tqq2qzs57KZ6FMKGdiqX51VQa4Ek56Tv8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9163 Content-Type: text/plain; charset="utf-8" Move start functionality into a separate helper so we can use it from the sequencer. Signed-off-by: Joel Fernandes Reviewed-by: Lyude Paul --- drivers/gpu/nova-core/falcon.rs | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/nova-core/falcon.rs b/drivers/gpu/nova-core/falcon= .rs index dc883ce5f28b..1bcee06fdec2 100644 --- a/drivers/gpu/nova-core/falcon.rs +++ b/drivers/gpu/nova-core/falcon.rs @@ -553,7 +553,21 @@ pub(crate) fn wait_till_halted(&self, bar: &Bar0) -> R= esult<()> { Ok(()) } =20 - /// Runs the loaded firmware and waits for its completion. + /// Start the falcon CPU. + pub(crate) fn start(&self, bar: &Bar0) -> Result<()> { + match regs::NV_PFALCON_FALCON_CPUCTL::read(bar, &E::ID).alias_en()= { + true =3D> regs::NV_PFALCON_FALCON_CPUCTL_ALIAS::default() + .set_startcpu(true) + .write(bar, &E::ID), + false =3D> regs::NV_PFALCON_FALCON_CPUCTL::default() + .set_startcpu(true) + .write(bar, &E::ID), + } + + Ok(()) + } + + /// Start running the loaded firmware. /// /// `mbox0` and `mbox1` are optional parameters to write into the `MBO= X0` and `MBOX1` registers /// prior to running. @@ -578,15 +592,7 @@ pub(crate) fn boot( .write(bar, &E::ID); } =20 - match regs::NV_PFALCON_FALCON_CPUCTL::read(bar, &E::ID).alias_en()= { - true =3D> regs::NV_PFALCON_FALCON_CPUCTL_ALIAS::default() - .set_startcpu(true) - .write(bar, &E::ID), - false =3D> regs::NV_PFALCON_FALCON_CPUCTL::default() - .set_startcpu(true) - .write(bar, &E::ID), - } - + self.start(bar)?; self.wait_till_halted(bar)?; =20 let (mbox0, mbox1) =3D ( --=20 2.34.1