lkml.org 
[lkml]   [2026]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/2] rust, nova-core: add DeviceSize trait for SZ_* constants
Date
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


\
 
 \ /
  Last update: 2026-04-01 00:44    [W:0.139 / U:1.856 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog