From d2a0039676c3d65066e3e2c8b1912e011bfc9139 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Fri, 6 Jan 2017 14:42:06 +0800 Subject: [PATCH] alc: Add Killer E2500 support. --- share/man/man4/alc.4 | 2 ++ sys/bus/pci/pci.c | 7 ++++--- sys/dev/netif/alc/if_alc.c | 4 ++++ sys/dev/netif/alc/if_alcreg.h | 1 + 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/share/man/man4/alc.4 b/share/man/man4/alc.4 index 629007b476..20f6946fa5 100644 --- a/share/man/man4/alc.4 +++ b/share/man/man4/alc.4 @@ -124,6 +124,8 @@ Atheros AR8172 PCI Express Fast Ethernet controller Killer E2200 Gigabit Ethernet controller .It Killer E2400 Gigabit Ethernet controller +.It +Killer E2500 Gigabit Ethernet controller .El .Sh LOADER TUNABLES Tunables can be set at the diff --git a/sys/bus/pci/pci.c b/sys/bus/pci/pci.c index da2bc06c4d..dbd2c63ddb 100644 --- a/sys/bus/pci/pci.c +++ b/sys/bus/pci/pci.c @@ -252,14 +252,15 @@ struct pci_quirk pci_quirks[] = { { 0x74501022, PCI_QUIRK_DISABLE_MSI, 0, 0 }, /* - * Atheros AR8161/AR8162/E2200/E2400 Ethernet controllers have a - * bug that MSI interrupt does not assert if PCIM_CMD_INTxDIS bit + * Atheros AR8161/AR8162/E2200/E2400/E2500 Ethernet controllers have + * a bug that MSI interrupt does not assert if PCIM_CMD_INTxDIS bit * of the command register is set. */ + { 0x10901969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, { 0x10911969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, { 0xE0911969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, { 0xE0A11969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, - { 0x10901969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, + { 0xE0B11969, PCI_QUIRK_MSI_INTX_BUG, 0, 0 }, { 0 } }; diff --git a/sys/dev/netif/alc/if_alc.c b/sys/dev/netif/alc/if_alc.c index c862cced38..59c97d95cb 100644 --- a/sys/dev/netif/alc/if_alc.c +++ b/sys/dev/netif/alc/if_alc.c @@ -126,6 +126,8 @@ static struct alc_ident alc_ident_table[] = { "Killer E2200 Gigabit Ethernet" }, { VENDORID_ATHEROS, DEVICEID_ATHEROS_E2400, 9 * 1024, "Killer E2400 Gigabit Ethernet" }, + { VENDORID_ATHEROS, DEVICEID_ATHEROS_E2500, 9 * 1024, + "Killer E2500 Gigabit Ethernet" }, { 0, 0, 0, NULL} }; @@ -1059,6 +1061,7 @@ alc_phy_down(struct alc_softc *sc) case DEVICEID_ATHEROS_AR8161: case DEVICEID_ATHEROS_E2200: case DEVICEID_ATHEROS_E2400: + case DEVICEID_ATHEROS_E2500: case DEVICEID_ATHEROS_AR8162: case DEVICEID_ATHEROS_AR8171: case DEVICEID_ATHEROS_AR8172: @@ -1377,6 +1380,7 @@ alc_attach(device_t dev) switch (sc->alc_ident->deviceid) { case DEVICEID_ATHEROS_E2200: case DEVICEID_ATHEROS_E2400: + case DEVICEID_ATHEROS_E2500: sc->alc_flags |= ALC_FLAG_E2X00; /* FALLTHROUGH */ case DEVICEID_ATHEROS_AR8161: diff --git a/sys/dev/netif/alc/if_alcreg.h b/sys/dev/netif/alc/if_alcreg.h index da78d9f071..c1e253e60b 100644 --- a/sys/dev/netif/alc/if_alcreg.h +++ b/sys/dev/netif/alc/if_alcreg.h @@ -50,6 +50,7 @@ #define DEVICEID_ATHEROS_AR8152_B2 0x2062 /* L2C V2.0 */ #define DEVICEID_ATHEROS_E2200 0xE091 #define DEVICEID_ATHEROS_E2400 0xE0A1 +#define DEVICEID_ATHEROS_E2500 0xE0B1 #define ATHEROS_AR8152_B_V10 0xC0 #define ATHEROS_AR8152_B_V11 0xC1 -- 2.11.4.GIT