From nobody Thu Apr 9 13:36:57 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010063.outbound.protection.outlook.com [52.101.193.63]) (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 E4E77363C43; Mon, 2 Mar 2026 11:43:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.63 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772451788; cv=fail; b=q7Jp4dF9icnAdWPdSjkAkoLjjjAnAxqx6JLaOA7NxD1gRBP+XQbznQp3+Bu9tj9i1jHEYu7+h9R744ualvL2VCwbPsbKATKw45BqcC6HYnPafAiJzgrU0KtjcOJQXd0vSxtC3ikZsEwxsGDA4m69eLYbFyn21bZtTSq5Rl6DHOM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772451788; c=relaxed/simple; bh=q0f0A5nkhgSfmu8DGoRi471ff8wm8rFHVuFwlAMkfoM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=k6JzUJq4SD5JSgIbbD4NkuE0KE7LUL38chzRbg9BLKhqogsqL16TWykBbwQ0GVay/FFLmZzHxY11sWZIikysbBQmq5JgNvCNyvUQDZApu0NQY+wuoOECjidowyDf+sdPtETqL8j8mTS12YNzGJ/Xrqx7QbOs6NpjLpA8/dReE/E= 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=fvV2pNtk; arc=fail smtp.client-ip=52.101.193.63 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="fvV2pNtk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SFqdeRJGsV0P1YpXkk2Ll7fMEyxp1qgMU8MRBLMRbHv39agsu/bEKnl8WH9ExE2+mopTsGptONFQsdGR4LLHl5tjRirLsL6il7w+XIipeGv1ta+xOB4XYtxDd13K7+TKkeOeyeflogs+mmBwX3yhCR+LoVJ4Dvm/na9mSjW1PmS7Xlj36TKZKCiFu7FYQgXULLle173PpB+M7MKNSqclNtjpPhQuL5D6KGkMtCCu4KrVs/pePiR8AnNOQ0QoCHUluU/QYWqgO7CwgwVSRpf2a6GMSaO/FxoP25DlwZFUQmnvhfBd/IClUQk/OR/hDsZl/V6h5eFNNaODUpzDAxNU9A== 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=/xk0cB3ejg6x+g8QPLVKlfP5LVx9IUWJ+gsFaeJ3sRc=; b=u5OudOGESPcfQjnIJs3TNumu2AxPrAm6v329AtF39AJNaJH5ISZEUAdYnPFwP7LiWLmyQlKfBSyxU3e9ti8N4wyHSobNbIw59QkGOIyXW6wFVQJn47FxrhBOolTkQEDFv+kCn3V/KeZi/n+VW+kmGcBrmVVBF4EHYnrOjYbvbAwCW6Hj15wiU2ybwd7uF7Cg4D2kPx0rIryB4ErKFJm5DQpuMi9hSF/eRfryTYq8iFFH8nC1LNS6quhBeG0x4O1AznVZ/+vRkuJvOtYvXfRqgJNENBRGPYsY80NlUG9lOR1+rF7F21QJLenQn1+BwlB4Va0gUqahd36vqnCMUY/psw== 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=/xk0cB3ejg6x+g8QPLVKlfP5LVx9IUWJ+gsFaeJ3sRc=; b=fvV2pNtkerebgqVnfPbEiMbdAWEPv3JrjIBT3ynkHHub1XQ8sqMvstmTgs82Ir4Xg20cfMojdU1c0pInExUCVdyOtbVZAvc0bsMoVLQDtmqBcSw7aLK+ht8nhFAXoUBP7Aprx1J94yLAmBd22i8KwEIg3v5gm1WHjzUOScroHSATRuG4cZMW8OXK8X+zTAy3alzSnDga5vEsn834LMdlmALngIOvB5pHj6Ykv/Oww3I0/AZJFk9VXuFxxUYtmJ0eYFL/yugyZWR9P+sGGtWD4L7WreCWBFvktRsPwZNsguAWijZy5i9jcHOFCjVhmqTWU2B6cQ0KiBfjktSJB2g7VA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from BL0PR12MB2353.namprd12.prod.outlook.com (2603:10b6:207:4c::31) by IA1PR12MB6259.namprd12.prod.outlook.com (2603:10b6:208:3e5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.14; Mon, 2 Mar 2026 11:43:03 +0000 Received: from BL0PR12MB2353.namprd12.prod.outlook.com ([fe80::99b:dcff:8d6d:78e0]) by BL0PR12MB2353.namprd12.prod.outlook.com ([fe80::99b:dcff:8d6d:78e0%4]) with mapi id 15.20.9654.015; Mon, 2 Mar 2026 11:43:03 +0000 From: Eliot Courtney Date: Mon, 02 Mar 2026 20:42:29 +0900 Subject: [PATCH v4 5/9] gpu: nova-core: gsp: clarify invariant on command queue Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-cmdq-continuation-v4-5-c011f15aad58@nvidia.com> References: <20260302-cmdq-continuation-v4-0-c011f15aad58@nvidia.com> In-Reply-To: <20260302-cmdq-continuation-v4-0-c011f15aad58@nvidia.com> To: Danilo Krummrich , Alice Ryhl , Alexandre Courbot , David Airlie , Simona Vetter , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross Cc: Zhi Wang , John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, Eliot Courtney X-Mailer: b4 0.14.3 X-ClientProxiedBy: TYCPR01CA0156.jpnprd01.prod.outlook.com (2603:1096:400:2b1::16) To BL0PR12MB2353.namprd12.prod.outlook.com (2603:10b6:207:4c::31) 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: BL0PR12MB2353:EE_|IA1PR12MB6259:EE_ X-MS-Office365-Filtering-Correlation-Id: 89be65f1-074d-484a-ba38-08de7850dca2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|7416014|376014|921020; X-Microsoft-Antispam-Message-Info: SwSXooRmEedli3R5piDfHA9kTVwJDIJJLaunX/hTxWDMvLaWOsUM2+mhwXTICwuulsNYA82u1OZ9DnI7wMGdRr0MSuKALJrMUT/3IqJ7MZNuB05WZD3rkM+B/J/Kx2FIv8rqESgYnhsj5Au72SyD3IAWomZPwHYtU4UNrPEQfbv0Lwpbbw6HaIA2vN7L52o7I1ks3TueVv60qehTVh//awuiM8usgkv6PCp9UtDU3WNmmo47rA9wI2NjXm5LuVAWUal0ICXHha8h/anZOCUYB30hywwsxddfV4Zs1NKDHJ4NDHPz9idleoHBkGK6j2ovEYP5owUV90xbRZ5E0lnNFp9hnZ2IOQxGqF69ugXubH9b6fgtuZzmbConpReZVNHjgOVfK2IBNBI9kz8T8mVeW+28lFTZJ1f8vh8tLp/UTTWs+XBpXeNrmg9LqlD9HdDRELoJmVD1dRi/AUkJPgWKq2Fd0bQMkH2v6B0WY28f3CnenmzTIcKs+xpRf3HZMNDKu+zbYanYsGqW7kmhpPVjRQxbj4HfY25c4+7vF19aGwMnlQRgjO+8Tp4lUW2hH7JGtUJ0kZJ+Bobgyvka+dy3xN/EJQlV4ic0sOdkTgAPAuRph7ftM2cJIxSMikcv4vb2BGj22c9cLWCYKobpDnpUDv206Mg0767XEvvET4VZvFQCKxFq24dKd8PWI4+IdRPbdPk8esKq4nQ2rrS7K0kOj/vuDL5Tdry3r24jeRpgK+TaXS3P0rh1mmKsZ0tmCfBMEdzfvDhcaqKNxDe2gvZ4bA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR12MB2353.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(7416014)(376014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dDFoVFZGL3hkaXRYZVJtVnBqTTgxdzVpMFkrcmkvWFIwaGdNemhWUFU4MG83?= =?utf-8?B?emJXT2tIQ0xRRFdhNkdZWU9zeGZQNTlEVXJRL1JyZkJDU09TVWQxcnFsbitR?= =?utf-8?B?RXplbEtrQzJpZG9rTlJrYkNodkZrOWxZcWxkenFzTDVZckdTelRQNmw4dHpy?= =?utf-8?B?aGpWbXN6Q0RrVXROOTdMVUtNOHhtYjU0K210azIvQm5qNEw4QUdPTkVxc0Rj?= =?utf-8?B?c1RYbTZpZVkzNXJRWnBBbFY3YzdCcFY3a1ZBVUlTQ05wVUprMFpIRkdNQmdG?= =?utf-8?B?TGFhZ2ZlVFRPR3JlWENNektLOHl0OXEwM1RMQ0JmQVZEYmRYUUIvdlBqZ0Nl?= =?utf-8?B?OHlWVldyVXc2TXc3cHhpZnV2eWt4endyb2FVWVFMYWxXbnRRaFJFaGNDRFpm?= =?utf-8?B?Tkdid1hEZDNBT2lmNThIbmtYUERKSStvV3liai9NR00xNnczbGVieERMdkN1?= =?utf-8?B?cEdMaElsSFJJV3J3bDdmTkZqUFlrb2tUTE5WVytnd083V092dExDdlVtc0g2?= =?utf-8?B?aXVDN2VkSEZLRCsvK1VqeStJakVkT3c1aFRDV0FLYzljbitYK1Vtd1pCcUV3?= =?utf-8?B?ODJwMktsN1A2bVhCQWQwYjJqMkllWEtmMjdqcjlrcWluYXlMWTIrUlh4Q0lE?= =?utf-8?B?QXllRksvRzY0VG1tbnRtZUFBdkpMbkhNeWlnb2dqM0RhZ1lNdzhZMVBTVFow?= =?utf-8?B?TVZ2R3JOTGd2aUV4Qko4ZXQvMWpqQlV2eFNPRmpSUjBpbXV4amxxVTJTVTRr?= =?utf-8?B?U0VxU3YxOUVtY2g2MWhTOTYzM0xzaW5wNlBlMkZ0akhRUzRpZHg2U0dMeldv?= =?utf-8?B?ejFsaTZyQW13ZGp3TERWc1p6SzM1dk1aYlNtMFVpRlcrV3pqTFVnbTV5TzlB?= =?utf-8?B?RUtvRUdKRVJOdEowTWI1WnY5TjdMeVBQNkVLZi9zMXk2dThoU1lUd0tTcnh5?= =?utf-8?B?QUsyY0h1YnJUV0sxUG1HQkFibUJjbWVXR2VxdVJ6QVNBV2hMc3lRMTRGdU9M?= =?utf-8?B?UC9zWWJmUHY4K21GVG0ralUveFozMzVla0tqM0dmOWdhTEt3d3ZLbEN4cldM?= =?utf-8?B?WEVDcVY5TG04UkFmdFhZa1hYaFZaMnRBQVRPWTA1blhhRU9UbzgzbG1NRlhF?= =?utf-8?B?SkViaFJCR1U2NndjNmErVG9yQ1BuMlMyVWErU2xhWlZIeEkxQThzN3JiVkQx?= =?utf-8?B?TXEzaXB6UTNRMVhqVTNtNDh6VzVPVGNWVzZlNVFLZWZSV2ppUnlLYlQ0bGtM?= =?utf-8?B?YzlZdDV4VU1TN0lBOUMvelU5bWVTVGptbm9lblJpd3R3eDhHT01selZJWGNs?= =?utf-8?B?YWJqNXV6eElzRkpEZVIyZ293NWZYNXRxSFRjWVVQaEZhb0cvb2UxMlNtR01D?= =?utf-8?B?aDhXTTA2Y2YvQ1RMZUd3YlQ5SG1ta2l6RS8rZVVjWk9idVI1YVprOTJzVzR3?= =?utf-8?B?SmxGV2tVRWhvVEFjdGx2OWcxUFNxZTBaekpYK2JGdkVobTFxbUUwd0FYM1cy?= =?utf-8?B?UDdISEVvdS8vYkZFWlpEOFU3SjRWY2dlYTdENTZ2aEIrWE43WENrRFVPNzNN?= =?utf-8?B?WWRtRUMzUjJqbkdpSzJ0bHRPdUNIZnl1VlE5Q0lzb05LYzc3NldIT3B2WTkw?= =?utf-8?B?SkU5OXhYS2Vaa05zNWg2ZDlxT094RG9ReEE4TnhVUmFUbFdQN0NlSnR4YlF2?= =?utf-8?B?YmJMZ3RvYWQrMW54N2VKbklCUUM4WGFHYUs2VnN2d2RSaWNRcEVIN0xHWGdQ?= =?utf-8?B?YjFZVFIwcm5Yem5uNXhJN2hTRlJkemNGUERiVHc2Q25pQ3I5R0hZWVhUZHJU?= =?utf-8?B?NmY5UGlzODZsR0ZDR1ZQbUF3SFNBUE9ocXBXaW5Rb21nY25rTWVQdk45VElW?= =?utf-8?B?OWJmNjk1VnVHTjlOQnV1Q1Y1VTA1bE5ZUytWT2N2cVV2OWMxOUpObEVVa2tB?= =?utf-8?B?ZW90V0w2S3puUlRUYUNaRWNXMldDSXhJbUVmUFlNQWFyeEtHd3BzaUJXNnJX?= =?utf-8?B?UjVYMENmdkk3cExoemJjRVBodXhXaE9BT2RyaDcwa2J1NHFVaTlTL2hDTVkw?= =?utf-8?B?b0lVNFJhR2JnV0RFamtBemNoSElBcHgvTGw3aXVHbndvYUVuZU9UZm9VUnYw?= =?utf-8?B?YkZCNnhlcHordmJvQ295cFJ6NE4zTUtrR0xhNTlRT1lJb0I3QVljQUVUNmg1?= =?utf-8?B?Qkd3TExHcmJGVTl6ZlpqQkZFRDIrRnVKSjh6RzBKSFRMT1EraGZqeFY2cFNL?= =?utf-8?B?b2NZQi9UTlBjNW1Yb2RlR3krZjloUWRUdHh1b3c2cXM5Nkc4c0dzdDFRVm1F?= =?utf-8?B?M0MwY0wxQjlrNThGa2JnWVVoSzh1VEE2UFJXaEdYSC9TZVVjZUthZllOblJF?= =?utf-8?Q?EcWYsQleSCdIrSeC4JsTzsa4TMKOm7138JE0Nz/vnGiWw?= X-MS-Exchange-AntiSpam-MessageData-1: hMsF4WKbXLS0AA== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89be65f1-074d-484a-ba38-08de7850dca2 X-MS-Exchange-CrossTenant-AuthSource: BL0PR12MB2353.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2026 11:43:03.0072 (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: rbXRF5Ibf0BfjyozPtGv723Gh/ueM2SHqvTHtv/kEgxaaKBqBQLtbYQLu7UrtFSle/nhMBXF5UFhr13adQ3x2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6259 Clarify why using only the first returned slice from allocate_command for the message headers is okay. Tested-by: Zhi Wang Signed-off-by: Eliot Courtney --- drivers/gpu/nova-core/gsp/cmdq.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nova-core/gsp/cmdq.rs b/drivers/gpu/nova-core/gsp/= cmdq.rs index 3c2652be74bf..3653212efa7a 100644 --- a/drivers/gpu/nova-core/gsp/cmdq.rs +++ b/drivers/gpu/nova-core/gsp/cmdq.rs @@ -531,7 +531,9 @@ pub(crate) fn send_command(&mut self, bar: &Bar0, co= mmand: M) -> Result .gsp_mem .allocate_command(command_size, Delta::from_secs(1))?; =20 - // Extract area for the command itself. + // Extract area for the command itself. The GSP message header and= the command header + // together are guaranteed to fit entirely into a single page, so = it's ok to only look + // at `dst.contents.0` here. let (cmd, payload_1) =3D M::Command::from_bytes_mut_prefix(dst.con= tents.0).ok_or(EIO)?; =20 // Fill the header and command in-place. --=20 2.53.0