Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6418ecc6 authored by Jeff Kirsher's avatar Jeff Kirsher Committed by root
Browse files

e1000: Add support for new hardware (ESB2)

parent 2a1af5d7
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -589,6 +589,7 @@ e1000_get_drvinfo(struct net_device *netdev,
	case e1000_82571:
	case e1000_82571:
	case e1000_82572:
	case e1000_82572:
	case e1000_82573:
	case e1000_82573:
	case e1000_80003es2lan:
		sprintf(firmware_version, "%d.%d-%d",
		sprintf(firmware_version, "%d.%d-%d",
			(eeprom_data & 0xF000) >> 12,
			(eeprom_data & 0xF000) >> 12,
			(eeprom_data & 0x0FF0) >> 4,
			(eeprom_data & 0x0FF0) >> 4,
@@ -762,6 +763,7 @@ e1000_reg_test(struct e1000_adapter *adapter, uint64_t *data)
	/* there are several bits on newer hardware that are r/w */
	/* there are several bits on newer hardware that are r/w */
	case e1000_82571:
	case e1000_82571:
	case e1000_82572:
	case e1000_82572:
	case e1000_80003es2lan:
		toggle = 0x7FFFF3FF;
		toggle = 0x7FFFF3FF;
		break;
		break;
	case e1000_82573:
	case e1000_82573:
@@ -1320,6 +1322,7 @@ e1000_set_phy_loopback(struct e1000_adapter *adapter)
	case e1000_82571:
	case e1000_82571:
	case e1000_82572:
	case e1000_82572:
	case e1000_82573:
	case e1000_82573:
	case e1000_80003es2lan:
		return e1000_integrated_phy_loopback(adapter);
		return e1000_integrated_phy_loopback(adapter);
		break;
		break;


+669 −16

File changed.

Preview size limit exceeded, changes collapsed.

+287 −0

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Original line Diff line number Diff line
@@ -157,9 +157,12 @@ static struct pci_device_id e1000_pci_tbl[] = {
	INTEL_E1000_ETHERNET_DEVICE(0x108A),
	INTEL_E1000_ETHERNET_DEVICE(0x108A),
	INTEL_E1000_ETHERNET_DEVICE(0x108B),
	INTEL_E1000_ETHERNET_DEVICE(0x108B),
	INTEL_E1000_ETHERNET_DEVICE(0x108C),
	INTEL_E1000_ETHERNET_DEVICE(0x108C),
	INTEL_E1000_ETHERNET_DEVICE(0x1096),
	INTEL_E1000_ETHERNET_DEVICE(0x1098),
	INTEL_E1000_ETHERNET_DEVICE(0x1099),
	INTEL_E1000_ETHERNET_DEVICE(0x1099),
	INTEL_E1000_ETHERNET_DEVICE(0x109A),
	INTEL_E1000_ETHERNET_DEVICE(0x109A),
	INTEL_E1000_ETHERNET_DEVICE(0x10B5),
	INTEL_E1000_ETHERNET_DEVICE(0x10B5),
	INTEL_E1000_ETHERNET_DEVICE(0x10B9),
	/* required last entry */
	/* required last entry */
	{0,}
	{0,}
};
};
@@ -575,6 +578,7 @@ e1000_reset(struct e1000_adapter *adapter)
		break;
		break;
	case e1000_82571:
	case e1000_82571:
	case e1000_82572:
	case e1000_82572:
	case e1000_80003es2lan:
		pba = E1000_PBA_38K;
		pba = E1000_PBA_38K;
		break;
		break;
	case e1000_82573:
	case e1000_82573:
@@ -852,6 +856,7 @@ e1000_probe(struct pci_dev *pdev,
	case e1000_82546:
	case e1000_82546:
	case e1000_82546_rev_3:
	case e1000_82546_rev_3:
	case e1000_82571:
	case e1000_82571:
	case e1000_80003es2lan:
		if (E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_FUNC_1){
		if (E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_FUNC_1){
			e1000_read_eeprom(&adapter->hw,
			e1000_read_eeprom(&adapter->hw,
				EEPROM_INIT_CONTROL3_PORT_B, 1, &eeprom_data);
				EEPROM_INIT_CONTROL3_PORT_B, 1, &eeprom_data);