From 87b59677ba4ae9f1bcb0f685eaa18bb756c48a19 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 14 Mar 2014 12:46:23 +0000 Subject: [PATCH] [realtek] Add ability to dump all internal registers Signed-off-by: Michael Brown --- src/drivers/net/realtek.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/drivers/net/realtek.c b/src/drivers/net/realtek.c index 41f4ec23..7c6f8689 100644 --- a/src/drivers/net/realtek.c +++ b/src/drivers/net/realtek.c @@ -48,6 +48,33 @@ FILE_LICENCE ( GPL2_OR_LATER ); * http://www.datasheetarchive.com/indexdl/Datasheet-028/DSA00494723.pdf */ +/****************************************************************************** + * + * Debugging + * + ****************************************************************************** + */ + +/** + * Dump all registers (for debugging) + * + * @v rtl Realtek device + */ +static __attribute__ (( unused )) void realtek_dump ( struct realtek_nic *rtl ){ + uint8_t regs[256]; + unsigned int i; + + /* Do nothing unless debug output is enabled */ + if ( ! DBG_LOG ) + return; + + /* Dump registers (via byte accesses; may not work for all registers) */ + for ( i = 0 ; i < sizeof ( regs ) ; i++ ) + regs[i] = readb ( rtl->regs + i ); + DBGC ( rtl, "REALTEK %p register dump:\n", rtl ); + DBGC_HDA ( rtl, 0, regs, sizeof ( regs ) ); +} + /****************************************************************************** * * EEPROM interface