Struct xhci::registers::operational::Operational
source · pub struct Operational<M>where
M: Mapper + Clone,{
pub usbcmd: ReadWrite<UsbCommandRegister, M>,
pub usbsts: ReadWrite<UsbStatusRegister, M>,
pub pagesize: ReadWrite<PageSizeRegister, M>,
pub dnctrl: ReadWrite<DeviceNotificationControl, M>,
pub crcr: ReadWrite<CommandRingControlRegister, M>,
pub dcbaap: ReadWrite<DeviceContextBaseAddressArrayPointerRegister, M>,
pub config: ReadWrite<ConfigureRegister, M>,
}
Expand description
Host Controller Operational Registers
This struct does not contain the Port Register set.
Fields§
§usbcmd: ReadWrite<UsbCommandRegister, M>
USB Command Register
usbsts: ReadWrite<UsbStatusRegister, M>
USB Status Register
pagesize: ReadWrite<PageSizeRegister, M>
Page Size Register
dnctrl: ReadWrite<DeviceNotificationControl, M>
Device Notification Control
crcr: ReadWrite<CommandRingControlRegister, M>
Command Ring Control Register
dcbaap: ReadWrite<DeviceContextBaseAddressArrayPointerRegister, M>
Device Context Base Address Array Pointer Register
config: ReadWrite<ConfigureRegister, M>
Configure Register
Implementations§
source§impl<M> Operational<M>where
M: Mapper + Clone,
impl<M> Operational<M>where M: Mapper + Clone,
sourcepub unsafe fn new(
mmio_base: usize,
caplength: CapabilityRegistersLength,
mapper: &M
) -> Selfwhere
M: Mapper,
pub unsafe fn new( mmio_base: usize, caplength: CapabilityRegistersLength, mapper: &M ) -> Selfwhere M: Mapper,
Creates a new accessor to the Host Controller Operational Registers.
Safety
The caller must ensure that the Host Controller Operational Registers are accessed only through this struct.
Panics
This method panics if the base address of the Host Controller Operational Registers is not aligned correctly.
Trait Implementations§
Auto Trait Implementations§
impl<M> RefUnwindSafe for Operational<M>where M: RefUnwindSafe,
impl<M> Send for Operational<M>where M: Send,
impl<M> Sync for Operational<M>where M: Sync,
impl<M> Unpin for Operational<M>where M: Unpin,
impl<M> UnwindSafe for Operational<M>where M: 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