From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011003.outbound.protection.outlook.com [52.101.62.3]) (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 454FF3438BF; Mon, 31 Aug 2026 01:08:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.3 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788138508; cv=fail; b=bwVMR+DSo4aRgsPnnKGhPb2VJZYlsKIyjMaxkEaywIewfiPTxyjW82umozmx+eU6JDi+Nz7kpyVpiev+qCrOcQ4/7YkQIITEtThGhQSuv+DpDnfeaNQlPnyw8KD2uB9JG6pmc2pUcYKkHljJXnGWZgwD/kuhGtwp5bJq26C5wMA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788138508; c=relaxed/simple; bh=mW+PmE4bKnHbRM5x5ZLHL9Zjy9YNQsAMfjgSBrPLEX8=; h=Content-Type:Date:Message-Id:Cc:Subject:From:To:References: In-Reply-To:MIME-Version; b=JNse6IESRI6y2Oy+5bppaFPKM/N7L2H0Xwo1qJu85gYbjCDRA35fDuuVXThSh1nLUYmAt9WsDLmxoP1haGUR1j9RDUUAXn4sBpFVEF2dsKLo1I9PtRCtalah8Td5gMbDJf2leWnK1HpsXZaXMG3d3wiT8ghCUv+kQ+chxk42IyA= 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=Pcx4EyAR; arc=fail smtp.client-ip=52.101.62.3 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="Pcx4EyAR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KmnRIzfGgnu7mEvsP1ccOwunO6wkluwymBHdHOm4Wk5iYL6v/f8jn8FsU5W4cq0xQFk6D75G88y3u9M+ksCNcdRKEyQR6YGUDAfvRNaK63B2+NeQ/gcH2Rbx9h/TdrcR1+T1sfCx35ikWITp1ULZKSXDy6SubPHxwW/yP0uioZr9R1D+XoQZmaPACQB6fw86gsZW3xK1DbJQJYtYt73JwR0wRrbBlbSHkrAeSyGLHrz/Egh2NMLBs/HvFJkg2EZ4OwI2frV9X5Z28DWwEcfmiWK5Q52N6T3WrBsy3z/6ez9hcoxHniL47TC7MdNUTZrpHBNw3OWhKxAro/W1B8Jk3A== 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=v2XIAXJnvcYaT0jkBKD/SlIp+WPnLFNrOktE9Rz6lxI=; b=Qi2Qw7Xa4RctBjDW2PffQKAGihFuQe1SnyG9ojjsGtSXaVlGfzEf154K3uGxEvBhFM52duHGhntKdlIUcX8vQjmFsvIm7jF0u+zjJ6IU3vMCgLo892KmgTGWW93BWuFl3g1k8IkfKpR4eCDoiGmWJybi8+uBtOUfHCv7m/ni3jn7ByQIIW06WWFm30CaIkqtPNH6CLp8ZNXsLLmVjn45qm9HF87s39fH+F3xrR9NagTveRYI5iYf4er/4I5GJ0O1LkWx8tpglIiM8vEYuY7uE/uZWyaxqrtFi37RPIxPiVo0yfnK7My1zm3APt964W0DgBwFrpKbEkjx80wwsY7ItA== 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=v2XIAXJnvcYaT0jkBKD/SlIp+WPnLFNrOktE9Rz6lxI=; b=Pcx4EyARUmAaA18RZ6O1gLpM+DmH8iWMqbVJZqHHEUw8KHu4eIn2qlESuRBps+2e4ysDE2eF2RGH+CtkW6H1APnO01gEFRpXDT74ml2O5ognoHWHBDLfSj8VscCMJd/mTK2Yr+PwFnVZxeEl8ykXH/67V5ISMSC8VJ9OhL8IA5KmfDN2NzHQNXx47B+oF/Fru1aSgEUV/V2uSMXyJYyGrloTwsS3Df/8yPCvx1kIbv1MIaKWTX+L5WApGnqLtfKCvUpaeak31csbJC2X9JVyM3jr1F1TokCru/fNdgCQmM6r9EXZD5K+GHykliOzCRb5lvLBXHs/N4k5eMTpSwcGag== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MW4PR12MB6873.namprd12.prod.outlook.com (2603:10b6:303:20c::17) by SA1PR12MB8119.namprd12.prod.outlook.com (2603:10b6:806:337::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.11; Mon, 31 Aug 2026 01:08:21 +0000 Received: from MW4PR12MB6873.namprd12.prod.outlook.com ([fe80::a338:bd2c:3a38:ece1]) by MW4PR12MB6873.namprd12.prod.outlook.com ([fe80::a338:bd2c:3a38:ece1%5]) with mapi id 15.21.0360.008; Mon, 31 Aug 2026 01:08:17 +0000 Content-Type: text/plain; charset=UTF-8 Date: Mon, 31 Aug 2026 10:08:14 +0900 Message-Id: Cc: , "Alice Ryhl" , "David Airlie" , "Simona Vetter" , "John Hubbard" , "Alistair Popple" , "Timur Tabi" , "Eliot Courtney" , "Zhi Wang" , , , , Subject: Re: [PATCH 1/2] gpu: nova-core: use kernel lossless integer conversion module From: "Alexandre Courbot" To: "Danilo Krummrich" Content-Transfer-Encoding: quoted-printable References: <20260828-nova_num-v1-0-e21f17ba4127@nvidia.com> <20260828-nova_num-v1-1-e21f17ba4127@nvidia.com> In-Reply-To: X-ClientProxiedBy: TY4P301CA0008.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:26f::7) To MW4PR12MB6873.namprd12.prod.outlook.com (2603:10b6:303:20c::17) Precedence: bulk X-Mailing-List: rust-for-linux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR12MB6873:EE_|SA1PR12MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: cb2232ca-bf2a-4639-1890-08df06fc570c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|10070799003|23010399003|11063799006|22082099003|18002099003|56012099006|3023799007|4143699003|10067099003; X-Microsoft-Antispam-Message-Info: rr+xtwnNBCZJKRlCWzMf2xx1L5rLITYiVMJHTNw/0ivpgEuCaY8J9SUxz7U80xN1RUR03Hs7/QPSjUobzkV2pWqOYRBClnokR6rVwpyLsiiuJcIB4uOqi4Z50xyNi3hJxEU+LsjSPVPpDVCzvyfcuJV3wrFYjYcSFWu0A9YBJn6fscN3rEPoLUkJHIhpVS8x7uarHYm3FPoZYSXnYWrRqvTtgIHXsmLrMfe+cMnKECqxCfxjNyaJLyQNCWMyw56UsA7kWGc0ry8hK7LSnrkaKJvCaEpTGnc3Tx3gw16U1VhqaIJ7xX/wFB7blCH+mHxRJRYnJPrpvE7NEfTK+CONhxP001jsg+whKt3DlXv+1YxxMy09pGIv1NRYlEb1dqRhaQAs5xU6ilEIQXmiPLvY1YBccg5SDqzuyKSxF9rCZSBTqxu2h6Y67CpVyl49Hur9n/pbGEGJUIrs1o8pQn9heMZFo459H+RM0hlXk/Hr1Vsov0I8Cfc555Npuc5rLkZJ6uJ8B7ZvR3SKhba4dp5g5S3wO+Gc46K5lHG+DAo0HJkSVuUhoidgKEEWqT3wQ0JpdEyBtZl3fYcf4K2fNMX0hHygg7JraIccxydWobXtZi8/a5dS6OC4qXVkaydL0AbRQdSOmcfLt1m+d5mu3vJX0H08qYzfll01QRlmmP0Kbf4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB6873.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(10070799003)(23010399003)(11063799006)(22082099003)(18002099003)(56012099006)(3023799007)(4143699003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cmJqZ21Sb2YzU2ZoZGF4UDNFcFRCa3NpUGJET24zT3NRUUxnNHpzelVzV2xn?= =?utf-8?B?aXJCU2o3VFFZWllLZU1udURrWFk2cnNpRHM0QWNNZEF4b2pOZWViY2IyS1NK?= =?utf-8?B?OEJYUzkwYWFwYStYNkFtUWRpVGUxWWpmekVNaFN3cXJ0bUZJRllZMjZoVDBm?= =?utf-8?B?UFloekpSYXNTM1VKd1NERzE1amlDV3VXbmdwSFFJOXhPbDB2YndjMFhpMmlu?= =?utf-8?B?VTNLOWswVmY1bDhicEFQNURKNVJhUFRlOWJHTGpVd1FvYWJ4SjFXUWdwazkz?= =?utf-8?B?NEhNU0t1cm5LTjNjdG9nZDVkb1VEaHpQS255aUtpRFVRMGFCbXIxRlRXSU9B?= =?utf-8?B?WkFrNVl6UGdaRVNnOS94S09wVDU1UVFUN1B0VmcrSnRFb2V5TzV5ZzJwTUpi?= =?utf-8?B?dVdzQnlBQnpmUkRoM0hMZHcvaFZlYW5OUVRkZlRaR3RoSGdMRUxYSHQvMWxm?= =?utf-8?B?L0JhOXVwWjlvZ1c2UXIzSjlHM3JqVFVxVlZ0aHdESUxFT3A0WFVod296T1F2?= =?utf-8?B?TTNSeVlsbG5lUUVyU3FwYy9SQ05HRFVybVZ2QXZuSmRVNis2b1JZL0FOOXNo?= =?utf-8?B?VlNtWlRCaWRJY1ZQVjN2c0pmZkRzdWM4NzJudXJidWhmMTNCRGVtZXJYTkhN?= =?utf-8?B?TWFzdlgyR2dQOTFKQTNNY3FJNVZKcEtNOGRQTjJtVHdwQzFHc2ZQa2FHVEdE?= =?utf-8?B?OFp0ZWp6L05ONTNwS2pWeGwrN3V6SWluK2NGWldLTDhJMmQ5NFl4elA0N2pU?= =?utf-8?B?U2tsT21rUVZPUUttMTUvTEt3OUJxK1pvSnR4R1JZNlVGbXFBRUQyNEM2emoy?= =?utf-8?B?TTYrV1BjOTNiUFdQTjNRSHh3T3o4N2RpSGlLTVpsdFdhc0dqeWhlSFo5U1g2?= =?utf-8?B?RGVLQW9MeFdBSS9XY2VlM2tQT1JOb3RudEszWmtQWU8xKzROWHlIend2S2lI?= =?utf-8?B?V1RoRUZDWm5Bc0h6dXJ4YWQ3bHRmdU9VUXJjTG01b1M4dFh4TTNJQW9nb1VB?= =?utf-8?B?VGNLZVBRcjRrWmI1bSs2UVZPQ2xGVEhocUc4UGZwVzVtTGs2b0ZybGlFMkxy?= =?utf-8?B?Q0wzUTRvN3R0RTlWdC9iWkFWejdXTDhOUk1TNWRRRkRCNFBtcEdiR2U2UllJ?= =?utf-8?B?VFdQRlpLT2tQd2VKM2JlWE92eUMrclZFeVN1Z0pGUGpMK1NZTjJnNENiZ3pJ?= =?utf-8?B?OHBqS3QvNDMwQUtsVkc4cVZsUHhPSGVZTFZabmN5YXRNZG8zT0JSeG1ZUWxC?= =?utf-8?B?Zks3SEUyQlN4Qkt6R21yZkNNa05PRnlSRlNESTRNZVh4UlFuYTVHTUFqWWZl?= =?utf-8?B?UC8wR0pQbW44NWFJQVR3b3NJOEdoNTZlTnZFVWNhR28yMEM0SUFxK01peXA2?= =?utf-8?B?TUtRMUJlZEMwZmFmKzZ1bmhiam40ckhiRnU2cGJTQ2dHT29aczBhQlJ0OGwv?= =?utf-8?B?RHVvTzlKcGVKczB6Sjlic1QydVVRSzdwMk1rNWk1WDZFN3hPTXF5cERoZDlo?= =?utf-8?B?OGpXSHRLWmlwajM5aytIMXJpbTM0Yk9GRlpBcXFzYktUOFZtR05IL2xDdTBR?= =?utf-8?B?ekRyWTNYQXJmZFM5ZGwyNzdWZ3VFRXBvY1BUcFpmSlBRaFVsbjNhY0IwRVVJ?= =?utf-8?B?TWlYTDg2TnZrU3IyVGY5WUpIbS9vTU5hcXFqVDNiVTdEL2doK1p6OExuYXpn?= =?utf-8?B?Yy9oTUl5K05raXR4SjhCZFZMdnR0RmpIY1ZOMEsrRjBOMEE3SkpSUWpKdWZK?= =?utf-8?B?MnYxRmJBNHFRMStibVVvQTlzOVkyZkhYejVyOHd1a0s1MU9IdjkxOExVOWU1?= =?utf-8?B?N1Q2ZDRadXhOb0pVRDhLeFRNWndnQ09IQVhyQUlQZFZRaUp5ZzYwWVhvWU9R?= =?utf-8?B?ZHhOMGxGemhQMlpiM3E3aG5mTFdFVHl4RmgzVVJUd002dG80ZFpRRkRoeURJ?= =?utf-8?B?Q1crNnVOZW9ha3diK2dYVnBEOVlNd0tIaFdPV3hxTzJBTG1PTnZPTXJkemZu?= =?utf-8?B?OWhLVjZZbXRlRitHa2ZnaitRRC9PN2Q0MGxUREJDSkJZRjFWWDBrVk8wN0dW?= =?utf-8?B?dVl3M1hDLzVkMFEvdGJXS05FbzlHcXdWZFBqY0NQNHlYMktKWjRHSmU2T0pZ?= =?utf-8?B?OXQrZWV3b2xCSmNnRWU3UEhYdlJ5UjVCczBScHJRZjhxU0duL0lPUkEvbWx3?= =?utf-8?B?R2FuVVp3N3F0WUhBZU9BeEU0RXI3OHJ4RlB4QVRBR0E0RENPTzQyY1c4TlRv?= =?utf-8?B?M09WNDFDMSsxNXBDOTgzOUtMeU5jbFlGUng2R3c3SVEwUThMZDVFVk5weWhX?= =?utf-8?B?Rk5mblk5N1ZvOUkrTk5RZE1iaE5NMjhBZHhXUnoybEg0N09KalJWV2F5TFdJ?= =?utf-8?Q?3BgA7pe9nk9xhC3FyqixV9UfCtYPvxfNrVpbV7Q6Kymli?= X-MS-Exchange-AntiSpam-MessageData-1: PLRV/vgBWqOkOA== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb2232ca-bf2a-4639-1890-08df06fc570c X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB6873.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 01:08:17.7538 (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: fOwhoWiipb29X3Rz0/94YKFl8yBbr/p/8IXU5++Hpq6AKZScQaMwldCtAMmsI59sBVduM69gjDDi3oA4G7S3Tw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8119 On Sun Aug 30, 2026 at 4:14 AM JST, Danilo Krummrich wrote: > On Sat Aug 29, 2026 at 5:34 AM CEST, Alexandre Courbot wrote: >> On Fri Aug 28, 2026 at 9:09 PM JST, Danilo Krummrich wrote: >>> (Cc: Miguel) >>> >>> On Fri Aug 28, 2026 at 7:33 AM CEST, Alexandre Courbot wrote: >>>> The `kernel` crate now features a replacement for our lossless integer >>>> conversion routines. Switch to the kernel version and remove our own. >>>> >>>> Signed-off-by: Alexandre Courbot >>>> Reviewed-by: Danilo Krummrich >>>> Reviewed-by: Eliot Courtney >>>> --- >>>> drivers/gpu/nova-core/falcon.rs | 12 +- >>>> drivers/gpu/nova-core/falcon/fsp.rs | 4 +- >>>> drivers/gpu/nova-core/fb.rs | 2 +- >>>> drivers/gpu/nova-core/fb/hal/gb100.rs | 6 +- >>>> drivers/gpu/nova-core/firmware.rs | 4 +- >>>> drivers/gpu/nova-core/firmware/booter.rs | 4 +- >>>> drivers/gpu/nova-core/firmware/fwsec.rs | 2 +- >>>> drivers/gpu/nova-core/firmware/fwsec/bootloader.rs | 4 +- >>>> drivers/gpu/nova-core/firmware/gsp.rs | 9 +- >>>> drivers/gpu/nova-core/firmware/tlv.rs | 11 +- >>>> drivers/gpu/nova-core/fsp.rs | 8 +- >>>> drivers/gpu/nova-core/gsp.rs | 4 +- >>>> drivers/gpu/nova-core/gsp/cmdq.rs | 22 +-- >>>> drivers/gpu/nova-core/gsp/fw.rs | 42 ++-- >>>> drivers/gpu/nova-core/gsp/fw/commands.rs | 4 +- >>>> drivers/gpu/nova-core/gsp/sequencer.rs | 2 +- >>>> drivers/gpu/nova-core/mctp.rs | 8 +- >>>> drivers/gpu/nova-core/num.rs | 211 ------------= --------- >>>> drivers/gpu/nova-core/vbios.rs | 2 +- >>>> 19 files changed, 78 insertions(+), 283 deletions(-) >>> >>> Please see the discussion in [1]. >>> >>> If we make this change, then the subsequent conversion to const_as!() w= ould need >>> to go through the Rust tree next cycle, which could be a bit of a mess,= as I'd >>> expect a bunch of conflicts. >>> >>> Alternatively, we could the the full three cycle dance, or have a signe= d tag for >>> const_as!() and use it right away. >>> >>> But honestly, the former would just be unnecessary noise. If we don't d= o the >>> latter, let's just keep the nova-core num module until the dust has bee= n >>> settled. >>> >>> [1] https://lore.kernel.org/all/CANiq72k+-fNWZCwGuQ=3DFTchxgm-X-f6WR=3D= tG=3DErcn19ic1edQg@mail.gmail.com/ >> >> Maybe I am missing something, but wouldn't the following work? >> >> - rc1 gets tagged, `drm-rust-next` gets the `num::casts` module, >> - This series gets applied to `drm-rust-next`, then `cv!` (without the >> nova-core conversion patch) in `rust-next`, >> - We wait one cycle for `cv!` to trickle down to `drm-rust-next` before >> converting nova-core to use `cv!`. >> >> Would that work? This series doesn't overlap with the const conversions >> that `cv!` covers on purpose, and it would have the benefit of getting >> rid of the local `num` module in nova-core quickly. > > Take casts::usize_into_u32() for instance, drm-rust-next replaces the usa= ge of > it next cycle, but rust-next wants to remove the API from > rust/kernel/num/casts.rs. > > In this case rust-next would need to get rid of the users (including nova= -core), > but drm-rust-next will likely do different changes, so we'd get unnecessa= ry > merge conflicts. > > You can resolve this either by keeping casts::usize_into_u32 and friends = around > for one additional cycle, so that all users we introduce now are gone. Or= , since > there's no rush anyways, we just wait one cycle and use the real thing ri= ght > away. Sorry, I should have explicitly mentioned that `*_into_*` would remain alongside `cv!` for the next cycle. The reason why I think it's preferable to use `casts` in nova-core sooner is that some of the series currently under review (and that will likely be merged next cycle) add more uses of the local `num` methods, making the eentual conversion more painful. If we move to use `casts` early we can at least avoid the churn on those cases that do not use `cv!`.