From 5525ac03ca7adec61d39f3fd3a143b5e294bdff7 Mon Sep 17 00:00:00 2001 From: Alexandre Courbot Date: Thu, 16 Oct 2025 11:55:48 +0900 Subject: gpu: nova-core: add functions and traits for lossless integer conversions The core library's `From` implementations do not cover conversions that are not portable or future-proof. For instance, even though it is safe today, `From` is not implemented for `u64` because of the possibility to support larger-than-64bit architectures in the future. However, the kernel supports a narrower set of architectures, and in the case of Nova we only support 64-bit. This makes it helpful and desirable to provide more infallible conversions, lest we need to rely on the `as` keyword and carry the risk of silently losing data. Thus, introduce a new module `num` that provides safe const functions performing more conversions allowed by the build target, as well as `FromSafeCast` and `IntoSafeCast` traits that are just extensions of `From` and `Into` to conversions that are known to be lossless. Suggested-by: Danilo Krummrich Link: https://lore.kernel.org/rust-for-linux/DDK4KADWJHMG.1FUPL3SDR26XF@kernel.org/ Acked-by: Danilo Krummrich [acourbot@nvidia.com: fix merge conflicts after rebase.] Signed-off-by: Alexandre Courbot Message-ID: <20251029-nova-as-v3-4-6a30c7333ad9@nvidia.com> --- drivers/gpu/nova-core/nova_core.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/gpu/nova-core/nova_core.rs') diff --git a/drivers/gpu/nova-core/nova_core.rs b/drivers/gpu/nova-core/nova_core.rs index e130166c1086..9180ec9c27ef 100644 --- a/drivers/gpu/nova-core/nova_core.rs +++ b/drivers/gpu/nova-core/nova_core.rs @@ -13,6 +13,7 @@ mod firmware; mod gfw; mod gpu; mod gsp; +mod num; mod regs; mod vbios; -- cgit v1.2.3