]> Gentwo Git Trees - linux/.git/commit
gpu: nova-core: add functions and traits for lossless integer conversions
authorAlexandre Courbot <acourbot@nvidia.com>
Thu, 16 Oct 2025 02:55:48 +0000 (11:55 +0900)
committerAlexandre Courbot <acourbot@nvidia.com>
Fri, 7 Nov 2025 23:22:36 +0000 (08:22 +0900)
commit5525ac03ca7adec61d39f3fd3a143b5e294bdff7
tree518677f9f6556cd116414409feb2ef14b4e66fdd
parent453a73000c56d2ee21f327c0a2a3249aa359bcc9
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<usize>` 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 <dakr@kernel.org>
Link: https://lore.kernel.org/rust-for-linux/DDK4KADWJHMG.1FUPL3SDR26XF@kernel.org/
Acked-by: Danilo Krummrich <dakr@kernel.org>
[acourbot@nvidia.com: fix merge conflicts after rebase.]
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Message-ID: <20251029-nova-as-v3-4-6a30c7333ad9@nvidia.com>
drivers/gpu/nova-core/nova_core.rs
drivers/gpu/nova-core/num.rs [new file with mode: 0644]