1 /* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12 /* 13 * Copyright 2016 Joyent, Inc. 14 */ 15 16 #ifndef _I40E_XREGS_H 17 #define _I40E_XREGS_H 18 19 /* 20 * This file contains extra register definitions and other things that would 21 * nominally come from the Intel common code, but do not due to bugs, erratum, 22 * etc. Ideally we'll get to a point where we can remove this file. 23 */ 24 #include "i40e_type.h" 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 /* 31 * The MSPDC register is missing from the current datasheet. 32 */ 33 #define I40E_GLPRT_MSPDC(_i) (0x00300060 + ((_i) * 8)) /* _i=0...3 */ 34 #define I40E_GLPRT_MSDPC_MAX_INDEX 3 35 #define I40E_GLPRT_MSPDC_MSPDC_SHIFT 0 36 #define I40E_GLPRT_MSPDC_MSPDC_MASK \ 37 I40E_MASK(0xFFFFFFFF, I40E_GLPRT_MSPDC_MSPDC_SHIFT) 38 39 /* 40 * The RXERR* registers are technically correct from the perspective of their 41 * addreses; however, the other associated constants are not correct. Instead, 42 * we have new definitions here in the interim. 43 */ 44 45 #define I40E_X_GL_RXERR1_L(_i) (0x00318000 + ((_i) * 8)) 46 47 #define I40E_X_GL_RXERR2_L(_i) (0x0031c000 + ((_i) * 8)) 48 49 #ifdef __cplusplus 50 } 51 #endif 52 53 #endif /* _I40E_XREGS_H */ 54