From 3c35e581cf3d04e85f5e04ee09ce64fc0a55a1ff Mon Sep 17 00:00:00 2001 From: Matt Bilker Date: Wed, 7 Dec 2022 12:30:22 +0000 Subject: [PATCH] nvidia(ctrla082): rename some fields to match A081 --- src/lib.rs | 16 ++++++++-------- src/nvidia/ctrla082.rs | 10 ++++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c0839c8..e4ebaff 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -95,8 +95,8 @@ trait VgpuConfigLike { fn vgpu_name(&mut self) -> &mut [u8; 32]; fn vgpu_class(&mut self) -> &mut [u8; 32]; fn vgpu_signature(&mut self) -> &mut [u8; 128]; - fn features(&mut self) -> &mut [u8; 128]; - fn max_instances(&mut self) -> &mut u32; + fn license(&mut self) -> &mut [u8; 128]; + fn max_instance(&mut self) -> &mut u32; fn num_heads(&mut self) -> &mut u32; fn max_resolution_x(&mut self) -> &mut u32; fn max_resolution_y(&mut self) -> &mut u32; @@ -147,8 +147,8 @@ impl VgpuConfigLike for NvA082CtrlCmdHostVgpuDeviceGetVgpuTypeInfoParams { impl_trait_fn!(vgpu_name, [u8; 32]); impl_trait_fn!(vgpu_class, [u8; 32]); impl_trait_fn!(vgpu_signature, [u8; 128]); - impl_trait_fn!(features, [u8; 128]); - impl_trait_fn!(max_instances, u32); + impl_trait_fn!(license, [u8; 128]); + impl_trait_fn!(max_instance, u32); impl_trait_fn!(num_heads, u32); impl_trait_fn!(max_resolution_x, u32); impl_trait_fn!(max_resolution_y, u32); @@ -183,8 +183,8 @@ impl VgpuConfigLike for NvA081CtrlVgpuInfo { impl_trait_fn!(vgpu_name, [u8; 32]); impl_trait_fn!(vgpu_class, [u8; 32]); impl_trait_fn!(vgpu_signature, [u8; 128]); - impl_trait_fn!(license => features, [u8; 128]); - impl_trait_fn!(max_instance => max_instances, u32); + impl_trait_fn!(license, [u8; 128]); + impl_trait_fn!(max_instance, u32); impl_trait_fn!(num_heads, u32); impl_trait_fn!(max_resolution_x, u32); impl_trait_fn!(max_resolution_y, u32); @@ -713,10 +713,10 @@ fn apply_profile_override( str: [ card_name => vgpu_name, vgpu_type => vgpu_class, - features, + features => license, ], copy: [ - max_instances, + max_instances => max_instance, num_displays => num_heads, display_width => max_resolution_x, display_height => max_resolution_y, diff --git a/src/nvidia/ctrla082.rs b/src/nvidia/ctrla082.rs index 68cca64..04dd4cc 100644 --- a/src/nvidia/ctrla082.rs +++ b/src/nvidia/ctrla082.rs @@ -12,8 +12,8 @@ pub struct NvA082CtrlCmdHostVgpuDeviceGetVgpuTypeInfoParams { pub vgpu_name: [u8; 32], pub vgpu_class: [u8; 32], pub vgpu_signature: [u8; 128], - pub features: [u8; 128], - pub max_instances: u32, + pub license: [u8; 128], + pub max_instance: u32, pub num_heads: u32, pub max_resolution_x: u32, pub max_resolution_y: u32, @@ -21,6 +21,8 @@ pub struct NvA082CtrlCmdHostVgpuDeviceGetVgpuTypeInfoParams { pub frl_config: u32, pub cuda_enabled: u32, pub ecc_supported: u32, + // This field might not exist anymore and instead the space became padding as + // `NVA081_CTRL_VGPU_INFO` forces the alignment of `vdevId` to `8`. pub mig_instance_size: u32, pub multi_vgpu_supported: u32, pub vdev_id: u64, @@ -55,8 +57,8 @@ impl fmt::Debug for NvA082CtrlCmdHostVgpuDeviceGetVgpuTypeInfoParams { .field("vgpu_name", &CStrFormat(&self.vgpu_name)) .field("vgpu_class", &CStrFormat(&self.vgpu_class)) .field("vgpu_signature", &HexFormatSlice(vgpu_signature)) - .field("features", &CStrFormat(&self.features)) - .field("max_instances", &self.max_instances) + .field("license", &CStrFormat(&self.license)) + .field("max_instance", &self.max_instance) .field("num_heads", &self.num_heads) .field("max_resolution_x", &self.max_resolution_x) .field("max_resolution_y", &self.max_resolution_y)