Enum xhci::ring::trb::event::CompletionCode [−][src]
The TRB Completion Codes.
The description of each error is quoted from eXtensible Host Controller Interface for Universal Serial Bus (xHCI) Requirements Specification May 2019 Revision 1.2, Section 6.4.5, Table 6-90. Refer to this specification for more detail.
Variants
Indicates that the Completion Code field has not been updated by the TRB producer.
Indicates successful completion of the TRB operation.
Indicates that the Host Controller is unable to keep up the reception of incoming data (overrun) or is unable to supply data fast enough during transmission (underrun).
Asserted when “babbling” is detected during the transaction generated by this TRB.
Asserted in the case where the host did not receive a valid response from the device.
Asserted when a TRB parameter error condition is detected in a TRB.
Asserted when a Stall condition is detected for a TRB.
Asserted by a Configure Endpoint Command or an Address Device Command if there are not adequate xHC resources available to successfully complete the command.
Asserted by a Configure Endpoint Command if periodic endpoints are declared and the xHC is not able to allocate the required Bandwidth.
Asserted if a adding one more device would result in the host controller to exceed the maximum Number of Device Slots for this implementation.
Asserted if an invalid Stream Context Type value is detected.
Asserted if a command is issued to a Device Slot that is in the Disabled state.
Asserted if a doorbell is rung for an endpoint that is in the Disabled state.
Asserted if the number of bytes received was less than the TD Transfer Size.
Asserted in a Transfer Event TRB if the Transfer Ring is empty when an enabled Isoch endpoint is scheduled to transmit data.
Asserted in a Transfer Event TRB if the Transfer Ring is empty when an enabled Isoch endpoint is scheduled to receive data.
Asserted by a Force Event command if the target VF’s Event Ring is full.
Asserted by a command if a Context parameter is invalid.
Asserted during an Isoch transfer if the TD exceeds the bandwidth allocated to the endpoint.
Asserted if a command is issued to transition from an illegal context state.
Asserted if the xHC was unable to complete a periodic data transfer associated within the ESIT, because it did not receive a PING_RESPONSE in time.
Asserted if the Event Ring is full, the xHC is unable to post an Event to the ring.
Asserted if the xHC detects a problem with a device that does not allow it to be successfully accessed.
Asserted if the xHC was unable to service a Isochronous endpoint within the Interval time.
Asserted in a Command Completion Event due to a Command Stop operation.
Asserted in a Command Completion Event of an aborted command if the command was terminated by a Command Abort (CA) operation.
Asserted in a Transfer Event if the transfer was terminated by a Stop Endpoint Command.
Asserted in a Transfer Event if the transfer was terminated by a Stop Endpoint Command and the Transfer Event TRB Transfer Length field is invalid.
Asserted in a Transfer Event if the transfer was terminated by a Stop Endpoint Command, and the transfer was stopped after Short Packet conditions were met, but before the end of the TD was reached.
Asserted by the Evaluate Context Command if the proposed Max Exit Latency would not allow the periodic endpoints of the Device Slot to be scheduled.
Asserted if the data buffer defined by an Isoch TD on an IN endpoint is less than the Max ESIT Payload in size and the device attempts to send more data than it can hold.
Asserted if the xHC internal event overrun condition.
May be reported by an event when other error codes do not apply.
Asserted if an invalid Stream ID is received.
Asserted by a Configure Endpoint Command if periodic endpoints are declared and the xHC is not able to allocate the required Bandwidth due to a Secondary Bandwidth Domain.
Asserted if an error is detected on a USB2 protocol endpoint for a split transaction.
Trait Implementations
impl Clone for CompletionCode
[src]
fn clone(&self) -> CompletionCode
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for CompletionCode
[src]
impl Debug for CompletionCode
[src]
impl Eq for CompletionCode
[src]
impl FromPrimitive for CompletionCode
[src]
fn from_i64(n: i64) -> Option<Self>
[src]
fn from_u64(n: u64) -> Option<Self>
[src]
pub fn from_isize(n: isize) -> Option<Self>
[src]
pub fn from_i8(n: i8) -> Option<Self>
[src]
pub fn from_i16(n: i16) -> Option<Self>
[src]
pub fn from_i32(n: i32) -> Option<Self>
[src]
pub fn from_i128(n: i128) -> Option<Self>
[src]
pub fn from_usize(n: usize) -> Option<Self>
[src]
pub fn from_u8(n: u8) -> Option<Self>
[src]
pub fn from_u16(n: u16) -> Option<Self>
[src]
pub fn from_u32(n: u32) -> Option<Self>
[src]
pub fn from_u128(n: u128) -> Option<Self>
[src]
pub fn from_f32(n: f32) -> Option<Self>
[src]
pub fn from_f64(n: f64) -> Option<Self>
[src]
impl Hash for CompletionCode
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for CompletionCode
[src]
fn cmp(&self, other: &CompletionCode) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<CompletionCode> for CompletionCode
[src]
fn eq(&self, other: &CompletionCode) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<CompletionCode> for CompletionCode
[src]
fn partial_cmp(&self, other: &CompletionCode) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for CompletionCode
[src]
impl StructuralPartialEq for CompletionCode
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,