Lines Matching defs:Owned
22 //! - An owned table ([`SGTable<Owned<P>>`]), created from a Rust memory buffer (e.g., [`VVec`]).
119 /// - [`SGTable<Owned>`]: An owned table created and managed entirely by Rust code. It handles
177 /// This is used as an inner type of [`Owned`] to manage the DMA mapping lifecycle.
244 /// While we could also create the `struct sg_table` in the constructor of [`Owned`], we can't tear
245 /// down the `struct sg_table` in [`Owned::drop`]; the drop order in [`Owned`] matters.
306 /// The [`Owned`] generic type of an [`SGTable`].
308 /// A [`SGTable<Owned>`] signifies that the [`SGTable`] owns all associated resources:
315 /// [`Owned`] directly.
317 pub struct Owned<P> {
326 // SAFETY: `Owned` can be sent to any task if `P` can be send to any task.
327 unsafe impl<P: Send> Send for Owned<P> {}
329 // SAFETY: `Owned` has no interior mutability and can be accessed concurrently if `P` can be
331 unsafe impl<P: Sync> Sync for Owned<P> {}
333 impl<P> Owned<P>
386 impl<P> SGTable<Owned<P>>
392 /// This constructor creates a new [`SGTable<Owned>`] that takes ownership of `P`.
398 /// once the associated [`Device`] is unbound, or when the [`SGTable<Owned>`] is dropped.
404 /// The ownership of this entity is moved into the new [`SGTable<Owned>`].
415 /// scatterlist::{SGTable, Owned},
439 inner <- Owned::new(dev, pages, dir, flags)?
444 impl<P> Deref for SGTable<Owned<P>> {
461 impl<P> Sealed for super::Owned<P> {}