From cb34adf4cbe91ed8cc536cdf786b1c9a8d52e67f Mon Sep 17 00:00:00 2001 From: Ilya Zlobintsev Date: Sun, 2 Feb 2025 01:03:48 +0200 Subject: [PATCH] chore: bump pciid-parser and adopt breaking changes --- Cargo.lock | 4 ++-- lact-daemon/Cargo.toml | 2 +- lact-daemon/src/server/gpu_controller.rs | 13 +++++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 62d624c..acbf562 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1806,9 +1806,9 @@ dependencies = [ [[package]] name = "pciid-parser" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e889f5dad24e8b842a0417e1df0fa250f4e300d1eb88b81d48a9db5bfff6e035" +checksum = "0008e816fcdaf229cdd540e9b6ca2dc4a10d65c31624abb546c6420a02846e61" dependencies = [ "serde", ] diff --git a/lact-daemon/Cargo.toml b/lact-daemon/Cargo.toml index 9f7d116..84fb3c2 100644 --- a/lact-daemon/Cargo.toml +++ b/lact-daemon/Cargo.toml @@ -33,7 +33,7 @@ divan = { workspace = true, optional = true } nvml-wrapper = { git = "https://github.com/ilya-zlobintsev/nvml-wrapper", branch = "lact" } bitflags = "2.6.0" -pciid-parser = { version = "0.7", features = ["serde"] } +pciid-parser = { version = "0.8", features = ["serde"] } serde_yaml = "0.9" vulkano = { version = "0.34.1", default-features = false } zbus = { version = "5.3.1", default-features = false, features = ["tokio"] } diff --git a/lact-daemon/src/server/gpu_controller.rs b/lact-daemon/src/server/gpu_controller.rs index ca28f77..ed0ed60 100644 --- a/lact-daemon/src/server/gpu_controller.rs +++ b/lact-daemon/src/server/gpu_controller.rs @@ -113,12 +113,17 @@ pub(crate) fn init_controller( .unwrap_or_default(); let subsystem_info = subsystem_entry - .map(|(subsys_vendor_id, subsys_device_id)| { - pci_db.get_device_info(vendor_id, device_id, subsys_vendor_id, subsys_device_id) + .and_then(|(subsys_vendor_id, subsys_device_id)| { + Some(pci_db.get_device_info( + u16::from_str_radix(vendor_id, 16).ok()?, + u16::from_str_radix(device_id, 16).ok()?, + u16::from_str_radix(subsys_vendor_id, 16).ok()?, + u16::from_str_radix(subsys_device_id, 16).ok()?, + )) }) .unwrap_or_default(); - let vendor = pci_db.vendors.get(&vendor_id.to_ascii_lowercase()); + let vendor = pci_db.vendors.get(&u16::from_str_radix(vendor_id, 16)?); let pci_info = GpuPciInfo { device_pci_info: PciInfo { @@ -128,7 +133,7 @@ pub(crate) fn init_controller( model: vendor.and_then(|vendor| { vendor .devices - .get(&device_id.to_ascii_lowercase()) + .get(&u16::from_str_radix(device_id, 16).ok()?) .map(|device| device.name.clone()) }), },