Merge tag 'master-2014-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
[cascardo/linux.git] / drivers / net / ethernet / amd / xgbe / xgbe-common.h
index bf462ee..cc25a3a 100644 (file)
 #define DMA_MR_SWR_WIDTH               1
 #define DMA_SBMR_EAME_INDEX            11
 #define DMA_SBMR_EAME_WIDTH            1
+#define DMA_SBMR_BLEN_256_INDEX                7
+#define DMA_SBMR_BLEN_256_WIDTH                1
 #define DMA_SBMR_UNDEF_INDEX           0
 #define DMA_SBMR_UNDEF_WIDTH           1
 
 #define MAC_PFR                                0x0008
 #define MAC_WTR                                0x000c
 #define MAC_HTR0                       0x0010
-#define MAC_HTR1                       0x0014
-#define MAC_HTR2                       0x0018
-#define MAC_HTR3                       0x001c
-#define MAC_HTR4                       0x0020
-#define MAC_HTR5                       0x0024
-#define MAC_HTR6                       0x0028
-#define MAC_HTR7                       0x002c
 #define MAC_VLANTR                     0x0050
 #define MAC_VLANHTR                    0x0058
 #define MAC_VLANIR                     0x0060
 #define MAC_MACA0LR                    0x0304
 #define MAC_MACA1HR                    0x0308
 #define MAC_MACA1LR                    0x030c
+#define MAC_TSCR                       0x0d00
+#define MAC_SSIR                       0x0d04
+#define MAC_STSR                       0x0d08
+#define MAC_STNR                       0x0d0c
+#define MAC_STSUR                      0x0d10
+#define MAC_STNUR                      0x0d14
+#define MAC_TSAR                       0x0d18
+#define MAC_TSSR                       0x0d20
+#define MAC_TXSNR                      0x0d30
+#define MAC_TXSSR                      0x0d34
 
 #define MAC_QTFCR_INC                  4
 #define MAC_MACA_INC                   4
+#define MAC_HTR_INC                    4
+
+#define MAC_RQC2_INC                   4
+#define MAC_RQC2_Q_PER_REG             4
 
 /* MAC register entry bit positions and sizes */
 #define MAC_HWF0R_ADDMACADRSEL_INDEX   18
 #define MAC_HWF1R_HASHTBLSZ_WIDTH      3
 #define MAC_HWF1R_L3L4FNUM_INDEX       27
 #define MAC_HWF1R_L3L4FNUM_WIDTH       4
+#define MAC_HWF1R_NUMTC_INDEX          21
+#define MAC_HWF1R_NUMTC_WIDTH          3
 #define MAC_HWF1R_RSSEN_INDEX          20
 #define MAC_HWF1R_RSSEN_WIDTH          1
 #define MAC_HWF1R_RXFIFOSIZE_INDEX     0
 #define MAC_HWF2R_TXCHCNT_WIDTH                4
 #define MAC_HWF2R_TXQCNT_INDEX         6
 #define MAC_HWF2R_TXQCNT_WIDTH         4
+#define MAC_IER_TSIE_INDEX             12
+#define MAC_IER_TSIE_WIDTH             1
 #define MAC_ISR_MMCRXIS_INDEX          9
 #define MAC_ISR_MMCRXIS_WIDTH          1
 #define MAC_ISR_MMCTXIS_INDEX          10
 #define MAC_ISR_MMCTXIS_WIDTH          1
 #define MAC_ISR_PMTIS_INDEX            4
 #define MAC_ISR_PMTIS_WIDTH            1
+#define MAC_ISR_TSIS_INDEX             12
+#define MAC_ISR_TSIS_WIDTH             1
 #define MAC_MACA1HR_AE_INDEX           31
 #define MAC_MACA1HR_AE_WIDTH           1
 #define MAC_PFR_HMC_INDEX              2
 #define MAC_PFR_HMC_WIDTH              1
+#define MAC_PFR_HPF_INDEX              10
+#define MAC_PFR_HPF_WIDTH              1
 #define MAC_PFR_HUC_INDEX              1
 #define MAC_PFR_HUC_WIDTH              1
 #define MAC_PFR_PM_INDEX               4
 #define MAC_PFR_PM_WIDTH               1
 #define MAC_PFR_PR_INDEX               0
 #define MAC_PFR_PR_WIDTH               1
+#define MAC_PFR_VTFE_INDEX             16
+#define MAC_PFR_VTFE_WIDTH             1
 #define MAC_PMTCSR_MGKPKTEN_INDEX      1
 #define MAC_PMTCSR_MGKPKTEN_WIDTH      1
 #define MAC_PMTCSR_PWRDWN_INDEX                0
 #define MAC_RCR_LM_WIDTH               1
 #define MAC_RCR_RE_INDEX               0
 #define MAC_RCR_RE_WIDTH               1
+#define MAC_RFCR_PFCE_INDEX            8
+#define MAC_RFCR_PFCE_WIDTH            1
 #define MAC_RFCR_RFE_INDEX             0
 #define MAC_RFCR_RFE_WIDTH             1
+#define MAC_RFCR_UP_INDEX              1
+#define MAC_RFCR_UP_WIDTH              1
 #define MAC_RQC0R_RXQ0EN_INDEX         0
 #define MAC_RQC0R_RXQ0EN_WIDTH         2
+#define MAC_SSIR_SNSINC_INDEX          8
+#define MAC_SSIR_SNSINC_WIDTH          8
+#define MAC_SSIR_SSINC_INDEX           16
+#define MAC_SSIR_SSINC_WIDTH           8
 #define MAC_TCR_SS_INDEX               29
 #define MAC_TCR_SS_WIDTH               2
 #define MAC_TCR_TE_INDEX               0
 #define MAC_TCR_TE_WIDTH               1
+#define MAC_TSCR_AV8021ASMEN_INDEX     28
+#define MAC_TSCR_AV8021ASMEN_WIDTH     1
+#define MAC_TSCR_SNAPTYPSEL_INDEX      16
+#define MAC_TSCR_SNAPTYPSEL_WIDTH      2
+#define MAC_TSCR_TSADDREG_INDEX                5
+#define MAC_TSCR_TSADDREG_WIDTH                1
+#define MAC_TSCR_TSCFUPDT_INDEX                1
+#define MAC_TSCR_TSCFUPDT_WIDTH                1
+#define MAC_TSCR_TSCTRLSSR_INDEX       9
+#define MAC_TSCR_TSCTRLSSR_WIDTH       1
+#define MAC_TSCR_TSENA_INDEX           0
+#define MAC_TSCR_TSENA_WIDTH           1
+#define MAC_TSCR_TSENALL_INDEX         8
+#define MAC_TSCR_TSENALL_WIDTH         1
+#define MAC_TSCR_TSEVNTENA_INDEX       14
+#define MAC_TSCR_TSEVNTENA_WIDTH       1
+#define MAC_TSCR_TSINIT_INDEX          2
+#define MAC_TSCR_TSINIT_WIDTH          1
+#define MAC_TSCR_TSIPENA_INDEX         11
+#define MAC_TSCR_TSIPENA_WIDTH         1
+#define MAC_TSCR_TSIPV4ENA_INDEX       13
+#define MAC_TSCR_TSIPV4ENA_WIDTH       1
+#define MAC_TSCR_TSIPV6ENA_INDEX       12
+#define MAC_TSCR_TSIPV6ENA_WIDTH       1
+#define MAC_TSCR_TSMSTRENA_INDEX       15
+#define MAC_TSCR_TSMSTRENA_WIDTH       1
+#define MAC_TSCR_TSVER2ENA_INDEX       10
+#define MAC_TSCR_TSVER2ENA_WIDTH       1
+#define MAC_TSCR_TXTSSTSM_INDEX                24
+#define MAC_TSCR_TXTSSTSM_WIDTH                1
+#define MAC_TSSR_TXTSC_INDEX           15
+#define MAC_TSSR_TXTSC_WIDTH           1
+#define MAC_TXSNR_TXTSSTSMIS_INDEX     31
+#define MAC_TXSNR_TXTSSTSMIS_WIDTH     1
+#define MAC_VLANHTR_VLHT_INDEX         0
+#define MAC_VLANHTR_VLHT_WIDTH         16
+#define MAC_VLANIR_VLTI_INDEX          20
+#define MAC_VLANIR_VLTI_WIDTH          1
+#define MAC_VLANIR_CSVL_INDEX          19
+#define MAC_VLANIR_CSVL_WIDTH          1
 #define MAC_VLANTR_DOVLTC_INDEX                20
 #define MAC_VLANTR_DOVLTC_WIDTH                1
 #define MAC_VLANTR_ERSVLM_INDEX                19
 #define MAC_VLANTR_ERSVLM_WIDTH                1
 #define MAC_VLANTR_ESVL_INDEX          18
 #define MAC_VLANTR_ESVL_WIDTH          1
+#define MAC_VLANTR_ETV_INDEX           16
+#define MAC_VLANTR_ETV_WIDTH           1
 #define MAC_VLANTR_EVLS_INDEX          21
 #define MAC_VLANTR_EVLS_WIDTH          2
 #define MAC_VLANTR_EVLRXS_INDEX                24
 #define MAC_VLANTR_EVLRXS_WIDTH                1
+#define MAC_VLANTR_VL_INDEX            0
+#define MAC_VLANTR_VL_WIDTH            16
+#define MAC_VLANTR_VTHM_INDEX          25
+#define MAC_VLANTR_VTHM_WIDTH          1
+#define MAC_VLANTR_VTIM_INDEX          17
+#define MAC_VLANTR_VTIM_WIDTH          1
 #define MAC_VR_DEVID_INDEX             8
 #define MAC_VR_DEVID_WIDTH             8
 #define MAC_VR_SNPSVER_INDEX           0
 
 #define MTL_RQDCM_INC                  4
 #define MTL_RQDCM_Q_PER_REG            4
+#define MTL_TCPM_INC                   4
+#define MTL_TCPM_TC_PER_REG            4
 
 /* MTL register entry bit positions and sizes */
 #define MTL_OMR_ETSALG_INDEX           5
 #define MTL_Q_TQOMR                    0x00
 #define MTL_Q_TQUR                     0x04
 #define MTL_Q_TQDR                     0x08
-#define MTL_Q_TCECR                    0x10
-#define MTL_Q_TCESR                    0x14
-#define MTL_Q_TCQWR                    0x18
 #define MTL_Q_RQOMR                    0x40
 #define MTL_Q_RQMPOCR                  0x44
 #define MTL_Q_RQDR                     0x4c
 #define MTL_Q_ISR                      0x74
 
 /* MTL queue register entry bit positions and sizes */
-#define MTL_Q_TCQWR_QW_INDEX           0
-#define MTL_Q_TCQWR_QW_WIDTH           21
 #define MTL_Q_RQOMR_EHFC_INDEX         7
 #define MTL_Q_RQOMR_EHFC_WIDTH         1
 #define MTL_Q_RQOMR_RFA_INDEX          8
 #define MTL_Q_RQOMR_RTC_WIDTH          2
 #define MTL_Q_TQOMR_FTQ_INDEX          0
 #define MTL_Q_TQOMR_FTQ_WIDTH          1
+#define MTL_Q_TQOMR_Q2TCMAP_INDEX      8
+#define MTL_Q_TQOMR_Q2TCMAP_WIDTH      3
 #define MTL_Q_TQOMR_TQS_INDEX          16
 #define MTL_Q_TQOMR_TQS_WIDTH          10
 #define MTL_Q_TQOMR_TSF_INDEX          1
 #define MTL_TC_INC                     MTL_Q_INC
 
 #define MTL_TC_ETSCR                   0x10
+#define MTL_TC_ETSSR                   0x14
+#define MTL_TC_QWR                     0x18
 
 /* MTL traffic class register entry bit positions and sizes */
 #define MTL_TC_ETSCR_TSA_INDEX         0
 #define MTL_TC_ETSCR_TSA_WIDTH         2
+#define MTL_TC_QWR_QW_INDEX            0
+#define MTL_TC_QWR_QW_WIDTH            21
 
 /* MTL traffic class register value */
 #define MTL_TSA_SP                     0x00
 #define RX_PACKET_ATTRIBUTES_VLAN_CTAG_WIDTH   1
 #define RX_PACKET_ATTRIBUTES_INCOMPLETE_INDEX  2
 #define RX_PACKET_ATTRIBUTES_INCOMPLETE_WIDTH  1
+#define RX_PACKET_ATTRIBUTES_CONTEXT_NEXT_INDEX        3
+#define RX_PACKET_ATTRIBUTES_CONTEXT_NEXT_WIDTH        1
+#define RX_PACKET_ATTRIBUTES_CONTEXT_INDEX     4
+#define RX_PACKET_ATTRIBUTES_CONTEXT_WIDTH     1
+#define RX_PACKET_ATTRIBUTES_RX_TSTAMP_INDEX   5
+#define RX_PACKET_ATTRIBUTES_RX_TSTAMP_WIDTH   1
 
 #define RX_NORMAL_DESC0_OVT_INDEX              0
 #define RX_NORMAL_DESC0_OVT_WIDTH              16
+#define RX_NORMAL_DESC3_CDA_INDEX              27
+#define RX_NORMAL_DESC3_CDA_WIDTH              1
+#define RX_NORMAL_DESC3_CTXT_INDEX             30
+#define RX_NORMAL_DESC3_CTXT_WIDTH             1
 #define RX_NORMAL_DESC3_ES_INDEX               15
 #define RX_NORMAL_DESC3_ES_WIDTH               1
 #define RX_NORMAL_DESC3_ETLT_INDEX             16
 #define RX_NORMAL_DESC3_PL_INDEX               0
 #define RX_NORMAL_DESC3_PL_WIDTH               14
 
+#define RX_CONTEXT_DESC3_TSA_INDEX             4
+#define RX_CONTEXT_DESC3_TSA_WIDTH             1
+#define RX_CONTEXT_DESC3_TSD_INDEX             6
+#define RX_CONTEXT_DESC3_TSD_WIDTH             1
+
 #define TX_PACKET_ATTRIBUTES_CSUM_ENABLE_INDEX 0
 #define TX_PACKET_ATTRIBUTES_CSUM_ENABLE_WIDTH 1
 #define TX_PACKET_ATTRIBUTES_TSO_ENABLE_INDEX  1
 #define TX_PACKET_ATTRIBUTES_TSO_ENABLE_WIDTH  1
 #define TX_PACKET_ATTRIBUTES_VLAN_CTAG_INDEX   2
 #define TX_PACKET_ATTRIBUTES_VLAN_CTAG_WIDTH   1
+#define TX_PACKET_ATTRIBUTES_PTP_INDEX         3
+#define TX_PACKET_ATTRIBUTES_PTP_WIDTH         1
 
 #define TX_CONTEXT_DESC2_MSS_INDEX             0
 #define TX_CONTEXT_DESC2_MSS_WIDTH             15
 #define TX_NORMAL_DESC2_HL_B1L_WIDTH           14
 #define TX_NORMAL_DESC2_IC_INDEX               31
 #define TX_NORMAL_DESC2_IC_WIDTH               1
+#define TX_NORMAL_DESC2_TTSE_INDEX             30
+#define TX_NORMAL_DESC2_TTSE_WIDTH             1
 #define TX_NORMAL_DESC2_VTIR_INDEX             14
 #define TX_NORMAL_DESC2_VTIR_WIDTH             2
 #define TX_NORMAL_DESC3_CIC_INDEX              16