Skip to content

Commit bb0ad0d

Browse files
authored
debug(igc): dump some regsiters (#627)
* debug(igc): dump some regsiters Signed-off-by: Yuuki Takano <ytakanoster@gmail.com> * print EIMS register Signed-off-by: Yuuki Takano <ytakanoster@gmail.com> --------- Signed-off-by: Yuuki Takano <ytakanoster@gmail.com>
1 parent df5647a commit bb0ad0d

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

awkernel_drivers/src/pcie.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,7 @@ impl PCIeInfo {
862862
self.msi.as_mut()
863863
}
864864

865-
pub fn get_msix(&mut self) -> Option<&capability::msix::Msix> {
865+
pub fn get_msix(&self) -> Option<&capability::msix::Msix> {
866866
self.msix.as_ref()
867867
}
868868

awkernel_drivers/src/pcie/intel/igc.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,36 @@ impl IgcInner {
677677
}
678678
}
679679

680+
fn dump(&self) {
681+
let mut msg = alloc::string::String::new();
682+
683+
let eims = read_reg(&self.info, igc_regs::IGC_EIMS).unwrap_or(0);
684+
msg = format!("{msg}EIMS: 0x{eims:#08x}\r\n");
685+
686+
let ims = read_reg(&self.info, igc_regs::IGC_IMS).unwrap_or(0);
687+
msg = format!("{msg}IMS: 0x{ims:#08x}\r\n");
688+
689+
let eiac = read_reg(&self.info, igc_regs::IGC_EIAC).unwrap_or(0);
690+
msg = format!("{msg}EIAC: 0x{eiac:#08x}\r\n");
691+
692+
let eiam = read_reg(&self.info, igc_regs::IGC_EIAM).unwrap_or(0);
693+
msg = format!("{msg}EIAM: 0x{eiam:#08x}\r\n");
694+
695+
let ivar0 = read_reg(&self.info, igc_regs::IGC_IVAR0).unwrap_or(0);
696+
msg = format!("{msg}IVAR0: 0x{ivar0:#08x}\r\n");
697+
let ivar1 = read_reg(&self.info, igc_regs::IGC_IVAR0 + 4).unwrap_or(0);
698+
msg = format!("{msg}IVAR1: 0x{ivar1:#08x}\r\n");
699+
let ivar_misc = read_reg(&self.info, igc_regs::IGC_IVAR_MISC).unwrap_or(0);
700+
msg = format!("{msg}IVAR_MISC: 0x{ivar_misc:#08x}\r\n");
701+
702+
if let Some(msix) = self.info.get_msix() {
703+
let msix_msg = msix.dump(&self.info);
704+
msg = format!("{msg}{msix_msg}");
705+
}
706+
707+
log::debug!("igc: dump:\r\n{msg}");
708+
}
709+
680710
#[inline(always)]
681711
fn igc_intr_link(&mut self) -> Result<(), IgcDriverErr> {
682712
igc_update_link_status(
@@ -845,6 +875,8 @@ impl IgcInner {
845875

846876
self.if_flags.insert(NetFlags::RUNNING);
847877

878+
self.dump();
879+
848880
Ok(())
849881
}
850882

0 commit comments

Comments
 (0)