summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2017-11-23 12:12:34 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2017-11-24 10:06:14 +0100
commitf995e8ad825d0c3689c1ab8209c4b41e001fe9d6 (patch)
tree4d7002a064e6ba7db77294f4d58bac28d14ca2bc /drivers/net/e1000
parent2e9c6aa07afab285a405aef072cae1ca0787a37e (diff)
downloadbarebox-f995e8ad825d0c3689c1ab8209c4b41e001fe9d6.tar.gz
barebox-f995e8ad825d0c3689c1ab8209c4b41e001fe9d6.tar.xz
net/e1000: log flash/invm status at probe time
Provide some info about flash/eeprom state at boot up Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/eeprom.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c
index e5f8c9e271..cb92deee3b 100644
--- a/drivers/net/e1000/eeprom.c
+++ b/drivers/net/e1000/eeprom.c
@@ -1472,6 +1472,24 @@ int e1000_register_eeprom(struct e1000_hw *hw)
if (ret < 0)
return ret;
+ if (eecd & E1000_EECD_AUTO_RD) {
+ if (eecd & E1000_EECD_EE_PRES) {
+ if (eecd & E1000_EECD_FLASH_IN_USE)
+ dev_info(hw->dev, "Hardware programmed from flash\n");
+ else
+ dev_info(hw->dev, "Hardware programmed from iNVM\n");
+ } else {
+ dev_warn(hw->dev, "Shadow RAM invalid\n");
+ }
+ } else {
+ /*
+ * I never saw this case in practise and I'm unsure how
+ * to handle that. Maybe just wait until the hardware is
+ * up enough that this bit is set?
+ */
+ dev_err(hw->dev, "Flash Auto-Read not done\n");
+ }
+
if (eecd & E1000_EECD_I210_FLASH_DETECTED) {
hw->mtd.parent = hw->dev;
hw->mtd.read = e1000_mtd_read;