aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2011-03-31 05:36:24 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-04-27 05:08:50 -0400
commit83dfde405322320d538b7087ba741fc9a4780161 (patch)
tree8ee658425f9c458e581445d44db2df38dc865535 /drivers/net/ixgbe
parent50c022e7936354d854091ebdc699872d3432e874 (diff)
ixgbe: register defines cleanup
Remove duplicates. Fix incorrect defines. Fix/Update comments. Fix whitespace. Add new register defines. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Evan Swanson <evan.swanson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r--drivers/net/ixgbe/ixgbe_mbx.h3
-rw-r--r--drivers/net/ixgbe/ixgbe_type.h189
2 files changed, 125 insertions, 67 deletions
diff --git a/drivers/net/ixgbe/ixgbe_mbx.h b/drivers/net/ixgbe/ixgbe_mbx.h
index fe6ea81dc7f8..f53dc5bb28b7 100644
--- a/drivers/net/ixgbe/ixgbe_mbx.h
+++ b/drivers/net/ixgbe/ixgbe_mbx.h
@@ -36,9 +36,6 @@
36#define IXGBE_VFMAILBOX 0x002FC 36#define IXGBE_VFMAILBOX 0x002FC
37#define IXGBE_VFMBMEM 0x00200 37#define IXGBE_VFMBMEM 0x00200
38 38
39#define IXGBE_PFMAILBOX(x) (0x04B00 + (4 * x))
40#define IXGBE_PFMBMEM(vfn) (0x13000 + (64 * vfn))
41
42#define IXGBE_PFMAILBOX_STS 0x00000001 /* Initiate message send to VF */ 39#define IXGBE_PFMAILBOX_STS 0x00000001 /* Initiate message send to VF */
43#define IXGBE_PFMAILBOX_ACK 0x00000002 /* Ack message recv'd from VF */ 40#define IXGBE_PFMAILBOX_ACK 0x00000002 /* Ack message recv'd from VF */
44#define IXGBE_PFMAILBOX_VFU 0x00000004 /* VF owns the mailbox buffer */ 41#define IXGBE_PFMAILBOX_VFU 0x00000004 /* VF owns the mailbox buffer */
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index f5bec9754c00..fab9737c0d61 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -164,6 +164,9 @@
164 (0x0D018 + ((_i - 64) * 0x40))) 164 (0x0D018 + ((_i - 64) * 0x40)))
165#define IXGBE_RXDCTL(_i) (((_i) < 64) ? (0x01028 + ((_i) * 0x40)) : \ 165#define IXGBE_RXDCTL(_i) (((_i) < 64) ? (0x01028 + ((_i) * 0x40)) : \
166 (0x0D028 + ((_i - 64) * 0x40))) 166 (0x0D028 + ((_i - 64) * 0x40)))
167#define IXGBE_RSCCTL(_i) (((_i) < 64) ? (0x0102C + ((_i) * 0x40)) : \
168 (0x0D02C + ((_i - 64) * 0x40)))
169#define IXGBE_RSCDBU 0x03028
167#define IXGBE_RDDCC 0x02F20 170#define IXGBE_RDDCC 0x02F20
168#define IXGBE_RXMEMWRAP 0x03190 171#define IXGBE_RXMEMWRAP 0x03190
169#define IXGBE_STARCTRL 0x03024 172#define IXGBE_STARCTRL 0x03024
@@ -228,17 +231,23 @@
228#define IXGBE_VLVF(_i) (0x0F100 + ((_i) * 4)) /* 64 of these (0-63) */ 231#define IXGBE_VLVF(_i) (0x0F100 + ((_i) * 4)) /* 64 of these (0-63) */
229#define IXGBE_VLVFB(_i) (0x0F200 + ((_i) * 4)) /* 128 of these (0-127) */ 232#define IXGBE_VLVFB(_i) (0x0F200 + ((_i) * 4)) /* 128 of these (0-127) */
230#define IXGBE_VMVIR(_i) (0x08000 + ((_i) * 4)) /* 64 of these (0-63) */ 233#define IXGBE_VMVIR(_i) (0x08000 + ((_i) * 4)) /* 64 of these (0-63) */
231#define IXGBE_VT_CTL 0x051B0 234#define IXGBE_VT_CTL 0x051B0
232#define IXGBE_VFRE(_i) (0x051E0 + ((_i) * 4)) 235#define IXGBE_PFMAILBOX(_i) (0x04B00 + (4 * (_i))) /* 64 total */
233#define IXGBE_VFTE(_i) (0x08110 + ((_i) * 4)) 236#define IXGBE_PFMBMEM(_i) (0x13000 + (64 * (_i))) /* 64 Mailboxes, 16 DW each */
234#define IXGBE_VMECM(_i) (0x08790 + ((_i) * 4)) 237#define IXGBE_PFMBICR(_i) (0x00710 + (4 * (_i))) /* 4 total */
235#define IXGBE_QDE 0x2F04 238#define IXGBE_PFMBIMR(_i) (0x00720 + (4 * (_i))) /* 4 total */
236#define IXGBE_VMOLR(_i) (0x0F000 + ((_i) * 4)) /* 64 total */ 239#define IXGBE_VFRE(_i) (0x051E0 + ((_i) * 4))
237#define IXGBE_UTA(_i) (0x0F400 + ((_i) * 4)) 240#define IXGBE_VFTE(_i) (0x08110 + ((_i) * 4))
238#define IXGBE_VMRCTL(_i) (0x0F600 + ((_i) * 4)) 241#define IXGBE_VMECM(_i) (0x08790 + ((_i) * 4))
239#define IXGBE_VMRVLAN(_i) (0x0F610 + ((_i) * 4)) 242#define IXGBE_QDE 0x2F04
240#define IXGBE_VMRVM(_i) (0x0F630 + ((_i) * 4)) 243#define IXGBE_VMTXSW(_i) (0x05180 + ((_i) * 4)) /* 2 total */
241#define IXGBE_L34T_IMIR(_i) (0x0E800 + ((_i) * 4)) /*128 of these (0-127)*/ 244#define IXGBE_VMOLR(_i) (0x0F000 + ((_i) * 4)) /* 64 total */
245#define IXGBE_UTA(_i) (0x0F400 + ((_i) * 4))
246#define IXGBE_MRCTL(_i) (0x0F600 + ((_i) * 4))
247#define IXGBE_VMRVLAN(_i) (0x0F610 + ((_i) * 4))
248#define IXGBE_VMRVM(_i) (0x0F630 + ((_i) * 4))
249#define IXGBE_L34T_IMIR(_i) (0x0E800 + ((_i) * 4)) /*128 of these (0-127)*/
250#define IXGBE_RXFECCERR0 0x051B8
242#define IXGBE_LLITHRESH 0x0EC90 251#define IXGBE_LLITHRESH 0x0EC90
243#define IXGBE_IMIR(_i) (0x05A80 + ((_i) * 4)) /* 8 of these (0-7) */ 252#define IXGBE_IMIR(_i) (0x05A80 + ((_i) * 4)) /* 8 of these (0-7) */
244#define IXGBE_IMIREXT(_i) (0x05AA0 + ((_i) * 4)) /* 8 of these (0-7) */ 253#define IXGBE_IMIREXT(_i) (0x05AA0 + ((_i) * 4)) /* 8 of these (0-7) */
@@ -365,7 +374,7 @@
365#define IXGBE_WUFC_FLX5 0x00200000 /* Flexible Filter 5 Enable */ 374#define IXGBE_WUFC_FLX5 0x00200000 /* Flexible Filter 5 Enable */
366#define IXGBE_WUFC_FLX_FILTERS 0x000F0000 /* Mask for 4 flex filters */ 375#define IXGBE_WUFC_FLX_FILTERS 0x000F0000 /* Mask for 4 flex filters */
367#define IXGBE_WUFC_EXT_FLX_FILTERS 0x00300000 /* Mask for Ext. flex filters */ 376#define IXGBE_WUFC_EXT_FLX_FILTERS 0x00300000 /* Mask for Ext. flex filters */
368#define IXGBE_WUFC_ALL_FILTERS 0x003F00FF /* Mask for all 6 wakeup filters*/ 377#define IXGBE_WUFC_ALL_FILTERS 0x003F00FF /* Mask for all wakeup filters */
369#define IXGBE_WUFC_FLX_OFFSET 16 /* Offset to the Flexible Filters bits */ 378#define IXGBE_WUFC_FLX_OFFSET 16 /* Offset to the Flexible Filters bits */
370 379
371/* Wake Up Status */ 380/* Wake Up Status */
@@ -407,7 +416,6 @@
407#define IXGBE_SECTXSTAT 0x08804 416#define IXGBE_SECTXSTAT 0x08804
408#define IXGBE_SECTXBUFFAF 0x08808 417#define IXGBE_SECTXBUFFAF 0x08808
409#define IXGBE_SECTXMINIFG 0x08810 418#define IXGBE_SECTXMINIFG 0x08810
410#define IXGBE_SECTXSTAT 0x08804
411#define IXGBE_SECRXCTRL 0x08D00 419#define IXGBE_SECRXCTRL 0x08D00
412#define IXGBE_SECRXSTAT 0x08D04 420#define IXGBE_SECRXSTAT 0x08D04
413 421
@@ -500,21 +508,6 @@
500 508
501#define IXGBE_SECTXCTRL_STORE_FORWARD_ENABLE 0x4 509#define IXGBE_SECTXCTRL_STORE_FORWARD_ENABLE 0x4
502 510
503/* HW RSC registers */
504#define IXGBE_RSCCTL(_i) (((_i) < 64) ? (0x0102C + ((_i) * 0x40)) : \
505 (0x0D02C + ((_i - 64) * 0x40)))
506#define IXGBE_RSCDBU 0x03028
507#define IXGBE_RSCCTL_RSCEN 0x01
508#define IXGBE_RSCCTL_MAXDESC_1 0x00
509#define IXGBE_RSCCTL_MAXDESC_4 0x04
510#define IXGBE_RSCCTL_MAXDESC_8 0x08
511#define IXGBE_RSCCTL_MAXDESC_16 0x0C
512#define IXGBE_RXDADV_RSCCNT_SHIFT 17
513#define IXGBE_GPIE_RSC_DELAY_SHIFT 11
514#define IXGBE_RXDADV_RSCCNT_MASK 0x001E0000
515#define IXGBE_RSCDBU_RSCACKDIS 0x00000080
516#define IXGBE_RDRXCTL_RSCFRSTSIZE 0x003E0000
517
518/* DCB registers */ 511/* DCB registers */
519#define IXGBE_RTRPCS 0x02430 512#define IXGBE_RTRPCS 0x02430
520#define IXGBE_RTTDCS 0x04900 513#define IXGBE_RTTDCS 0x04900
@@ -523,6 +516,7 @@
523#define IXGBE_RTRUP2TC 0x03020 516#define IXGBE_RTRUP2TC 0x03020
524#define IXGBE_RTTUP2TC 0x0C800 517#define IXGBE_RTTUP2TC 0x0C800
525#define IXGBE_RTRPT4C(_i) (0x02140 + ((_i) * 4)) /* 8 of these (0-7) */ 518#define IXGBE_RTRPT4C(_i) (0x02140 + ((_i) * 4)) /* 8 of these (0-7) */
519#define IXGBE_TXLLQ(_i) (0x082E0 + ((_i) * 4)) /* 4 of these (0-3) */
526#define IXGBE_RTRPT4S(_i) (0x02160 + ((_i) * 4)) /* 8 of these (0-7) */ 520#define IXGBE_RTRPT4S(_i) (0x02160 + ((_i) * 4)) /* 8 of these (0-7) */
527#define IXGBE_RTTDT2C(_i) (0x04910 + ((_i) * 4)) /* 8 of these (0-7) */ 521#define IXGBE_RTTDT2C(_i) (0x04910 + ((_i) * 4)) /* 8 of these (0-7) */
528#define IXGBE_RTTDT2S(_i) (0x04930 + ((_i) * 4)) /* 8 of these (0-7) */ 522#define IXGBE_RTTDT2S(_i) (0x04930 + ((_i) * 4)) /* 8 of these (0-7) */
@@ -541,7 +535,7 @@
541 (IXGBE_RTTBCNRC_RF_DEC_MASK << IXGBE_RTTBCNRC_RF_INT_SHIFT) 535 (IXGBE_RTTBCNRC_RF_DEC_MASK << IXGBE_RTTBCNRC_RF_INT_SHIFT)
542 536
543 537
544/* FCoE registers */ 538/* FCoE DMA Context Registers */
545#define IXGBE_FCPTRL 0x02410 /* FC User Desc. PTR Low */ 539#define IXGBE_FCPTRL 0x02410 /* FC User Desc. PTR Low */
546#define IXGBE_FCPTRH 0x02414 /* FC USer Desc. PTR High */ 540#define IXGBE_FCPTRH 0x02414 /* FC USer Desc. PTR High */
547#define IXGBE_FCBUFF 0x02418 /* FC Buffer Control */ 541#define IXGBE_FCBUFF 0x02418 /* FC Buffer Control */
@@ -743,17 +737,10 @@
743#define IXGBE_PBACLR_82599 0x11068 737#define IXGBE_PBACLR_82599 0x11068
744#define IXGBE_CIAA_82599 0x11088 738#define IXGBE_CIAA_82599 0x11088
745#define IXGBE_CIAD_82599 0x1108C 739#define IXGBE_CIAD_82599 0x1108C
746#define IXGBE_PCIE_DIAG_0_82599 0x11090 740#define IXGBE_PICAUSE 0x110B0
747#define IXGBE_PCIE_DIAG_1_82599 0x11094 741#define IXGBE_PIENA 0x110B8
748#define IXGBE_PCIE_DIAG_2_82599 0x11098
749#define IXGBE_PCIE_DIAG_3_82599 0x1109C
750#define IXGBE_PCIE_DIAG_4_82599 0x110A0
751#define IXGBE_PCIE_DIAG_5_82599 0x110A4
752#define IXGBE_PCIE_DIAG_6_82599 0x110A8
753#define IXGBE_PCIE_DIAG_7_82599 0x110C0
754#define IXGBE_INTRPT_CSR_82599 0x110B0
755#define IXGBE_INTRPT_MASK_82599 0x110B8
756#define IXGBE_CDQ_MBR_82599 0x110B4 742#define IXGBE_CDQ_MBR_82599 0x110B4
743#define IXGBE_PCIESPARE 0x110BC
757#define IXGBE_MISC_REG_82599 0x110F0 744#define IXGBE_MISC_REG_82599 0x110F0
758#define IXGBE_ECC_CTRL_0_82599 0x11100 745#define IXGBE_ECC_CTRL_0_82599 0x11100
759#define IXGBE_ECC_CTRL_1_82599 0x11104 746#define IXGBE_ECC_CTRL_1_82599 0x11104
@@ -786,7 +773,19 @@
786#define IXGBE_SYSTIML 0x08C0C /* System time register Low - RO */ 773#define IXGBE_SYSTIML 0x08C0C /* System time register Low - RO */
787#define IXGBE_SYSTIMH 0x08C10 /* System time register High - RO */ 774#define IXGBE_SYSTIMH 0x08C10 /* System time register High - RO */
788#define IXGBE_TIMINCA 0x08C14 /* Increment attributes register - RW */ 775#define IXGBE_TIMINCA 0x08C14 /* Increment attributes register - RW */
789#define IXGBE_RXUDP 0x08C1C /* Time Sync Rx UDP Port - RW */ 776#define IXGBE_TIMADJL 0x08C18 /* Time Adjustment Offset register Low - RW */
777#define IXGBE_TIMADJH 0x08C1C /* Time Adjustment Offset register High - RW */
778#define IXGBE_TSAUXC 0x08C20 /* TimeSync Auxiliary Control register - RW */
779#define IXGBE_TRGTTIML0 0x08C24 /* Target Time Register 0 Low - RW */
780#define IXGBE_TRGTTIMH0 0x08C28 /* Target Time Register 0 High - RW */
781#define IXGBE_TRGTTIML1 0x08C2C /* Target Time Register 1 Low - RW */
782#define IXGBE_TRGTTIMH1 0x08C30 /* Target Time Register 1 High - RW */
783#define IXGBE_FREQOUT0 0x08C34 /* Frequency Out 0 Control register - RW */
784#define IXGBE_FREQOUT1 0x08C38 /* Frequency Out 1 Control register - RW */
785#define IXGBE_AUXSTMPL0 0x08C3C /* Auxiliary Time Stamp 0 register Low - RO */
786#define IXGBE_AUXSTMPH0 0x08C40 /* Auxiliary Time Stamp 0 register High - RO */
787#define IXGBE_AUXSTMPL1 0x08C44 /* Auxiliary Time Stamp 1 register Low - RO */
788#define IXGBE_AUXSTMPH1 0x08C48 /* Auxiliary Time Stamp 1 register High - RO */
790 789
791/* Diagnostic Registers */ 790/* Diagnostic Registers */
792#define IXGBE_RDSTATCTL 0x02C20 791#define IXGBE_RDSTATCTL 0x02C20
@@ -830,8 +829,20 @@
830#define IXGBE_TXDATARDPTR(_i) (0x0C720 + ((_i) * 4)) /* 8 of these C720-C72C*/ 829#define IXGBE_TXDATARDPTR(_i) (0x0C720 + ((_i) * 4)) /* 8 of these C720-C72C*/
831#define IXGBE_TXDESCRDPTR(_i) (0x0C730 + ((_i) * 4)) /* 8 of these C730-C73C*/ 830#define IXGBE_TXDESCRDPTR(_i) (0x0C730 + ((_i) * 4)) /* 8 of these C730-C73C*/
832#define IXGBE_PCIEECCCTL 0x1106C 831#define IXGBE_PCIEECCCTL 0x1106C
832#define IXGBE_RXWRPTR(_i) (0x03100 + ((_i) * 4)) /* 8 of these 3100-310C*/
833#define IXGBE_RXUSED(_i) (0x03120 + ((_i) * 4)) /* 8 of these 3120-312C*/
834#define IXGBE_RXRDPTR(_i) (0x03140 + ((_i) * 4)) /* 8 of these 3140-314C*/
835#define IXGBE_RXRDWRPTR(_i) (0x03160 + ((_i) * 4)) /* 8 of these 3160-310C*/
836#define IXGBE_TXWRPTR(_i) (0x0C100 + ((_i) * 4)) /* 8 of these C100-C10C*/
837#define IXGBE_TXUSED(_i) (0x0C120 + ((_i) * 4)) /* 8 of these C120-C12C*/
838#define IXGBE_TXRDPTR(_i) (0x0C140 + ((_i) * 4)) /* 8 of these C140-C14C*/
839#define IXGBE_TXRDWRPTR(_i) (0x0C160 + ((_i) * 4)) /* 8 of these C160-C10C*/
833#define IXGBE_PCIEECCCTL0 0x11100 840#define IXGBE_PCIEECCCTL0 0x11100
834#define IXGBE_PCIEECCCTL1 0x11104 841#define IXGBE_PCIEECCCTL1 0x11104
842#define IXGBE_RXDBUECC 0x03F70
843#define IXGBE_TXDBUECC 0x0CF70
844#define IXGBE_RXDBUEST 0x03F74
845#define IXGBE_TXDBUEST 0x0CF74
835#define IXGBE_PBTXECC 0x0C300 846#define IXGBE_PBTXECC 0x0C300
836#define IXGBE_PBRXECC 0x03300 847#define IXGBE_PBRXECC 0x03300
837#define IXGBE_GHECCR 0x110B0 848#define IXGBE_GHECCR 0x110B0
@@ -872,6 +883,7 @@
872#define IXGBE_AUTOC3 0x042AC 883#define IXGBE_AUTOC3 0x042AC
873#define IXGBE_ANLP1 0x042B0 884#define IXGBE_ANLP1 0x042B0
874#define IXGBE_ANLP2 0x042B4 885#define IXGBE_ANLP2 0x042B4
886#define IXGBE_MACC 0x04330
875#define IXGBE_ATLASCTL 0x04800 887#define IXGBE_ATLASCTL 0x04800
876#define IXGBE_MMNGC 0x042D0 888#define IXGBE_MMNGC 0x042D0
877#define IXGBE_ANLPNP1 0x042D4 889#define IXGBE_ANLPNP1 0x042D4
@@ -884,14 +896,49 @@
884#define IXGBE_MPVC 0x04318 896#define IXGBE_MPVC 0x04318
885#define IXGBE_SGMIIC 0x04314 897#define IXGBE_SGMIIC 0x04314
886 898
899/* Statistics Registers */
900#define IXGBE_RXNFGPC 0x041B0
901#define IXGBE_RXNFGBCL 0x041B4
902#define IXGBE_RXNFGBCH 0x041B8
903#define IXGBE_RXDGPC 0x02F50
904#define IXGBE_RXDGBCL 0x02F54
905#define IXGBE_RXDGBCH 0x02F58
906#define IXGBE_RXDDGPC 0x02F5C
907#define IXGBE_RXDDGBCL 0x02F60
908#define IXGBE_RXDDGBCH 0x02F64
909#define IXGBE_RXLPBKGPC 0x02F68
910#define IXGBE_RXLPBKGBCL 0x02F6C
911#define IXGBE_RXLPBKGBCH 0x02F70
912#define IXGBE_RXDLPBKGPC 0x02F74
913#define IXGBE_RXDLPBKGBCL 0x02F78
914#define IXGBE_RXDLPBKGBCH 0x02F7C
915#define IXGBE_TXDGPC 0x087A0
916#define IXGBE_TXDGBCL 0x087A4
917#define IXGBE_TXDGBCH 0x087A8
918
919#define IXGBE_RXDSTATCTRL 0x02F40
920
921/* Copper Pond 2 link timeout */
887#define IXGBE_VALIDATE_LINK_READY_TIMEOUT 50 922#define IXGBE_VALIDATE_LINK_READY_TIMEOUT 50
888 923
889/* Omer CORECTL */ 924/* Omer CORECTL */
890#define IXGBE_CORECTL 0x014F00 925#define IXGBE_CORECTL 0x014F00
891/* BARCTRL */ 926/* BARCTRL */
892#define IXGBE_BARCTRL 0x110F4 927#define IXGBE_BARCTRL 0x110F4
893#define IXGBE_BARCTRL_FLSIZE 0x0700 928#define IXGBE_BARCTRL_FLSIZE 0x0700
894#define IXGBE_BARCTRL_CSRSIZE 0x2000 929#define IXGBE_BARCTRL_FLSIZE_SHIFT 8
930#define IXGBE_BARCTRL_CSRSIZE 0x2000
931
932/* RSCCTL Bit Masks */
933#define IXGBE_RSCCTL_RSCEN 0x01
934#define IXGBE_RSCCTL_MAXDESC_1 0x00
935#define IXGBE_RSCCTL_MAXDESC_4 0x04
936#define IXGBE_RSCCTL_MAXDESC_8 0x08
937#define IXGBE_RSCCTL_MAXDESC_16 0x0C
938
939/* RSCDBU Bit Masks */
940#define IXGBE_RSCDBU_RSCSMALDIS_MASK 0x0000007F
941#define IXGBE_RSCDBU_RSCACKDIS 0x00000080
895 942
896/* RDRXCTL Bit Masks */ 943/* RDRXCTL Bit Masks */
897#define IXGBE_RDRXCTL_RDMTS_1_2 0x00000000 /* Rx Desc Min Threshold Size */ 944#define IXGBE_RDRXCTL_RDMTS_1_2 0x00000000 /* Rx Desc Min Threshold Size */
@@ -899,6 +946,8 @@
899#define IXGBE_RDRXCTL_MVMEN 0x00000020 946#define IXGBE_RDRXCTL_MVMEN 0x00000020
900#define IXGBE_RDRXCTL_DMAIDONE 0x00000008 /* DMA init cycle done */ 947#define IXGBE_RDRXCTL_DMAIDONE 0x00000008 /* DMA init cycle done */
901#define IXGBE_RDRXCTL_AGGDIS 0x00010000 /* Aggregation disable */ 948#define IXGBE_RDRXCTL_AGGDIS 0x00010000 /* Aggregation disable */
949#define IXGBE_RDRXCTL_RSCFRSTSIZE 0x003E0000 /* RSC First packet size */
950#define IXGBE_RDRXCTL_RSCLLIDIS 0x00800000 /* Disable RSC compl on LLI */
902#define IXGBE_RDRXCTL_RSCACKC 0x02000000 /* must set 1 when RSC enabled */ 951#define IXGBE_RDRXCTL_RSCACKC 0x02000000 /* must set 1 when RSC enabled */
903#define IXGBE_RDRXCTL_FCOE_WRFIX 0x04000000 /* must set 1 when RSC enabled */ 952#define IXGBE_RDRXCTL_FCOE_WRFIX 0x04000000 /* must set 1 when RSC enabled */
904 953
@@ -970,8 +1019,8 @@
970#define IXGBE_MSCA_OP_CODE_SHIFT 26 /* OP CODE shift */ 1019#define IXGBE_MSCA_OP_CODE_SHIFT 26 /* OP CODE shift */
971#define IXGBE_MSCA_ADDR_CYCLE 0x00000000 /* OP CODE 00 (addr cycle) */ 1020#define IXGBE_MSCA_ADDR_CYCLE 0x00000000 /* OP CODE 00 (addr cycle) */
972#define IXGBE_MSCA_WRITE 0x04000000 /* OP CODE 01 (write) */ 1021#define IXGBE_MSCA_WRITE 0x04000000 /* OP CODE 01 (write) */
973#define IXGBE_MSCA_READ 0x08000000 /* OP CODE 10 (read) */ 1022#define IXGBE_MSCA_READ 0x0C000000 /* OP CODE 11 (read) */
974#define IXGBE_MSCA_READ_AUTOINC 0x0C000000 /* OP CODE 11 (read, auto inc)*/ 1023#define IXGBE_MSCA_READ_AUTOINC 0x08000000 /* OP CODE 10 (read, auto inc)*/
975#define IXGBE_MSCA_ST_CODE_MASK 0x30000000 /* ST Code mask */ 1024#define IXGBE_MSCA_ST_CODE_MASK 0x30000000 /* ST Code mask */
976#define IXGBE_MSCA_ST_CODE_SHIFT 28 /* ST Code shift */ 1025#define IXGBE_MSCA_ST_CODE_SHIFT 28 /* ST Code shift */
977#define IXGBE_MSCA_NEW_PROTOCOL 0x00000000 /* ST CODE 00 (new protocol) */ 1026#define IXGBE_MSCA_NEW_PROTOCOL 0x00000000 /* ST CODE 00 (new protocol) */
@@ -1058,6 +1107,7 @@
1058#define IXGBE_GPIE_EIMEN 0x00000040 /* Immediate Interrupt Enable */ 1107#define IXGBE_GPIE_EIMEN 0x00000040 /* Immediate Interrupt Enable */
1059#define IXGBE_GPIE_EIAME 0x40000000 1108#define IXGBE_GPIE_EIAME 0x40000000
1060#define IXGBE_GPIE_PBA_SUPPORT 0x80000000 1109#define IXGBE_GPIE_PBA_SUPPORT 0x80000000
1110#define IXGBE_GPIE_RSC_DELAY_SHIFT 11
1061#define IXGBE_GPIE_VTMODE_MASK 0x0000C000 /* VT Mode Mask */ 1111#define IXGBE_GPIE_VTMODE_MASK 0x0000C000 /* VT Mode Mask */
1062#define IXGBE_GPIE_VTMODE_16 0x00004000 /* 16 VFs 8 queues per VF */ 1112#define IXGBE_GPIE_VTMODE_16 0x00004000 /* 16 VFs 8 queues per VF */
1063#define IXGBE_GPIE_VTMODE_32 0x00008000 /* 32 VFs 4 queues per VF */ 1113#define IXGBE_GPIE_VTMODE_32 0x00008000 /* 32 VFs 4 queues per VF */
@@ -1292,6 +1342,11 @@
1292#define IXGBE_FTQF_POOL_SHIFT 8 1342#define IXGBE_FTQF_POOL_SHIFT 8
1293#define IXGBE_FTQF_5TUPLE_MASK_MASK 0x0000001F 1343#define IXGBE_FTQF_5TUPLE_MASK_MASK 0x0000001F
1294#define IXGBE_FTQF_5TUPLE_MASK_SHIFT 25 1344#define IXGBE_FTQF_5TUPLE_MASK_SHIFT 25
1345#define IXGBE_FTQF_SOURCE_ADDR_MASK 0x1E
1346#define IXGBE_FTQF_DEST_ADDR_MASK 0x1D
1347#define IXGBE_FTQF_SOURCE_PORT_MASK 0x1B
1348#define IXGBE_FTQF_DEST_PORT_MASK 0x17
1349#define IXGBE_FTQF_PROTOCOL_COMP_MASK 0x0F
1295#define IXGBE_FTQF_POOL_MASK_EN 0x40000000 1350#define IXGBE_FTQF_POOL_MASK_EN 0x40000000
1296#define IXGBE_FTQF_QUEUE_ENABLE 0x80000000 1351#define IXGBE_FTQF_QUEUE_ENABLE 0x80000000
1297 1352
@@ -1334,11 +1389,11 @@
1334 * 1389 *
1335 * Current filters: 1390 * Current filters:
1336 * EAPOL 802.1x (0x888e): Filter 0 1391 * EAPOL 802.1x (0x888e): Filter 0
1337 * BCN (0x8904): Filter 1 1392 * FCoE (0x8906): Filter 2
1338 * 1588 (0x88f7): Filter 3 1393 * 1588 (0x88f7): Filter 3
1394 * FIP (0x8914): Filter 4
1339 */ 1395 */
1340#define IXGBE_ETQF_FILTER_EAPOL 0 1396#define IXGBE_ETQF_FILTER_EAPOL 0
1341#define IXGBE_ETQF_FILTER_BCN 1
1342#define IXGBE_ETQF_FILTER_FCOE 2 1397#define IXGBE_ETQF_FILTER_FCOE 2
1343#define IXGBE_ETQF_FILTER_1588 3 1398#define IXGBE_ETQF_FILTER_1588 3
1344#define IXGBE_ETQF_FILTER_FIP 4 1399#define IXGBE_ETQF_FILTER_FIP 4
@@ -1449,6 +1504,11 @@
1449#define IXGBE_AUTOC2_10G_XFI (0x1 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT) 1504#define IXGBE_AUTOC2_10G_XFI (0x1 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT)
1450#define IXGBE_AUTOC2_10G_SFI (0x2 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT) 1505#define IXGBE_AUTOC2_10G_SFI (0x2 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT)
1451 1506
1507#define IXGBE_MACC_FLU 0x00000001
1508#define IXGBE_MACC_FSV_10G 0x00030000
1509#define IXGBE_MACC_FS 0x00040000
1510#define IXGBE_MAC_RX2TX_LPBK 0x00000002
1511
1452/* LINKS Bit Masks */ 1512/* LINKS Bit Masks */
1453#define IXGBE_LINKS_KX_AN_COMP 0x80000000 1513#define IXGBE_LINKS_KX_AN_COMP 0x80000000
1454#define IXGBE_LINKS_UP 0x40000000 1514#define IXGBE_LINKS_UP 0x40000000
@@ -1502,7 +1562,6 @@
1502#define IXGBE_ANLP1_ASM_PAUSE 0x0800 1562#define IXGBE_ANLP1_ASM_PAUSE 0x0800
1503#define IXGBE_ANLP1_AN_STATE_MASK 0x000f0000 1563#define IXGBE_ANLP1_AN_STATE_MASK 0x000f0000
1504 1564
1505
1506/* SW Semaphore Register bitmasks */ 1565/* SW Semaphore Register bitmasks */
1507#define IXGBE_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */ 1566#define IXGBE_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */
1508#define IXGBE_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */ 1567#define IXGBE_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */
@@ -1515,6 +1574,10 @@
1515#define IXGBE_GSSR_PHY1_SM 0x0004 1574#define IXGBE_GSSR_PHY1_SM 0x0004
1516#define IXGBE_GSSR_MAC_CSR_SM 0x0008 1575#define IXGBE_GSSR_MAC_CSR_SM 0x0008
1517#define IXGBE_GSSR_FLASH_SM 0x0010 1576#define IXGBE_GSSR_FLASH_SM 0x0010
1577#define IXGBE_GSSR_SW_MNG_SM 0x0400
1578
1579/* FW Status register bitmask */
1580#define IXGBE_FWSTS_FWRI 0x00000200 /* Firmware Reset Indication */
1518 1581
1519/* EEC Register */ 1582/* EEC Register */
1520#define IXGBE_EEC_SK 0x00000001 /* EEPROM Clock */ 1583#define IXGBE_EEC_SK 0x00000001 /* EEPROM Clock */
@@ -1535,6 +1598,7 @@
1535/* EEPROM Addressing bits based on type (0-small, 1-large) */ 1598/* EEPROM Addressing bits based on type (0-small, 1-large) */
1536#define IXGBE_EEC_ADDR_SIZE 0x00000400 1599#define IXGBE_EEC_ADDR_SIZE 0x00000400
1537#define IXGBE_EEC_SIZE 0x00007800 /* EEPROM Size */ 1600#define IXGBE_EEC_SIZE 0x00007800 /* EEPROM Size */
1601#define IXGBE_EERD_MAX_ADDR 0x00003FFF /* EERD alows 14 bits for addr. */
1538 1602
1539#define IXGBE_EEC_SIZE_SHIFT 11 1603#define IXGBE_EEC_SIZE_SHIFT 11
1540#define IXGBE_EEPROM_WORD_SIZE_SHIFT 6 1604#define IXGBE_EEPROM_WORD_SIZE_SHIFT 6
@@ -1564,8 +1628,10 @@
1564#define IXGBE_FW_PTR 0x0F 1628#define IXGBE_FW_PTR 0x0F
1565#define IXGBE_PBANUM0_PTR 0x15 1629#define IXGBE_PBANUM0_PTR 0x15
1566#define IXGBE_PBANUM1_PTR 0x16 1630#define IXGBE_PBANUM1_PTR 0x16
1567#define IXGBE_DEVICE_CAPS 0x2C 1631#define IXGBE_FREE_SPACE_PTR 0X3E
1568#define IXGBE_SAN_MAC_ADDR_PTR 0x28 1632#define IXGBE_SAN_MAC_ADDR_PTR 0x28
1633#define IXGBE_DEVICE_CAPS 0x2C
1634#define IXGBE_SERIAL_NUMBER_MAC_ADDR 0x11
1569#define IXGBE_PCIE_MSIX_82599_CAPS 0x72 1635#define IXGBE_PCIE_MSIX_82599_CAPS 0x72
1570#define IXGBE_PCIE_MSIX_82598_CAPS 0x62 1636#define IXGBE_PCIE_MSIX_82598_CAPS 0x62
1571 1637
@@ -1630,9 +1696,12 @@
1630#define IXGBE_FW_LESM_STATE_1 0x1 1696#define IXGBE_FW_LESM_STATE_1 0x1
1631#define IXGBE_FW_LESM_STATE_ENABLED 0x8000 /* LESM Enable bit */ 1697#define IXGBE_FW_LESM_STATE_ENABLED 0x8000 /* LESM Enable bit */
1632#define IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR 0x4 1698#define IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR 0x4
1633#define IXGBE_FW_PATCH_VERSION_4 0x7 1699#define IXGBE_FW_PATCH_VERSION_4 0x7
1634 1700#define IXGBE_FCOE_IBA_CAPS_BLK_PTR 0x33 /* iSCSI/FCOE block */
1635/* Alternative SAN MAC Address Block */ 1701#define IXGBE_FCOE_IBA_CAPS_FCOE 0x20 /* FCOE flags */
1702#define IXGBE_ISCSI_FCOE_BLK_PTR 0x17 /* iSCSI/FCOE block */
1703#define IXGBE_ISCSI_FCOE_FLAGS_OFFSET 0x0 /* FCOE flags */
1704#define IXGBE_ISCSI_FCOE_FLAGS_ENABLE 0x1 /* FCOE flags enable bit */
1636#define IXGBE_ALT_SAN_MAC_ADDR_BLK_PTR 0x27 /* Alt. SAN MAC block */ 1705#define IXGBE_ALT_SAN_MAC_ADDR_BLK_PTR 0x27 /* Alt. SAN MAC block */
1637#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_OFFSET 0x0 /* Alt. SAN MAC capability */ 1706#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_OFFSET 0x0 /* Alt. SAN MAC capability */
1638#define IXGBE_ALT_SAN_MAC_ADDR_PORT0_OFFSET 0x1 /* Alt. SAN MAC 0 offset */ 1707#define IXGBE_ALT_SAN_MAC_ADDR_PORT0_OFFSET 0x1 /* Alt. SAN MAC 0 offset */
@@ -1697,6 +1766,7 @@
1697/* Transmit Config masks */ 1766/* Transmit Config masks */
1698#define IXGBE_TXDCTL_ENABLE 0x02000000 /* Enable specific Tx Queue */ 1767#define IXGBE_TXDCTL_ENABLE 0x02000000 /* Enable specific Tx Queue */
1699#define IXGBE_TXDCTL_SWFLSH 0x04000000 /* Tx Desc. write-back flushing */ 1768#define IXGBE_TXDCTL_SWFLSH 0x04000000 /* Tx Desc. write-back flushing */
1769#define IXGBE_TXDCTL_WTHRESH_SHIFT 16 /* shift to WTHRESH bits */
1700/* Enable short packet padding to 64 bytes */ 1770/* Enable short packet padding to 64 bytes */
1701#define IXGBE_TX_PAD_ENABLE 0x00000400 1771#define IXGBE_TX_PAD_ENABLE 0x00000400
1702#define IXGBE_JUMBO_FRAME_ENABLE 0x00000004 /* Allow jumbo frames */ 1772#define IXGBE_JUMBO_FRAME_ENABLE 0x00000004 /* Allow jumbo frames */
@@ -1710,9 +1780,9 @@
1710#define IXGBE_RXCTRL_RXEN 0x00000001 /* Enable Receiver */ 1780#define IXGBE_RXCTRL_RXEN 0x00000001 /* Enable Receiver */
1711#define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */ 1781#define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */
1712#define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ 1782#define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */
1713#define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */
1714#define IXGBE_RXDCTL_RLPMLMASK 0x00003FFF /* Only supported on the X540 */ 1783#define IXGBE_RXDCTL_RLPMLMASK 0x00003FFF /* Only supported on the X540 */
1715#define IXGBE_RXDCTL_RLPML_EN 0x00008000 1784#define IXGBE_RXDCTL_RLPML_EN 0x00008000
1785#define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */
1716 1786
1717#define IXGBE_FCTRL_SBP 0x00000002 /* Store Bad Packet */ 1787#define IXGBE_FCTRL_SBP 0x00000002 /* Store Bad Packet */
1718#define IXGBE_FCTRL_MPE 0x00000100 /* Multicast Promiscuous Ena*/ 1788#define IXGBE_FCTRL_MPE 0x00000100 /* Multicast Promiscuous Ena*/
@@ -1870,6 +1940,8 @@
1870#define IXGBE_RXDADV_PKTTYPE_MASK 0x0000FFF0 1940#define IXGBE_RXDADV_PKTTYPE_MASK 0x0000FFF0
1871#define IXGBE_RXDADV_PKTTYPE_MASK_EX 0x0001FFF0 1941#define IXGBE_RXDADV_PKTTYPE_MASK_EX 0x0001FFF0
1872#define IXGBE_RXDADV_HDRBUFLEN_MASK 0x00007FE0 1942#define IXGBE_RXDADV_HDRBUFLEN_MASK 0x00007FE0
1943#define IXGBE_RXDADV_RSCCNT_MASK 0x001E0000
1944#define IXGBE_RXDADV_RSCCNT_SHIFT 17
1873#define IXGBE_RXDADV_HDRBUFLEN_SHIFT 5 1945#define IXGBE_RXDADV_HDRBUFLEN_SHIFT 5
1874#define IXGBE_RXDADV_SPLITHEADER_EN 0x00001000 1946#define IXGBE_RXDADV_SPLITHEADER_EN 0x00001000
1875#define IXGBE_RXDADV_SPH 0x8000 1947#define IXGBE_RXDADV_SPH 0x8000
@@ -1945,15 +2017,6 @@
1945#define IXGBE_VFLRE(_i) (((_i & 1) ? 0x001C0 : 0x00600)) 2017#define IXGBE_VFLRE(_i) (((_i & 1) ? 0x001C0 : 0x00600))
1946#define IXGBE_VFLREC(_i) (0x00700 + (_i * 4)) 2018#define IXGBE_VFLREC(_i) (0x00700 + (_i * 4))
1947 2019
1948/* Little Endian defines */
1949#ifndef __le32
1950#define __le32 u32
1951#endif
1952#ifndef __le64
1953#define __le64 u64
1954
1955#endif
1956
1957enum ixgbe_fdir_pballoc_type { 2020enum ixgbe_fdir_pballoc_type {
1958 IXGBE_FDIR_PBALLOC_64K = 0, 2021 IXGBE_FDIR_PBALLOC_64K = 0,
1959 IXGBE_FDIR_PBALLOC_128K, 2022 IXGBE_FDIR_PBALLOC_128K,
@@ -2152,8 +2215,6 @@ typedef u32 ixgbe_link_speed;
2152 IXGBE_LINK_SPEED_1GB_FULL | \ 2215 IXGBE_LINK_SPEED_1GB_FULL | \
2153 IXGBE_LINK_SPEED_10GB_FULL) 2216 IXGBE_LINK_SPEED_10GB_FULL)
2154 2217
2155#define IXGBE_PCIE_DEV_CTRL_2 0xC8
2156#define PCIE_COMPL_TO_VALUE 0x05
2157 2218
2158/* Physical layer type */ 2219/* Physical layer type */
2159typedef u32 ixgbe_physical_layer; 2220typedef u32 ixgbe_physical_layer;