Mercurial > illumos > illumos-gate
diff usr/src/uts/common/io/atge/atge.h @ 13768:ed21ea5d20cf
212 Atheros AR8132 / L1c Gigabit Ethernet Adapter
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Milan Jurik <milan.jurik@xylab.cz>
Approved by: Dan McDonald <danmcd@nexenta.com>
author | Gary Mills <gary_mills@fastmail.fm> |
---|---|
date | Fri, 10 Aug 2012 10:52:49 -0400 |
parents | ac93462db6d7 |
children |
line wrap: on
line diff
--- a/usr/src/uts/common/io/atge/atge.h Tue Aug 07 21:36:09 2012 -0500 +++ b/usr/src/uts/common/io/atge/atge.h Fri Aug 10 10:52:49 2012 -0400 @@ -19,6 +19,8 @@ * CDDL HEADER END */ /* + * Copyright (c) 2012 Gary Mills + * * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,6 +35,7 @@ #include <sys/ethernet.h> #include <sys/mac_provider.h> #include "atge_l1e_reg.h" +#include "atge_l1c_reg.h" #define ATGE_PCI_REG_NUMBER 1 @@ -48,10 +51,20 @@ #define ATGE_FLAG_FASTETHER 0x0010 #define ATGE_FLAG_JUMBO 0x0020 #define ATGE_MII_CHECK 0x0040 +#define ATGE_FLAG_ASPM_MON 0x0080 +#define ATGE_FLAG_CMB_BUG 0x0100 +#define ATGE_FLAG_SMB_BUG 0x0200 +#define ATGE_FLAG_APS 0x1000 #define ATGE_CHIP_L1_DEV_ID 0x1048 #define ATGE_CHIP_L2_DEV_ID 0x2048 #define ATGE_CHIP_L1E_DEV_ID 0x1026 +#define ATGE_CHIP_L1CG_DEV_ID 0x1063 +#define ATGE_CHIP_L1CF_DEV_ID 0x1062 +#define ATGE_CHIP_AR8151V1_DEV_ID 0x1073 +#define ATGE_CHIP_AR8151V2_DEV_ID 0x1083 +#define ATGE_CHIP_AR8152V1_DEV_ID 0x2060 +#define ATGE_CHIP_AR8152V2_DEV_ID 0x2062 #define ATGE_PROMISC 0x001 #define ATGE_ALL_MULTICST 0x002 @@ -142,6 +155,8 @@ * General purpose macros. */ #define ATGE_MODEL(atgep) atgep->atge_model +#define ATGE_VID(atgep) atgep->atge_vid +#define ATGE_DID(atgep) atgep->atge_did /* * Different type of chip models. @@ -150,6 +165,7 @@ ATGE_CHIP_L1 = 1, ATGE_CHIP_L2, ATGE_CHIP_L1E, + ATGE_CHIP_L1C, } atge_model_t; typedef struct atge_cards { @@ -221,6 +237,20 @@ } atge_l1_data_t; /* + * L1C specific private data. + */ +typedef struct atge_l1c_data { + atge_ring_t *atge_rx_ring; + atge_dma_t *atge_l1c_cmb; + atge_dma_t *atge_l1c_rr; + atge_dma_t *atge_l1c_smb; + int atge_l1c_rr_consumers; + uint32_t atge_l1c_intr_status; + uint32_t atge_l1c_rx_prod_cons; + uint32_t atge_l1c_tx_prod_cons; +} atge_l1c_data_t; + +/* * TX descriptor table is same with L1, L1E and L2E chips. */ #pragma pack(1) @@ -257,6 +287,8 @@ dev_info_t *atge_dip; char atge_name[8]; atge_model_t atge_model; + uint16_t atge_vid; + uint16_t atge_did; int atge_chip_rev; uint8_t atge_revid; @@ -300,6 +332,8 @@ int atge_tx_resched; int atge_mtu; int atge_int_mod; + int atge_int_rx_mod; /* L1C */ + int atge_int_tx_mod; /* L1C */ int atge_max_frame_size;