Skip to content

Commit ef68bbc

Browse files
committed
nvidia: Refactor
Signed-off-by: Daniel Schaefer <[email protected]>
1 parent e11f4f1 commit ef68bbc

File tree

1 file changed

+70
-65
lines changed
  • framework_lib/src/commandline

1 file changed

+70
-65
lines changed

framework_lib/src/commandline/mod.rs

Lines changed: 70 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -768,72 +768,77 @@ fn print_versions(ec: &CrosEc) {
768768

769769
#[cfg(any(target_os = "linux", target_os = "windows"))]
770770
fn print_nvidia_details() {
771-
match Nvml::init() {
772-
Ok(nvml) => {
773-
// Get the first `Device` (GPU) in the system
774-
match nvml.device_by_index(0) {
775-
Ok(device) => {
776-
println!("NVIDIA GPU");
777-
// GeForce
778-
info!(" BRAND: {:?}", device.brand());
779-
println!(
780-
" Name: {}",
781-
device.name().unwrap_or(UNKNOWN.to_string())
782-
);
783-
println!(" Architecture: {:?}", device.architecture());
784-
println!(
785-
" VBIOS Version: {}",
786-
device.vbios_version().unwrap_or(UNKNOWN.to_string())
787-
);
788-
println!(
789-
" INFO ROM Ver: {}",
790-
device
791-
.info_rom_image_version()
792-
.unwrap_or(UNKNOWN.to_string())
793-
);
794-
println!(" PCI Info: {:X?}", device.pci_info());
795-
println!(" Performance State:{:?}", device.performance_state());
796-
println!(
797-
" Pwr Mgmt Limit Df:{:?}mW",
798-
device.power_management_limit_default()
799-
);
800-
println!(
801-
" Pwr Mgmt Limit: {:?}mW",
802-
device.power_management_limit()
803-
);
804-
println!(
805-
" Pwr Mgmt Limit Cs:{:?}",
806-
device.power_management_limit_constraints()
807-
);
808-
println!(" Pwr Usage: {:?}mW", device.power_usage());
809-
println!(
810-
" Total Energy: {:?}mJ",
811-
device.total_energy_consumption()
812-
);
813-
// 0 right now
814-
println!(" Serialnum: {:?}", device.serial());
815-
println!(
816-
" Throttle Reason: {:?}",
817-
device.current_throttle_reasons()
818-
);
819-
println!(
820-
" Temperature: {:?}C",
821-
device.temperature(TemperatureSensor::Gpu)
822-
);
823-
//println!(" Temperature Thres:{:?}C", device.temperature_threshold());
824-
println!(" Util Rate: {:?}", device.utilization_rates());
825-
println!(" Memory Info: {:?}", device.memory_info());
826-
println!(" Part Number: {:?}", device.board_part_number());
827-
println!(" Board ID: {:?}", device.board_id());
828-
println!(" Num Fans: {:?}", device.num_fans());
829-
println!(" Display Active?: {:?}", device.is_display_active());
830-
println!(" Display Conn?: {:?}", device.is_display_connected());
831-
}
832-
Err(err) => debug!("Nvidia, device not foun: {:?}", err),
833-
}
771+
let nvml = match Nvml::init() {
772+
Ok(nvml) => nvml,
773+
Err(err) => {
774+
debug!("Nvidia, library init fail: {:?}", err);
775+
return;
834776
}
835-
Err(err) => debug!("Nvidia, library init: {:?}", err),
836-
}
777+
};
778+
// Get the first `Device` (GPU) in the system
779+
let device = match nvml.device_by_index(0) {
780+
Ok(device) => device,
781+
Err(err) => {
782+
debug!("Nvidia, device not found: {:?}", err);
783+
return;
784+
}
785+
};
786+
787+
println!("NVIDIA GPU");
788+
// GeForce
789+
info!(" BRAND: {:?}", device.brand());
790+
println!(
791+
" Name: {}",
792+
device.name().unwrap_or(UNKNOWN.to_string())
793+
);
794+
println!(" Architecture: {:?}", device.architecture());
795+
println!(
796+
" VBIOS Version: {}",
797+
device.vbios_version().unwrap_or(UNKNOWN.to_string())
798+
);
799+
println!(
800+
" INFO ROM Ver: {}",
801+
device
802+
.info_rom_image_version()
803+
.unwrap_or(UNKNOWN.to_string())
804+
);
805+
println!(" PCI Info: {:X?}", device.pci_info());
806+
println!(" Performance State:{:?}", device.performance_state());
807+
println!(
808+
" Pwr Mgmt Limit Df:{:?}mW",
809+
device.power_management_limit_default()
810+
);
811+
println!(
812+
" Pwr Mgmt Limit: {:?}mW",
813+
device.power_management_limit()
814+
);
815+
println!(
816+
" Pwr Mgmt Limit Cs:{:?}",
817+
device.power_management_limit_constraints()
818+
);
819+
println!(" Pwr Usage: {:?}mW", device.power_usage());
820+
println!(
821+
" Total Energy: {:?}mJ",
822+
device.total_energy_consumption()
823+
);
824+
// 0 right now
825+
println!(" Serialnum: {:?}", device.serial());
826+
println!(
827+
" Throttle Reason: {:?}",
828+
device.current_throttle_reasons()
829+
);
830+
println!(
831+
" Temperature: {:?}C",
832+
device.temperature(TemperatureSensor::Gpu)
833+
);
834+
//println!(" Temperature Thres:{:?}C", device.temperature_threshold());
835+
println!(" Util Rate: {:?}", device.utilization_rates());
836+
println!(" Memory Info: {:?}", device.memory_info());
837+
println!(" Part Number: {:?}", device.board_part_number());
838+
println!(" Board ID: {:?}", device.board_id());
839+
println!(" Num Fans: {:?}", device.num_fans());
840+
println!(" Display Active?: {:?}", device.is_display_active());
841+
println!(" Display Conn?: {:?}", device.is_display_connected());
837842
}
838843

839844
fn print_esrt() {

0 commit comments

Comments
 (0)