git: c0548bfc3a09 - main - em(4): Add IDs for new Intel(R) I219 devices

From: Eric Joyner <erj_at_FreeBSD.org>
Date: Mon, 06 Feb 2023 22:36:20 UTC
The branch main has been updated by erj:

URL: https://cgit.FreeBSD.org/src/commit/?id=c0548bfc3a0941e504d673fea7d14a42d4358961

commit c0548bfc3a0941e504d673fea7d14a42d4358961
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-02-06 22:31:00 +0000
Commit:     Eric Joyner <erj@FreeBSD.org>
CommitDate: 2023-02-06 22:35:56 +0000

    em(4): Add IDs for new Intel(R) I219 devices
    
    These include I219 (20) through I219 (23), which ends at Raptor Lake.
    
    This also corrects a discrepancy where the (16) devices should be
    mac type "e1000_pch_tgp" and not "e1000_pch_adp".
    
    Signed-off-by: Eric Joyner <erj@FreeBSD.org>
    
    PR:             269224
    Reviewed by:    erj@
    MFC after:      1 day
    Relnotes:       yes
    Sponsored by:   Intel Corporation
    Differential Revision:  https://reviews.freebsd.org/D38376
---
 sys/dev/e1000/e1000_api.c | 12 ++++++++++--
 sys/dev/e1000/e1000_hw.h  |  8 ++++++++
 sys/dev/e1000/if_em.c     |  8 ++++++++
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/sys/dev/e1000/e1000_api.c b/sys/dev/e1000/e1000_api.c
index 5c778a48bba0..5fd0f598aa6d 100644
--- a/sys/dev/e1000/e1000_api.c
+++ b/sys/dev/e1000/e1000_api.c
@@ -333,18 +333,26 @@ s32 e1000_set_mac_type(struct e1000_hw *hw)
 	case E1000_DEV_ID_PCH_TGP_I219_V14:
 	case E1000_DEV_ID_PCH_TGP_I219_LM15:
 	case E1000_DEV_ID_PCH_TGP_I219_V15:
-		mac->type = e1000_pch_tgp;
-		break;
 	case E1000_DEV_ID_PCH_ADL_I219_LM16:
 	case E1000_DEV_ID_PCH_ADL_I219_V16:
+	case E1000_DEV_ID_PCH_RPL_I219_LM23:
+	case E1000_DEV_ID_PCH_RPL_I219_V23:
+		mac->type = e1000_pch_tgp;
+		break;
 	case E1000_DEV_ID_PCH_ADL_I219_LM17:
 	case E1000_DEV_ID_PCH_ADL_I219_V17:
+	case E1000_DEV_ID_PCH_RPL_I219_LM22:
+	case E1000_DEV_ID_PCH_RPL_I219_V22:
 		mac->type = e1000_pch_adp;
 		break;
 	case E1000_DEV_ID_PCH_MTP_I219_LM18:
 	case E1000_DEV_ID_PCH_MTP_I219_V18:
 	case E1000_DEV_ID_PCH_MTP_I219_LM19:
 	case E1000_DEV_ID_PCH_MTP_I219_V19:
+	case E1000_DEV_ID_PCH_LNL_I219_LM20:
+	case E1000_DEV_ID_PCH_LNL_I219_V20:
+	case E1000_DEV_ID_PCH_LNL_I219_LM21:
+	case E1000_DEV_ID_PCH_LNL_I219_V21:
 		mac->type = e1000_pch_mtp;
 		break;
 	case E1000_DEV_ID_82575EB_COPPER:
diff --git a/sys/dev/e1000/e1000_hw.h b/sys/dev/e1000/e1000_hw.h
index 6ee252e147a4..0a4b03df98b6 100644
--- a/sys/dev/e1000/e1000_hw.h
+++ b/sys/dev/e1000/e1000_hw.h
@@ -175,6 +175,14 @@ struct e1000_hw;
 #define E1000_DEV_ID_PCH_MTP_I219_V18		0x550B
 #define E1000_DEV_ID_PCH_MTP_I219_LM19		0x550C
 #define E1000_DEV_ID_PCH_MTP_I219_V19		0x550D
+#define E1000_DEV_ID_PCH_LNL_I219_LM20		0x550E
+#define E1000_DEV_ID_PCH_LNL_I219_V20		0x550F
+#define E1000_DEV_ID_PCH_LNL_I219_LM21		0x5510
+#define E1000_DEV_ID_PCH_LNL_I219_V21		0x5511
+#define E1000_DEV_ID_PCH_RPL_I219_LM22		0x0DC7
+#define E1000_DEV_ID_PCH_RPL_I219_V22		0x0DC8
+#define E1000_DEV_ID_PCH_RPL_I219_LM23		0x0DC5
+#define E1000_DEV_ID_PCH_RPL_I219_V23		0x0DC6
 #define E1000_DEV_ID_82576			0x10C9
 #define E1000_DEV_ID_82576_FIBER		0x10E6
 #define E1000_DEV_ID_82576_SERDES		0x10E7
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index 3be1aaeb362e..7135f273fd94 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -194,6 +194,14 @@ static pci_vendor_info_t em_vendor_info_array[] =
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V18, "Intel(R) I219-V MTP(18)"),
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_LM19, "Intel(R) I219-LM MTP(19)"),
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V19, "Intel(R) I219-V MTP(19)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_LM20, "Intel(R) I219-LM LNL(20)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_V20, "Intel(R) I219-V LNL(20)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_LM21, "Intel(R) I219-LM LNL(21)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_V21, "Intel(R) I219-V LNL(21)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_LM22, "Intel(R) I219-LM RPL(22)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V22, "Intel(R) I219-V RPL(22)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_LM23, "Intel(R) I219-LM RPL(23)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V23, "Intel(R) I219-V RPL(23)"),
 	/* required last entry */
 	PVID_END
 };