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

Commit 79849ebc authored by David Ertman's avatar David Ertman Committed by Jeff Kirsher
Browse files

e1000e: initial support for i219



i219 is the next-generation LOM that will be available on systems with the
Sunrise Point Platform Controller Hub (PCH) chipset from Intel.  This patch
provides the initial support for the device.

Signed-off-by: default avatarDave Ertman <david.m.ertman@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Tested-by: default avatarCarmen Edwards <carmenx.edwards@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 5e3d3189
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@
#define E1000_RCTL_LBM_TCVR       0x000000C0    /* tcvr loopback mode */
#define E1000_RCTL_DTYP_PS        0x00000400    /* Packet Split descriptor */
#define E1000_RCTL_RDMTS_HALF     0x00000000    /* Rx desc min threshold size */
#define E1000_RCTL_RDMTS_HEX      0x00010000
#define E1000_RCTL_MO_SHIFT       12            /* multicast offset shift */
#define E1000_RCTL_MO_3           0x00003000    /* multicast offset 15:4 */
#define E1000_RCTL_BAM            0x00008000    /* broadcast enable */
+2 −0
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ enum e1000_boards {
	board_pchlan,
	board_pch2lan,
	board_pch_lpt,
	board_pch_spt
};

struct e1000_ps_page {
@@ -501,6 +502,7 @@ extern const struct e1000_info e1000_ich10_info;
extern const struct e1000_info e1000_pch_info;
extern const struct e1000_info e1000_pch2_info;
extern const struct e1000_info e1000_pch_lpt_info;
extern const struct e1000_info e1000_pch_spt_info;
extern const struct e1000_info e1000_es2_info;

void e1000e_ptp_init(struct e1000_adapter *adapter);
+4 −2
Original line number Diff line number Diff line
@@ -896,18 +896,20 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
	case e1000_pchlan:
	case e1000_pch2lan:
	case e1000_pch_lpt:
	case e1000_pch_spt:
		mask |= (1 << 18);
		break;
	default:
		break;
	}

	if (mac->type == e1000_pch_lpt)
	if ((mac->type == e1000_pch_lpt) || (mac->type == e1000_pch_spt))
		wlock_mac = (er32(FWSM) & E1000_FWSM_WLOCK_MAC_MASK) >>
		    E1000_FWSM_WLOCK_MAC_SHIFT;

	for (i = 0; i < mac->rar_entry_count; i++) {
		if (mac->type == e1000_pch_lpt) {
		if ((mac->type == e1000_pch_lpt) ||
		    (mac->type == e1000_pch_spt)) {
			/* Cannot test write-protected SHRAL[n] registers */
			if ((wlock_mac == 1) || (wlock_mac && (i > wlock_mac)))
				continue;
+6 −0
Original line number Diff line number Diff line
@@ -87,6 +87,10 @@ struct e1000_hw;
#define E1000_DEV_ID_PCH_I218_V2		0x15A1
#define E1000_DEV_ID_PCH_I218_LM3		0x15A2	/* Wildcat Point PCH */
#define E1000_DEV_ID_PCH_I218_V3		0x15A3	/* Wildcat Point PCH */
#define E1000_DEV_ID_PCH_SPT_I219_LM		0x156F	/* SPT PCH */
#define E1000_DEV_ID_PCH_SPT_I219_V		0x1570	/* SPT PCH */
#define E1000_DEV_ID_PCH_SPT_I219_LM2		0x15B7	/* SPT-H PCH */
#define E1000_DEV_ID_PCH_SPT_I219_V2		0x15B8	/* SPT-H PCH */

#define E1000_REVISION_4	4

@@ -108,6 +112,7 @@ enum e1000_mac_type {
	e1000_pchlan,
	e1000_pch2lan,
	e1000_pch_lpt,
	e1000_pch_spt,
};

enum e1000_media_type {
@@ -153,6 +158,7 @@ enum e1000_bus_width {
	e1000_bus_width_pcie_x1,
	e1000_bus_width_pcie_x2,
	e1000_bus_width_pcie_x4 = 4,
	e1000_bus_width_pcie_x8 = 8,
	e1000_bus_width_32,
	e1000_bus_width_64,
	e1000_bus_width_reserved
+700 −70

File changed.

Preview size limit exceeded, changes collapsed.

Loading