Messages in this thread |  | | From | John Hubbard <> | | Subject | [PATCH v3 0/2] rust, nova-core: add DeviceSize trait for SZ_* constants | | Date | Tue, 31 Mar 2026 15:43:17 -0700 |
| |
Changes in v3: * Dropped the Alignment::from_u64() patch.
* Reworked define_sizes! macro to accept target types as arguments (define_sizes!(u32, u64, usize)) using recursive macro arms, instead of hardcoding impls for u32 and u64. Overflow checking uses u128 casts so the same assert works for any ("reasonable") target type.
* Added usize to the DeviceSize implementations, so the trait covers u32, u64, and usize.
* Hex values for each constant are now proper doc-comments (forwarded via macro meta), instead of inline comments.
* Rebased onto latest drm-rust-next.
Changes in v2: * Replaced flat SZ_*_U64 constants with a DeviceSize trait that provides SZ_* as associated constants on u32 and u64.
* A define_sizes! macro generates everything from one list of names.
* Added Alignment::from_u64() so alignment values can be constructed from DeviceSize constants without falling back to usize variants.
* Rebased onto drm-rust-next. No longer depends on the Blackwell patchset.
v1 is here: https://lore.kernel.org/20260310023145.120037-1-jhubbard@nvidia.com
John Hubbard (2): rust: sizes: add DeviceSize trait for device address space constants gpu: nova-core: use DeviceSize trait for u64 size constants
drivers/gpu/nova-core/fb.rs | 21 ++-- drivers/gpu/nova-core/gsp/fw.rs | 15 ++- drivers/gpu/nova-core/regs.rs | 7 +- rust/kernel/sizes.rs | 166 +++++++++++++++++++++++--------- 4 files changed, 141 insertions(+), 68 deletions(-)
base-commit: 7c50d748b4a635bc39802ea3f6b120e66b1b9067 -- 2.53.0
|  |