luwen_ref/
error.rs

1// SPDX-FileCopyrightText: © 2023 Tenstorrent Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4use ttkmd_if::{PciError, PciOpenError};
5use luwen_if::{chip::AxiError, error::PlatformError, ArcMsgError};
6use thiserror::Error;
7
8#[derive(Error, Debug)]
9pub enum LuwenError {
10    #[error(transparent)]
11    PlatformError(#[from] PlatformError),
12
13    #[error(transparent)]
14    PciOpenError(#[from] PciOpenError),
15
16    #[error(transparent)]
17    PciError(#[from] PciError),
18
19    #[error("{0}")]
20    Custom(String),
21}
22
23impl From<ArcMsgError> for LuwenError {
24    fn from(value: ArcMsgError) -> Self {
25        LuwenError::PlatformError(value.into())
26    }
27}
28
29impl From<AxiError> for LuwenError {
30    fn from(value: AxiError) -> Self {
31        LuwenError::PlatformError(value.into())
32    }
33}