use crate::generated::binding::FuriosaSmiDeviceErrorInfo;
pub(crate) fn new_device_error_info(raw: FuriosaSmiDeviceErrorInfo) -> DeviceErrorInfo {
DeviceErrorInfo { raw }
}
pub struct DeviceErrorInfo {
raw: FuriosaSmiDeviceErrorInfo,
}
impl DeviceErrorInfo {
pub fn axi_post_error_count(&self) -> u32 {
self.raw.axi_post_error_count
}
pub fn axi_fetch_error_count(&self) -> u32 {
self.raw.axi_fetch_error_count
}
pub fn axi_discard_error_count(&self) -> u32 {
self.raw.axi_discard_error_count
}
pub fn axi_doorbell_error_count(&self) -> u32 {
self.raw.axi_doorbell_error_count
}
pub fn pcie_post_error_count(&self) -> u32 {
self.raw.pcie_post_error_count
}
pub fn pcie_fetch_error_count(&self) -> u32 {
self.raw.pcie_fetch_error_count
}
pub fn pcie_discard_error_count(&self) -> u32 {
self.raw.pcie_discard_error_count
}
pub fn pcie_doorbell_error_count(&self) -> u32 {
self.raw.pcie_doorbell_error_count
}
pub fn device_error_count(&self) -> u32 {
self.raw.device_error_count
}
}
pub(crate) fn default_device_error_info() -> FuriosaSmiDeviceErrorInfo {
FuriosaSmiDeviceErrorInfo {
axi_post_error_count: 0,
axi_fetch_error_count: 0,
axi_discard_error_count: 0,
axi_doorbell_error_count: 0,
pcie_post_error_count: 0,
pcie_fetch_error_count: 0,
pcie_discard_error_count: 0,
pcie_doorbell_error_count: 0,
device_error_count: 0,
}
}