Update EventSte structure

This commit is contained in:
Jeremy Soller
2017-08-01 19:40:25 -06:00
parent e83471f53f
commit 832f830cc4
2 changed files with 6 additions and 5 deletions
+4 -3
View File
@@ -6,8 +6,9 @@ use super::trb::Trb;
#[repr(packed)]
pub struct EventRingSte {
pub address: Mmio<u64>,
pub size: Mmio<u32>,
_rsvd: Mmio<u32>,
pub size: Mmio<u16>,
_rsvd: Mmio<u16>,
_rsvd2: Mmio<u32>,
}
pub struct EventRing {
@@ -23,7 +24,7 @@ impl EventRing {
};
ring.ste.address.write(ring.trbs.physical() as u64);
ring.ste.size.write(ring.trbs.len() as u32);
ring.ste.size.write(ring.trbs.len() as u16);
Ok(ring)
}
+2 -2
View File
@@ -111,12 +111,12 @@ impl Xhci {
// Set event ring segment table registers
println!(" - Interrupter 0: {:X}", self.run.ints.as_ptr() as usize);
println!(" - Write ERDP");
self.run.ints[0].erdp.write(self.cmd.events.trbs.physical() as u64);
println!(" - Write ERSTZ");
self.run.ints[0].erstsz.write(1);
println!(" - Write ERSTBA: {:X}", self.cmd.events.ste.physical() as u64);
self.run.ints[0].erstba.write(self.cmd.events.ste.physical() as u64);
println!(" - Write ERDP");
self.run.ints[0].erdp.write(self.cmd.events.trbs.physical() as u64);
// Set run/stop to 1
println!(" - Start");