]> err.no Git - linux-2.6/blobdiff - drivers/net/pasemi_mac.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
[linux-2.6] / drivers / net / pasemi_mac.h
index 5a896aa87a999e41277ba9d0335685283e643385..60368df72634cc3931399b9b6c57e38b82a279a7 100644 (file)
@@ -206,10 +206,16 @@ enum {
 #define    PAS_DMA_RXINT_RCMDSTA_DROPS_M       0xfffe0000
 #define    PAS_DMA_RXINT_RCMDSTA_DROPS_S       17
 #define PAS_DMA_RXINT_CFG(i)           (0x204+(i)*_PAS_DMA_RXINT_STRIDE)
+#define    PAS_DMA_RXINT_CFG_RBP       0x80000000
+#define    PAS_DMA_RXINT_CFG_ITRR      0x40000000
 #define    PAS_DMA_RXINT_CFG_DHL_M     0x07000000
 #define    PAS_DMA_RXINT_CFG_DHL_S     24
 #define    PAS_DMA_RXINT_CFG_DHL(x)    (((x) << PAS_DMA_RXINT_CFG_DHL_S) & \
                                         PAS_DMA_RXINT_CFG_DHL_M)
+#define    PAS_DMA_RXINT_CFG_ITR       0x00400000
+#define    PAS_DMA_RXINT_CFG_LW                0x00200000
+#define    PAS_DMA_RXINT_CFG_L2                0x00100000
+#define    PAS_DMA_RXINT_CFG_HEN       0x00080000
 #define    PAS_DMA_RXINT_CFG_WIF       0x00000002
 #define    PAS_DMA_RXINT_CFG_WIL       0x00000001
 
@@ -239,6 +245,10 @@ enum {
 #define    PAS_DMA_TXCHAN_TCMDSTA_EN   0x00000001      /* Enabled */
 #define    PAS_DMA_TXCHAN_TCMDSTA_ST   0x00000002      /* Stop interface */
 #define    PAS_DMA_TXCHAN_TCMDSTA_ACT  0x00010000      /* Active */
+#define    PAS_DMA_TXCHAN_TCMDSTA_SZ   0x00000800
+#define    PAS_DMA_TXCHAN_TCMDSTA_DB   0x00000400
+#define    PAS_DMA_TXCHAN_TCMDSTA_DE   0x00000200
+#define    PAS_DMA_TXCHAN_TCMDSTA_DA   0x00000100
 #define PAS_DMA_TXCHAN_CFG(c)     (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE)
 #define    PAS_DMA_TXCHAN_CFG_TY_IFACE 0x00000000      /* Type = interface */
 #define    PAS_DMA_TXCHAN_CFG_TATTR_M  0x0000003c
@@ -249,9 +259,11 @@ enum {
 #define    PAS_DMA_TXCHAN_CFG_WT_S     6
 #define    PAS_DMA_TXCHAN_CFG_WT(x)    (((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \
                                         PAS_DMA_TXCHAN_CFG_WT_M)
-#define    PAS_DMA_TXCHAN_CFG_CF       0x00001000      /* Clean first line */
-#define    PAS_DMA_TXCHAN_CFG_CL       0x00002000      /* Clean last line */
+#define    PAS_DMA_TXCHAN_CFG_TRD      0x00010000      /* translate data */
+#define    PAS_DMA_TXCHAN_CFG_TRR      0x00008000      /* translate rings */
 #define    PAS_DMA_TXCHAN_CFG_UP       0x00004000      /* update tx descr when sent */
+#define    PAS_DMA_TXCHAN_CFG_CL       0x00002000      /* Clean last line */
+#define    PAS_DMA_TXCHAN_CFG_CF       0x00001000      /* Clean first line */
 #define PAS_DMA_TXCHAN_INCR(c)    (0x310+(c)*_PAS_DMA_TXCHAN_STRIDE)
 #define PAS_DMA_TXCHAN_BASEL(c)   (0x318+(c)*_PAS_DMA_TXCHAN_STRIDE)
 #define    PAS_DMA_TXCHAN_BASEL_BRBL_M 0xffffffc0
@@ -281,7 +293,11 @@ enum {
 #define    PAS_DMA_RXCHAN_CCMDSTA_ST   0x00000002      /* Stop interface */
 #define    PAS_DMA_RXCHAN_CCMDSTA_ACT  0x00010000      /* Active */
 #define    PAS_DMA_RXCHAN_CCMDSTA_DU   0x00020000
+#define    PAS_DMA_RXCHAN_CCMDSTA_OD   0x00002000
+#define    PAS_DMA_RXCHAN_CCMDSTA_FD   0x00001000
+#define    PAS_DMA_RXCHAN_CCMDSTA_DT   0x00000800
 #define PAS_DMA_RXCHAN_CFG(c)     (0x804+(c)*_PAS_DMA_RXCHAN_STRIDE)
+#define    PAS_DMA_RXCHAN_CFG_CTR      0x00000400
 #define    PAS_DMA_RXCHAN_CFG_HBU_M    0x00000380
 #define    PAS_DMA_RXCHAN_CFG_HBU_S    7
 #define    PAS_DMA_RXCHAN_CFG_HBU(x)   (((x) << PAS_DMA_RXCHAN_CFG_HBU_S) & \
@@ -315,6 +331,12 @@ enum {
 #define    PAS_STATUS_SOFT             0x4000000000000000ull
 #define    PAS_STATUS_INT              0x8000000000000000ull
 
+#define PAS_IOB_COM_PKTHDRCNT          0x120
+#define    PAS_IOB_COM_PKTHDRCNT_PKTHDR1_M     0x0fff0000
+#define    PAS_IOB_COM_PKTHDRCNT_PKTHDR1_S     16
+#define    PAS_IOB_COM_PKTHDRCNT_PKTHDR0_M     0x00000fff
+#define    PAS_IOB_COM_PKTHDRCNT_PKTHDR0_S     0
+
 #define PAS_IOB_DMA_RXCH_CFG(i)                (0x1100 + (i)*4)
 #define    PAS_IOB_DMA_RXCH_CFG_CNTTH_M                0x00000fff
 #define    PAS_IOB_DMA_RXCH_CFG_CNTTH_S                0
@@ -410,10 +432,9 @@ enum {
 /* Receive descriptor fields */
 #define        XCT_MACRX_T             0x8000000000000000ull
 #define        XCT_MACRX_ST            0x4000000000000000ull
-#define XCT_MACRX_NORES                0x0000000000000000ull
-#define XCT_MACRX_8BRES                0x1000000000000000ull
-#define XCT_MACRX_24BRES       0x2000000000000000ull
-#define XCT_MACRX_40BRES       0x3000000000000000ull
+#define XCT_MACRX_RR_M         0x3000000000000000ull
+#define XCT_MACRX_RR_NORES     0x0000000000000000ull
+#define XCT_MACRX_RR_8BRES     0x1000000000000000ull
 #define XCT_MACRX_O            0x0400000000000000ull
 #define XCT_MACRX_E            0x0200000000000000ull
 #define XCT_MACRX_FF           0x0100000000000000ull
@@ -461,6 +482,17 @@ enum {
 #define XCT_PTR_ADDR(x)                ((((long)(x)) << XCT_PTR_ADDR_S) & \
                                 XCT_PTR_ADDR_M)
 
+/* Receive interface 8byte result fields */
+#define XCT_RXRES_8B_L4O_M     0xff00000000000000ull
+#define XCT_RXRES_8B_L4O_S     56
+#define XCT_RXRES_8B_RULE_M    0x00ffff0000000000ull
+#define XCT_RXRES_8B_RULE_S    40
+#define XCT_RXRES_8B_EVAL_M    0x000000ffff000000ull
+#define XCT_RXRES_8B_EVAL_S    24
+#define XCT_RXRES_8B_HTYPE_M   0x0000000000f00000ull
+#define XCT_RXRES_8B_HASH_M    0x00000000000fffffull
+#define XCT_RXRES_8B_HASH_S    0
+
 /* Receive interface buffer fields */
 #define XCT_RXB_LEN_M          0x0ffff00000000000ull
 #define XCT_RXB_LEN_S          44