Skip to content

Commit 5066e30

Browse files
authored
fix: Registers definition (#116)
* fix(registers::operational): wrong field name * fix(docs): wrong range of backticks * docs(registers::operational): shorten * fix(registers::operational): add a missing hyphen * fix(registers::operational): add a missing hyphen * fix(registers::operational): add a missing space * fix(registers::runtime): implement a missing getter * fix(registers::runtime): add a missing getter * fix(registers::runtime): add a missing word * chore: add `must_use`
1 parent 16a4108 commit 5066e30

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

src/registers/operational.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,11 @@ impl UsbCommandRegister {
9090
rw_bit!(11, enable_u3_mfindex_stop, "Enable U3 MFINDEX Stop");
9191
rw_bit!(13, cem_enable, "CEM Enable");
9292
ro_bit!(14, extended_tbc_enable, "Extended TBC Enable");
93-
ro_bit!(15, extended_tbc_status_enable, "Extended TBC Status Enable");
93+
ro_bit!(
94+
15,
95+
extended_tbc_trb_status_enable,
96+
"Extended TBC TRB Status Enable"
97+
);
9498
rw_bit!(16, vtio_enable, "VTIO Enable");
9599
}
96100
impl_debug_from_methods! {
@@ -106,7 +110,7 @@ impl_debug_from_methods! {
106110
enable_u3_mfindex_stop,
107111
cem_enable,
108112
extended_tbc_enable,
109-
extended_tbc_status_enable,
113+
extended_tbc_trb_status_enable,
110114
vtio_enable,
111115
}
112116
}
@@ -181,7 +185,7 @@ impl DeviceNotificationControl {
181185
self
182186
}
183187

184-
/// Clears the `ith` bit of the Notification Enable field. `i` starts from 0.
188+
/// Clears the `i`th bit of the Notification Enable field. `i` starts from 0.
185189
///
186190
/// # Panics
187191
///
@@ -355,7 +359,7 @@ impl PortStatusAndControlRegister {
355359
"Port Enabled/Disabled Change"
356360
);
357361
rw1c_bit!(19, warm_port_reset_change, "Warm Port Reset Change");
358-
rw1c_bit!(20, over_current_change, "Over Current Change");
362+
rw1c_bit!(20, over_current_change, "Over-Current Change");
359363
rw1c_bit!(21, port_reset_change, "Port Reset Change");
360364
rw1c_bit!(22, port_link_state_change, "Port Link State Change");
361365
rw1c_bit!(23, port_config_error_change, "Port Config Error Change");
@@ -365,7 +369,7 @@ impl PortStatusAndControlRegister {
365369
rw_bit!(
366370
27,
367371
wake_on_over_current_enable,
368-
"Wake on Over Current Enable"
372+
"Wake on Over-Current Enable"
369373
);
370374
ro_bit!(30, device_removable, "Device Removable");
371375
rw1s_bit!(31, warm_port_reset, "Warm Port Reset");
@@ -478,7 +482,7 @@ impl_debug_from_methods! {
478482

479483
/// Port Hardware LPM Control Register
480484
///
481-
/// **This register is onlyvalid for USB2 and is reserved for USB3.**
485+
/// **This register is only valid for USB2 and is reserved for USB3.**
482486
#[repr(transparent)]
483487
#[derive(Copy, Clone)]
484488
pub struct PortHardwareLpmControlRegister(u32);
@@ -529,7 +533,7 @@ impl From<PortIndicator> for u32 {
529533
}
530534
}
531535

532-
/// A type returned by [`PortPowerManagementStatusAndControlRegister::l1_status`].
536+
/// L1 Status.
533537
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, FromPrimitive)]
534538
pub enum L1Status {
535539
/// The L1 Status field shall be ignored by software.
@@ -544,7 +548,7 @@ pub enum L1Status {
544548
TimeOutOrError = 4,
545549
}
546550

547-
/// A type returned by [`PortPowerManagementStatusAndControlRegister::port_test_control`].
551+
/// Test Mode.
548552
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, FromPrimitive)]
549553
pub enum TestMode {
550554
/// Test mode not enabled.

src/registers/runtime.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use super::capability::RuntimeRegisterSpaceOffset;
44
use accessor::Mapper;
55
use core::convert::TryFrom;
6+
use core::convert::TryInto;
67

78
/// Runtime Registers
89
///
@@ -141,6 +142,12 @@ impl_debug_from_methods! {
141142
#[derive(Copy, Clone, Debug)]
142143
pub struct EventRingSegmentTableSizeRegister(u32);
143144
impl EventRingSegmentTableSizeRegister {
145+
/// Returns the number of segments the Event Ring Segment Table supports.
146+
#[must_use]
147+
pub fn get(self) -> u16 {
148+
self.0.try_into().unwrap()
149+
}
150+
144151
/// Sets the number of segments the Event Ring Segment Table supports.
145152
pub fn set(&mut self, s: u16) {
146153
self.0 = s.into();
@@ -152,7 +159,13 @@ impl EventRingSegmentTableSizeRegister {
152159
#[derive(Copy, Clone, Debug)]
153160
pub struct EventRingSegmentTableBaseAddressRegister(u64);
154161
impl EventRingSegmentTableBaseAddressRegister {
155-
/// Sets the address of the Event Ring Segment Table. It must be 64 byte aligned.
162+
/// Returns the base address of the Event Ring Segment Table.
163+
#[must_use]
164+
pub fn get(self) -> u64 {
165+
self.0
166+
}
167+
168+
/// Sets the base address of the Event Ring Segment Table. It must be 64 byte aligned.
156169
///
157170
/// # Panics
158171
///

0 commit comments

Comments
 (0)