Re: [PATCH 03/16] gpu: nova-core: derive useful traits for Chipset

Joel Fernandes
2025-04-22T16:23:32Z

On 4/20/2025 8:19 AM, Alexandre Courbot wrote:
> We will commonly need to compare chipset versions, so derive the
> ordering traits to make that possible. Also derive Copy and Clone since
> passing Chipset by value will be more efficient than by reference.
>
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> ---
> drivers/gpu/nova-core/gpu.rs | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/nova-core/gpu.rs b/drivers/gpu/nova-core/gpu.rs
> index 17c9660da45034762edaa78e372d8821144cdeb7..4de67a2dc16302c00530026156d7264cbc7e5b32 100644
> --- a/drivers/gpu/nova-core/gpu.rs
> +++ b/drivers/gpu/nova-core/gpu.rs
> @@ -13,7 +13,7 @@ macro_rules! define_chipset {
> ({ $($variant:ident = $value:expr),* $(,)* }) =>
> {
> /// Enum representation of the GPU chipset.
> - #[derive(fmt::Debug)]
> + #[derive(fmt::Debug, Copy, Clone, PartialOrd, Ord, PartialEq, Eq)]

Since Ord implies PartialOrd, do you need both? Same for Eq.

Also under which scenario does Chipset require PartialOrd?

thanks,

- Joel

> pub(crate) enum Chipset {
> $($variant = $value),*,
> }
>