Lines Matching full:owned
22 //! - An owned table ([`SGTable<Owned<P>>`]), created from a Rust memory buffer (e.g., [`VVec`]).
115 /// The generic parameter `T` is used as a generic type to distinguish between owned and borrowed
118 /// - [`SGTable<Owned>`]: An owned table created and managed entirely by Rust code. It handles
176 /// This is used as an inner type of [`Owned`] to manage the DMA mapping lifecycle.
243 /// While we could also create the `struct sg_table` in the constructor of [`Owned`], we can't tear
244 /// down the `struct sg_table` in [`Owned::drop`]; the drop order in [`Owned`] matters.
305 /// The [`Owned`] generic type of an [`SGTable`].
307 /// A [`SGTable<Owned>`] signifies that the [`SGTable`] owns all associated resources:
314 /// [`Owned`] directly.
316 pub struct Owned<P> { struct
325 // SAFETY: `Owned` can be sent to any task if `P` can be send to any task. argument
326 unsafe impl<P: Send> Send for Owned<P> {} implementation
328 // SAFETY: `Owned` has no interior mutability and can be accessed concurrently if `P` can be
330 unsafe impl<P: Sync> Sync for Owned<P> {} implementation
332 impl<P> Owned<P> impl
385 impl<P> SGTable<Owned<P>>
391 /// This constructor creates a new [`SGTable<Owned>`] that takes ownership of `P`.
397 /// once the associated [`Device`] is unbound, or when the [`SGTable<Owned>`] is dropped.
403 /// The ownership of this entity is moved into the new [`SGTable<Owned>`].
414 /// scatterlist::{SGTable, Owned},
438 inner <- Owned::new(dev, pages, dir, flags)? in new()
443 impl<P> Deref for SGTable<Owned<P>> {
460 impl<P> Sealed for super::Owned<P> {} implementation