pub struct TpuDevice<K: KernelFns> { /* private fields */ }Expand description
TPU device handle.
Implementations§
Source§impl<K: KernelFns> TpuDevice<K>
impl<K: KernelFns> TpuDevice<K>
Sourcepub const fn new(
tdma_base: NonNull<u8>,
tiu_base: NonNull<u8>,
config: TpuConfig,
kfns: K,
) -> Self
pub const fn new( tdma_base: NonNull<u8>, tiu_base: NonNull<u8>, config: TpuConfig, kfns: K, ) -> Self
Create a new TPU device handle.
pub fn initialize(&mut self) -> Result<(), TpuError>
pub fn probe_setting(&mut self)
Sourcepub fn clear_interrupt(&mut self) -> u32
pub fn clear_interrupt(&mut self) -> u32
Clear TDMA interrupt and return status bits.
pub fn irq_handle(&mut self) -> u32
Sourcepub fn program_tdma_descriptor(&mut self, desc_offset: u32, num_tdma: u32)
pub fn program_tdma_descriptor(&mut self, desc_offset: u32, num_tdma: u32)
Program TDMA descriptor base and fire.
Sourcepub fn program_tiu_descriptor(&mut self, desc_offset: u64, lane: TiuLaneNum)
pub fn program_tiu_descriptor(&mut self, desc_offset: u64, lane: TiuLaneNum)
Program TIU descriptor base and fire.
Sourcepub fn resync_cmd_id(&mut self)
pub fn resync_cmd_id(&mut self)
Reset TIU/TDMA sync IDs.
pub fn open(&mut self) -> Result<(), TpuError>
pub fn reset(&mut self) -> Result<(), TpuError>
pub fn platform_init(&mut self) -> Result<(), TpuError>
pub fn platform_deinit(&mut self)
pub fn pmu_enable( &mut self, enable: bool, event: TpuPmuEvent, ) -> Result<(), TpuError>
Sourcepub fn run_dmabuf(
&mut self,
dmabuf_paddr: PhysAddr,
header: &DmaHeader,
descs: &[CpuSyncDesc],
) -> Result<(), TpuError>
pub fn run_dmabuf( &mut self, dmabuf_paddr: PhysAddr, header: &DmaHeader, descs: &[CpuSyncDesc], ) -> Result<(), TpuError>
Run a DMA buffer.
Sourcepub fn run_pio(&mut self, info: &TpuTdmaPioInfo) -> Result<(), TpuError>
pub fn run_pio(&mut self, info: &TpuTdmaPioInfo) -> Result<(), TpuError>
Run a TDMA PIO transfer.
pub fn tdma_base(&self) -> NonNull<u8>
pub fn tiu_base(&self) -> NonNull<u8>
pub fn get_tdma_sync_status(&self) -> TdmaSyncStatus
pub fn get_tiu_ctrl_status(&self) -> TiuCtrlStatus
pub fn is_idle(&self) -> bool
pub fn wait_idle(&mut self) -> Result<(), TpuError>
pub fn emergency_stop(&mut self)
Auto Trait Implementations§
impl<K> Freeze for TpuDevice<K>where
K: Freeze,
impl<K> RefUnwindSafe for TpuDevice<K>where
K: RefUnwindSafe,
impl<K> !Send for TpuDevice<K>
impl<K> !Sync for TpuDevice<K>
impl<K> Unpin for TpuDevice<K>where
K: Unpin,
impl<K> UnsafeUnpin for TpuDevice<K>where
K: UnsafeUnpin,
impl<K> UnwindSafe for TpuDevice<K>where
K: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more