Page MenuHomeFreeBSD

D25035.id72684.diff
No OneTemporary

D25035.id72684.diff

Index: head/sys/dev/e1000/e1000_api.c
===================================================================
--- head/sys/dev/e1000/e1000_api.c
+++ head/sys/dev/e1000/e1000_api.c
@@ -309,6 +309,8 @@
case E1000_DEV_ID_PCH_SPT_I219_V4:
case E1000_DEV_ID_PCH_SPT_I219_LM5:
case E1000_DEV_ID_PCH_SPT_I219_V5:
+ case E1000_DEV_ID_PCH_CMP_I219_LM12:
+ case E1000_DEV_ID_PCH_CMP_I219_V12:
mac->type = e1000_pch_spt;
break;
case E1000_DEV_ID_PCH_CNP_I219_LM6:
@@ -319,7 +321,10 @@
case E1000_DEV_ID_PCH_ICP_I219_V8:
case E1000_DEV_ID_PCH_ICP_I219_LM9:
case E1000_DEV_ID_PCH_ICP_I219_V9:
- case E1000_DEV_ID_PCH_ICP_I219_V10:
+ case E1000_DEV_ID_PCH_CMP_I219_LM10:
+ case E1000_DEV_ID_PCH_CMP_I219_V10:
+ case E1000_DEV_ID_PCH_CMP_I219_LM11:
+ case E1000_DEV_ID_PCH_CMP_I219_V11:
mac->type = e1000_pch_cnp;
break;
case E1000_DEV_ID_82575EB_COPPER:
Index: head/sys/dev/e1000/e1000_hw.h
===================================================================
--- head/sys/dev/e1000/e1000_hw.h
+++ head/sys/dev/e1000/e1000_hw.h
@@ -155,7 +155,12 @@
#define E1000_DEV_ID_PCH_ICP_I219_V8 0x15E0
#define E1000_DEV_ID_PCH_ICP_I219_LM9 0x15E1
#define E1000_DEV_ID_PCH_ICP_I219_V9 0x15E2
-#define E1000_DEV_ID_PCH_ICP_I219_V10 0x0D4F
+#define E1000_DEV_ID_PCH_CMP_I219_LM10 0x0D4E
+#define E1000_DEV_ID_PCH_CMP_I219_V10 0x0D4F
+#define E1000_DEV_ID_PCH_CMP_I219_LM11 0x0D4C
+#define E1000_DEV_ID_PCH_CMP_I219_V11 0x0D4D
+#define E1000_DEV_ID_PCH_CMP_I219_LM12 0x0D53
+#define E1000_DEV_ID_PCH_CMP_I219_V12 0x0D55
#define E1000_DEV_ID_82576 0x10C9
#define E1000_DEV_ID_82576_FIBER 0x10E6
#define E1000_DEV_ID_82576_SERDES 0x10E7
Index: head/sys/dev/e1000/e1000_i210.c
===================================================================
--- head/sys/dev/e1000/e1000_i210.c
+++ head/sys/dev/e1000/e1000_i210.c
@@ -774,6 +774,7 @@
**/
s32 e1000_init_hw_i210(struct e1000_hw *hw)
{
+ struct e1000_mac_info *mac = &hw->mac;
s32 ret_val;
DEBUGFUNC("e1000_init_hw_i210");
@@ -784,6 +785,10 @@
return ret_val;
}
hw->phy.ops.get_cfg_done = e1000_get_cfg_done_i210;
+
+ /* Initialize identification LED */
+ mac->ops.id_led_init(hw);
+
ret_val = e1000_init_hw_82575(hw);
return ret_val;
}
Index: head/sys/dev/e1000/e1000_ich8lan.c
===================================================================
--- head/sys/dev/e1000/e1000_ich8lan.c
+++ head/sys/dev/e1000/e1000_ich8lan.c
@@ -1091,7 +1091,7 @@
value = ltr & E1000_LTRV_VALUE_MASK;
scale = (ltr & E1000_LTRV_SCALE_MASK) >> E1000_LTRV_SCALE_SHIFT;
- return value * (1 << (scale * E1000_LTRV_SCALE_FACTOR));
+ return value * (1ULL << (scale * E1000_LTRV_SCALE_FACTOR));
}
/**
@@ -4161,13 +4161,6 @@
if (ret_val)
goto release;
- /* And invalidate the previously valid segment by setting
- * its signature word (0x13) high_byte to 0b. This can be
- * done without an erase because flash erase sets all bits
- * to 1's. We can write 1's to 0's without an erase
- */
- act_offset = (old_bank_offset + E1000_ICH_NVM_SIG_WORD) * 2 + 1;
-
/* offset in words but we read dword*/
act_offset = old_bank_offset + E1000_ICH_NVM_SIG_WORD - 1;
ret_val = e1000_read_flash_dword_ich8lan(hw, act_offset, &dword);
@@ -5235,9 +5228,6 @@
DEBUGFUNC("e1000_setup_link_ich8lan");
- if (hw->phy.ops.check_reset_block(hw))
- return E1000_SUCCESS;
-
/* ICH parts do not have a word in the NVM to determine
* the default flow control setting, so we explicitly
* set it to full.
@@ -5253,10 +5243,12 @@
DEBUGOUT1("After fix-ups FlowControl is now = %x\n",
hw->fc.current_mode);
- /* Continue to configure the copper link. */
- ret_val = hw->mac.ops.setup_physical_interface(hw);
- if (ret_val)
- return ret_val;
+ if (!hw->phy.ops.check_reset_block(hw)) {
+ /* Continue to configure the copper link. */
+ ret_val = hw->mac.ops.setup_physical_interface(hw);
+ if (ret_val)
+ return ret_val;
+ }
E1000_WRITE_REG(hw, E1000_FCTTV, hw->fc.pause_time);
if ((hw->phy.type == e1000_phy_82578) ||
Index: head/sys/dev/e1000/if_em.c
===================================================================
--- head/sys/dev/e1000/if_em.c
+++ head/sys/dev/e1000/if_em.c
@@ -174,7 +174,12 @@
PVID(0x8086, E1000_DEV_ID_PCH_ICP_I219_V8, "Intel(R) PRO/1000 Network Connection"),
PVID(0x8086, E1000_DEV_ID_PCH_ICP_I219_LM9, "Intel(R) PRO/1000 Network Connection"),
PVID(0x8086, E1000_DEV_ID_PCH_ICP_I219_V9, "Intel(R) PRO/1000 Network Connection"),
- PVID(0x8086, E1000_DEV_ID_PCH_ICP_I219_V10, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_LM10, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_V10, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_LM11, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_V11, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_LM12, "Intel(R) PRO/1000 Network Connection"),
+ PVID(0x8086, E1000_DEV_ID_PCH_CMP_I219_V12, "Intel(R) PRO/1000 Network Connection"),
/* required last entry */
PVID_END
};

File Metadata

Mime Type
text/plain
Expires
Thu, May 14, 5:09 PM (34 m, 28 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33048883
Default Alt Text
D25035.id72684.diff (4 KB)

Event Timeline