Re: [PATCH v3 0/2] rust, nova-core: add DeviceSize trait for SZ_* constants

From: John Hubbard

Date: Wed Apr 01 2026 - 16:53:47 EST


On 4/1/26 12:01 AM, Eliot Courtney wrote:
> On Wed Apr 1, 2026 at 7:43 AM JST, John Hubbard wrote:
>> 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@xxxxxxxxxx
>>
>> 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
>
> Reviewed-by: Eliot Courtney <ecourtney@xxxxxxxxxx>
>

Thanks for the review!

thanks,
--
John Hubbard