Lines Matching +full:rx +full:- +full:enable
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 1999 - 2006 Intel Corporation. */
425 /* MAC decode size is 128K - This is the size of BAR0 */
446 (MINIMUM_ETHERNET_FRAME_SIZE - ETHERNET_FCS_SIZE)
489 * E1000_RAR_ENTRIES - 1 multicast addresses.
506 /* Receive Descriptor - Extended */
514 __le32 mrq; /* Multiple Rx Queues */
532 /* Receive Descriptor - Packet Split */
540 __le32 mrq; /* Multiple Rx Queues */
556 __le16 length[3]; /* length of buffers 1-3 */
570 #define E1000_RXD_STAT_PIF 0x80 /* passed in-exact filter */
580 #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */
647 #define E1000_TXD_CMD_IDE 0x80000000 /* Enable Tidv register */
654 #define E1000_TXD_CMD_TSE 0x04000000 /* TCP Seg enable */
773 * RW - register is both readable and writable
774 * RO - register is read only
775 * WO - register is write only
776 * R/clr - register is read only and is cleared when read
777 * A - register array
779 #define E1000_CTRL 0x00000 /* Device Control - RW */
780 #define E1000_CTRL_DUP 0x00004 /* Device Control Duplicate (Shadow) - RW */
781 #define E1000_STATUS 0x00008 /* Device Status - RO */
782 #define E1000_EECD 0x00010 /* EEPROM/Flash Control - RW */
783 #define E1000_EERD 0x00014 /* EEPROM Read - RW */
784 #define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */
785 #define E1000_FLA 0x0001C /* Flash Access - RW */
786 #define E1000_MDIC 0x00020 /* MDI Control - RW */
788 #define INTEL_CE_GBE_MDIO_RCOMP_BASE (hw->ce4100_gbe_mdio_base_virt)
796 #define E1000_SCTL 0x00024 /* SerDes Control - RW */
798 #define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */
799 #define E1000_FCAH 0x0002C /* Flow Control Address High -RW */
800 #define E1000_FCT 0x00030 /* Flow Control Type - RW */
801 #define E1000_VET 0x00038 /* VLAN Ether Type - RW */
802 #define E1000_ICR 0x000C0 /* Interrupt Cause Read - R/clr */
803 #define E1000_ITR 0x000C4 /* Interrupt Throttling Rate - RW */
804 #define E1000_ICS 0x000C8 /* Interrupt Cause Set - WO */
805 #define E1000_IMS 0x000D0 /* Interrupt Mask Set - RW */
806 #define E1000_IMC 0x000D8 /* Interrupt Mask Clear - WO */
810 * RMII/RGMII function is switched by this register - RW
836 #define E1000_RCTL 0x00100 /* RX Control - RW */
837 #define E1000_RDTR1 0x02820 /* RX Delay Timer (1) - RW */
838 #define E1000_RDBAL1 0x02900 /* RX Descriptor Base Address Low (1) - RW */
839 #define E1000_RDBAH1 0x02904 /* RX Descriptor Base Address High (1) - RW */
840 #define E1000_RDLEN1 0x02908 /* RX Descriptor Length (1) - RW */
841 #define E1000_RDH1 0x02910 /* RX Descriptor Head (1) - RW */
842 #define E1000_RDT1 0x02918 /* RX Descriptor Tail (1) - RW */
843 #define E1000_FCTTV 0x00170 /* Flow Control Transmit Timer Value - RW */
844 #define E1000_TXCW 0x00178 /* TX Configuration Word - RW */
845 #define E1000_RXCW 0x00180 /* RX Configuration Word - RO */
846 #define E1000_TCTL 0x00400 /* TX Control - RW */
847 #define E1000_TCTL_EXT 0x00404 /* Extended TX Control - RW */
848 #define E1000_TIPG 0x00410 /* TX Inter-packet gap -RW */
849 #define E1000_TBT 0x00448 /* TX Burst Timer - RW */
850 #define E1000_AIT 0x00458 /* Adaptive Interframe Spacing Throttle - RW */
851 #define E1000_LEDCTL 0x00E00 /* LED Control - RW */
856 #define E1000_PBA 0x01000 /* Packet Buffer Allocation - RW */
862 #define E1000_EEWR 0x0102C /* EEPROM Write Register - RW */
867 #define E1000_ERT 0x02008 /* Early Rx Threshold - RW */
868 #define E1000_FCRTL 0x02160 /* Flow Control Receive Threshold Low - RW */
869 #define E1000_FCRTH 0x02168 /* Flow Control Receive Threshold High - RW */
870 #define E1000_PSRCTL 0x02170 /* Packet Split Receive Control - RW */
871 #define E1000_RDFH 0x02410 /* RX Data FIFO Head - RW */
872 #define E1000_RDFT 0x02418 /* RX Data FIFO Tail - RW */
873 #define E1000_RDFHS 0x02420 /* RX Data FIFO Head Saved - RW */
874 #define E1000_RDFTS 0x02428 /* RX Data FIFO Tail Saved - RW */
875 #define E1000_RDFPC 0x02430 /* RX Data FIFO Packet Count - RW */
876 #define E1000_RDBAL 0x02800 /* RX Descriptor Base Address Low - RW */
877 #define E1000_RDBAH 0x02804 /* RX Descriptor Base Address High - RW */
878 #define E1000_RDLEN 0x02808 /* RX Descriptor Length - RW */
879 #define E1000_RDH 0x02810 /* RX Descriptor Head - RW */
880 #define E1000_RDT 0x02818 /* RX Descriptor Tail - RW */
881 #define E1000_RDTR 0x02820 /* RX Delay Timer - RW */
882 #define E1000_RDBAL0 E1000_RDBAL /* RX Desc Base Address Low (0) - RW */
883 #define E1000_RDBAH0 E1000_RDBAH /* RX Desc Base Address High (0) - RW */
884 #define E1000_RDLEN0 E1000_RDLEN /* RX Desc Length (0) - RW */
885 #define E1000_RDH0 E1000_RDH /* RX Desc Head (0) - RW */
886 #define E1000_RDT0 E1000_RDT /* RX Desc Tail (0) - RW */
887 #define E1000_RDTR0 E1000_RDTR /* RX Delay Timer (0) - RW */
888 #define E1000_RXDCTL 0x02828 /* RX Descriptor Control queue 0 - RW */
889 #define E1000_RXDCTL1 0x02928 /* RX Descriptor Control queue 1 - RW */
890 #define E1000_RADV 0x0282C /* RX Interrupt Absolute Delay Timer - RW */
891 #define E1000_RSRPD 0x02C00 /* RX Small Packet Detect - RW */
892 #define E1000_RAID 0x02C08 /* Receive Ack Interrupt Delay - RW */
893 #define E1000_TXDMAC 0x03000 /* TX DMA Control - RW */
895 #define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */
896 #define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */
897 #define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */
898 #define E1000_TDFTS 0x03428 /* TX Data FIFO Tail Saved - RW */
899 #define E1000_TDFPC 0x03430 /* TX Data FIFO Packet Count - RW */
900 #define E1000_TDBAL 0x03800 /* TX Descriptor Base Address Low - RW */
901 #define E1000_TDBAH 0x03804 /* TX Descriptor Base Address High - RW */
902 #define E1000_TDLEN 0x03808 /* TX Descriptor Length - RW */
903 #define E1000_TDH 0x03810 /* TX Descriptor Head - RW */
904 #define E1000_TDT 0x03818 /* TX Descripotr Tail - RW */
905 #define E1000_TIDV 0x03820 /* TX Interrupt Delay Value - RW */
906 #define E1000_TXDCTL 0x03828 /* TX Descriptor Control - RW */
907 #define E1000_TADV 0x0382C /* TX Interrupt Absolute Delay Val - RW */
908 #define E1000_TSPMT 0x03830 /* TCP Segmentation PAD & Min Threshold - RW */
910 #define E1000_TDBAL1 0x03900 /* TX Desc Base Address Low (1) - RW */
911 #define E1000_TDBAH1 0x03904 /* TX Desc Base Address High (1) - RW */
912 #define E1000_TDLEN1 0x03908 /* TX Desc Length (1) - RW */
913 #define E1000_TDH1 0x03910 /* TX Desc Head (1) - RW */
914 #define E1000_TDT1 0x03918 /* TX Desc Tail (1) - RW */
915 #define E1000_TXDCTL1 0x03928 /* TX Descriptor Control (1) - RW */
917 #define E1000_CRCERRS 0x04000 /* CRC Error Count - R/clr */
918 #define E1000_ALGNERRC 0x04004 /* Alignment Error Count - R/clr */
919 #define E1000_SYMERRS 0x04008 /* Symbol Error Count - R/clr */
920 #define E1000_RXERRC 0x0400C /* Receive Error Count - R/clr */
921 #define E1000_MPC 0x04010 /* Missed Packet Count - R/clr */
922 #define E1000_SCC 0x04014 /* Single Collision Count - R/clr */
923 #define E1000_ECOL 0x04018 /* Excessive Collision Count - R/clr */
924 #define E1000_MCC 0x0401C /* Multiple Collision Count - R/clr */
925 #define E1000_LATECOL 0x04020 /* Late Collision Count - R/clr */
926 #define E1000_COLC 0x04028 /* Collision Count - R/clr */
927 #define E1000_DC 0x04030 /* Defer Count - R/clr */
928 #define E1000_TNCRS 0x04034 /* TX-No CRS - R/clr */
929 #define E1000_SEC 0x04038 /* Sequence Error Count - R/clr */
930 #define E1000_CEXTERR 0x0403C /* Carrier Extension Error Count - R/clr */
931 #define E1000_RLEC 0x04040 /* Receive Length Error Count - R/clr */
932 #define E1000_XONRXC 0x04048 /* XON RX Count - R/clr */
933 #define E1000_XONTXC 0x0404C /* XON TX Count - R/clr */
934 #define E1000_XOFFRXC 0x04050 /* XOFF RX Count - R/clr */
935 #define E1000_XOFFTXC 0x04054 /* XOFF TX Count - R/clr */
936 #define E1000_FCRUC 0x04058 /* Flow Control RX Unsupported Count- R/clr */
937 #define E1000_PRC64 0x0405C /* Packets RX (64 bytes) - R/clr */
938 #define E1000_PRC127 0x04060 /* Packets RX (65-127 bytes) - R/clr */
939 #define E1000_PRC255 0x04064 /* Packets RX (128-255 bytes) - R/clr */
940 #define E1000_PRC511 0x04068 /* Packets RX (255-511 bytes) - R/clr */
941 #define E1000_PRC1023 0x0406C /* Packets RX (512-1023 bytes) - R/clr */
942 #define E1000_PRC1522 0x04070 /* Packets RX (1024-1522 bytes) - R/clr */
943 #define E1000_GPRC 0x04074 /* Good Packets RX Count - R/clr */
944 #define E1000_BPRC 0x04078 /* Broadcast Packets RX Count - R/clr */
945 #define E1000_MPRC 0x0407C /* Multicast Packets RX Count - R/clr */
946 #define E1000_GPTC 0x04080 /* Good Packets TX Count - R/clr */
947 #define E1000_GORCL 0x04088 /* Good Octets RX Count Low - R/clr */
948 #define E1000_GORCH 0x0408C /* Good Octets RX Count High - R/clr */
949 #define E1000_GOTCL 0x04090 /* Good Octets TX Count Low - R/clr */
950 #define E1000_GOTCH 0x04094 /* Good Octets TX Count High - R/clr */
951 #define E1000_RNBC 0x040A0 /* RX No Buffers Count - R/clr */
952 #define E1000_RUC 0x040A4 /* RX Undersize Count - R/clr */
953 #define E1000_RFC 0x040A8 /* RX Fragment Count - R/clr */
954 #define E1000_ROC 0x040AC /* RX Oversize Count - R/clr */
955 #define E1000_RJC 0x040B0 /* RX Jabber Count - R/clr */
956 #define E1000_MGTPRC 0x040B4 /* Management Packets RX Count - R/clr */
957 #define E1000_MGTPDC 0x040B8 /* Management Packets Dropped Count - R/clr */
958 #define E1000_MGTPTC 0x040BC /* Management Packets TX Count - R/clr */
959 #define E1000_TORL 0x040C0 /* Total Octets RX Low - R/clr */
960 #define E1000_TORH 0x040C4 /* Total Octets RX High - R/clr */
961 #define E1000_TOTL 0x040C8 /* Total Octets TX Low - R/clr */
962 #define E1000_TOTH 0x040CC /* Total Octets TX High - R/clr */
963 #define E1000_TPR 0x040D0 /* Total Packets RX - R/clr */
964 #define E1000_TPT 0x040D4 /* Total Packets TX - R/clr */
965 #define E1000_PTC64 0x040D8 /* Packets TX (64 bytes) - R/clr */
966 #define E1000_PTC127 0x040DC /* Packets TX (65-127 bytes) - R/clr */
967 #define E1000_PTC255 0x040E0 /* Packets TX (128-255 bytes) - R/clr */
968 #define E1000_PTC511 0x040E4 /* Packets TX (256-511 bytes) - R/clr */
969 #define E1000_PTC1023 0x040E8 /* Packets TX (512-1023 bytes) - R/clr */
970 #define E1000_PTC1522 0x040EC /* Packets TX (1024-1522 Bytes) - R/clr */
971 #define E1000_MPTC 0x040F0 /* Multicast Packets TX Count - R/clr */
972 #define E1000_BPTC 0x040F4 /* Broadcast Packets TX Count - R/clr */
973 #define E1000_TSCTC 0x040F8 /* TCP Segmentation Context TX - R/clr */
974 #define E1000_TSCTFC 0x040FC /* TCP Segmentation Context TX Fail - R/clr */
976 #define E1000_ICRXPTC 0x04104 /* Interrupt Cause Rx Packet Timer Expire Count */
977 #define E1000_ICRXATC 0x04108 /* Interrupt Cause Rx Absolute Timer Expire Count */
982 #define E1000_ICRXDMTC 0x04120 /* Interrupt Cause Rx Descriptor Minimum Threshold Count */
984 #define E1000_RXCSUM 0x05000 /* RX Checksum Control - RW */
986 #define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */
987 #define E1000_RA 0x05400 /* Receive Address - RW Array */
988 #define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */
989 #define E1000_WUC 0x05800 /* Wakeup Control - RW */
990 #define E1000_WUFC 0x05808 /* Wakeup Filter Control - RW */
991 #define E1000_WUS 0x05810 /* Wakeup Status - RO */
992 #define E1000_MANC 0x05820 /* Management Control - RW */
993 #define E1000_IPAV 0x05838 /* IP Address Valid - RW */
994 #define E1000_IP4AT 0x05840 /* IPv4 Address Table - RW Array */
995 #define E1000_IP6AT 0x05880 /* IPv6 Address Table - RW Array */
996 #define E1000_WUPL 0x05900 /* Wakeup Packet Length - RW */
997 #define E1000_WUPM 0x05A00 /* Wakeup Packet Memory - RO A */
998 #define E1000_FFLT 0x05F00 /* Flexible Filter Length Table - RW Array */
1000 #define E1000_FFMT 0x09000 /* Flexible Filter Mask Table - RW Array */
1001 #define E1000_FFVT 0x09800 /* Flexible Filter Value Table - RW Array */
1003 #define E1000_KUMCTRLSTA 0x00034 /* MAC-PHY interface - RW */
1004 #define E1000_MDPHYA 0x0003C /* PHY address - RW */
1005 #define E1000_MANC2H 0x05860 /* Management Control To Host - RW */
1006 #define E1000_SW_FW_SYNC 0x05B5C /* Software-Firmware Synchronization - RW */
1008 #define E1000_GCR 0x05B00 /* PCI-Ex Control */
1009 #define E1000_GSCL_1 0x05B10 /* PCI-Ex Statistic Control #1 */
1010 #define E1000_GSCL_2 0x05B14 /* PCI-Ex Statistic Control #2 */
1011 #define E1000_GSCL_3 0x05B18 /* PCI-Ex Statistic Control #3 */
1012 #define E1000_GSCL_4 0x05B1C /* PCI-Ex Statistic Control #4 */
1020 #define E1000_CPUVEC 0x02C10 /* CPU Vector Register - RW */
1021 #define E1000_MRQC 0x05818 /* Multiple Receive Control - RW */
1022 #define E1000_RETA 0x05C00 /* Redirection Table - RW Array */
1023 #define E1000_RSSRK 0x05C80 /* RSS Random Key - RW Array */
1072 * RX Control - RW */
1074 #define E1000_82542_RDBAH3 0x02B04 /* RX Desc Base High Queue 3 - RW */
1075 #define E1000_82542_RDBAL3 0x02B00 /* RX Desc Low Queue 3 - RW */
1076 #define E1000_82542_RDLEN3 0x02B08 /* RX Desc Length Queue 3 - RW */
1077 #define E1000_82542_RDH3 0x02B10 /* RX Desc Head Queue 3 - RW */
1078 #define E1000_82542_RDT3 0x02B18 /* RX Desc Tail Queue 3 - RW */
1079 #define E1000_82542_RDBAL2 0x02A00 /* RX Desc Base Low Queue 2 - RW */
1080 #define E1000_82542_RDBAH2 0x02A04 /* RX Desc Base High Queue 2 - RW */
1081 #define E1000_82542_RDLEN2 0x02A08 /* RX Desc Length Queue 2 - RW */
1082 #define E1000_82542_RDH2 0x02A10 /* RX Desc Head Queue 2 - RW */
1083 #define E1000_82542_RDT2 0x02A18 /* RX Desc Tail Queue 2 - RW */
1423 #define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */
1428 #define E1000_CTRL_ASDE 0x00000020 /* Auto-speed detect enable */
1430 #define E1000_CTRL_ILOS 0x00000080 /* Invert Loss-Of Signal */
1438 #define E1000_CTRL_D_UD_EN 0x00002000 /* Dock/Undock enable */
1441 #define E1000_CTRL_EXT_LINK_EN 0x00010000 /* enable link status from external LINK_0 and LINK_1 pin…
1451 #define E1000_CTRL_RFCE 0x08000000 /* Receive Flow Control enable */
1452 #define E1000_CTRL_TFCE 0x10000000 /* Transmit flow control enable */
1453 #define E1000_CTRL_RTE 0x20000000 /* Routing tag enable */
1454 #define E1000_CTRL_VME 0x40000000 /* IEEE VLAN mode enable */
1479 #define E1000_STATUS_PCIX_MODE 0x00002000 /* PCI-X mode */
1480 #define E1000_STATUS_PCIX_SPEED 0x0000C000 /* PCI-X bus speed */
1492 /* Constants used to interpret the masked PCI-X bus speed. */
1493 #define E1000_STATUS_PCIX_SPEED_66 0x00000000 /* PCI-X bus speed 50-66 MHz */
1494 #define E1000_STATUS_PCIX_SPEED_100 0x00004000 /* PCI-X bus speed 66-100 MHz */
1495 #define E1000_STATUS_PCIX_SPEED_133 0x00008000 /* PCI-X bus speed 100-133 MHz */
1504 #define E1000_EECD_FWE_EN 0x00000020 /* Enable FLASH writes */
1511 * (0-small, 1-large) */
1512 #define E1000_EECD_TYPE 0x00002000 /* EEPROM Type (1-SPI, 0-Microwire) */
1523 #define E1000_EECD_AUPDEN 0x00100000 /* Enable Autonomous FLASH update */
1581 #define E1000_CTRL_EXT_IAME 0x08000000 /* Interrupt acknowledge Auto-mask */
1584 #define E1000_CTRL_EXT_DF_PAREN 0x02000000 /* descriptor FIFO parity error detection enable */
1623 /* In-Band Control */
1627 /* Half-Duplex Control */
1695 #define E1000_ICR_RXSEQ 0x00000008 /* rx sequence error */
1696 #define E1000_ICR_RXDMT0 0x00000010 /* rx desc min. threshold (0) */
1697 #define E1000_ICR_RXO 0x00000040 /* rx overrun */
1698 #define E1000_ICR_RXT0 0x00000080 /* rx timer intr (ring 0) */
1700 #define E1000_ICR_RXCFG 0x00000400 /* RX /c/ ordered set */
1711 #define E1000_ICR_RXD_FIFO_PAR0 0x00100000 /* queue 0 Rx descriptor FIFO parity error */
1715 #define E1000_ICR_RXD_FIFO_PAR1 0x01000000 /* queue 1 Rx descriptor FIFO parity error */
1726 #define E1000_ICS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */
1727 #define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */
1728 #define E1000_ICS_RXO E1000_ICR_RXO /* rx overrun */
1729 #define E1000_ICS_RXT0 E1000_ICR_RXT0 /* rx timer intr */
1731 #define E1000_ICS_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */
1741 #define E1000_ICS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* queue 0 Rx descriptor FIFO parity error …
1745 #define E1000_ICS_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1 /* queue 1 Rx descriptor FIFO parity error …
1755 #define E1000_IMS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */
1756 #define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */
1757 #define E1000_IMS_RXO E1000_ICR_RXO /* rx overrun */
1758 #define E1000_IMS_RXT0 E1000_ICR_RXT0 /* rx timer intr */
1760 #define E1000_IMS_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */
1770 #define E1000_IMS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* queue 0 Rx descriptor FIFO parity error …
1774 #define E1000_IMS_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1 /* queue 1 Rx descriptor FIFO parity error …
1784 #define E1000_IMC_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */
1785 #define E1000_IMC_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */
1786 #define E1000_IMC_RXO E1000_ICR_RXO /* rx overrun */
1787 #define E1000_IMC_RXT0 E1000_ICR_RXT0 /* rx timer intr */
1789 #define E1000_IMC_RXCFG E1000_ICR_RXCFG /* RX /c/ ordered set */
1799 #define E1000_IMC_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* queue 0 Rx descriptor FIFO parity error …
1803 #define E1000_IMC_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1 /* queue 1 Rx descriptor FIFO parity error …
1811 #define E1000_RCTL_EN 0x00000002 /* enable */
1813 #define E1000_RCTL_UPE 0x00000008 /* unicast promiscuous enable */
1815 #define E1000_RCTL_LPE 0x00000020 /* long packet enable */
1822 #define E1000_RCTL_RDMTS_HALF 0x00000000 /* rx desc min threshold size */
1823 #define E1000_RCTL_RDMTS_QUAT 0x00000100 /* rx desc min threshold size */
1824 #define E1000_RCTL_RDMTS_EIGTH 0x00000200 /* rx desc min threshold size */
1831 #define E1000_RCTL_BAM 0x00008000 /* broadcast enable */
1833 #define E1000_RCTL_SZ_2048 0x00000000 /* rx buffer size 2048 */
1834 #define E1000_RCTL_SZ_1024 0x00010000 /* rx buffer size 1024 */
1835 #define E1000_RCTL_SZ_512 0x00020000 /* rx buffer size 512 */
1836 #define E1000_RCTL_SZ_256 0x00030000 /* rx buffer size 256 */
1838 #define E1000_RCTL_SZ_16384 0x00010000 /* rx buffer size 16384 */
1839 #define E1000_RCTL_SZ_8192 0x00020000 /* rx buffer size 8192 */
1840 #define E1000_RCTL_SZ_4096 0x00030000 /* rx buffer size 4096 */
1841 #define E1000_RCTL_VFE 0x00040000 /* vlan filter enable */
1842 #define E1000_RCTL_CFIEN 0x00080000 /* canonical form enable */
1892 #define E1000_FCRTH_XFCE 0x80000000 /* External Flow Control Enable */
1894 #define E1000_FCRTL_XONE 0x80000000 /* Enable XON frame transmission */
1926 #define E1000_TXDCTL_COUNT_DESC 0x00400000 /* Enable the counting of desc.
1938 #define E1000_TXCW_ANE 0x80000000 /* Auto-neg enable */
1947 #define E1000_RXCW_ANC 0x80000000 /* Auto-neg complete */
1951 #define E1000_TCTL_EN 0x00000002 /* enable tx */
1952 #define E1000_TCTL_BCE 0x00000004 /* busy check enable */
1957 #define E1000_TCTL_PBE 0x00800000 /* Packet Burst Enable */
1958 #define E1000_TCTL_RTLC 0x01000000 /* Re-transmit on late collision */
1959 #define E1000_TCTL_NRTU 0x02000000 /* No Re-transmit on underrun */
1970 #define E1000_RXCSUM_IPPCSE 0x00001000 /* IP payload checksum enable */
1987 #define E1000_WUC_APME 0x00000001 /* APM Enable */
1988 #define E1000_WUC_PME_EN 0x00000002 /* PME Enable */
1991 #define E1000_WUC_SPM 0x80000000 /* Enable SPM */
1994 #define E1000_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */
1995 #define E1000_WUFC_MAG 0x00000002 /* Magic Packet Wakeup Enable */
1996 #define E1000_WUFC_EX 0x00000004 /* Directed Exact Wakeup Enable */
1997 #define E1000_WUFC_MC 0x00000008 /* Directed Multicast Wakeup Enable */
1998 #define E1000_WUFC_BC 0x00000010 /* Broadcast Wakeup Enable */
1999 #define E1000_WUFC_ARP 0x00000020 /* ARP Request Packet Wakeup Enable */
2000 #define E1000_WUFC_IPV4 0x00000040 /* Directed IPv4 Packet Wakeup Enable */
2001 #define E1000_WUFC_IPV6 0x00000080 /* Directed IPv6 Packet Wakeup Enable */
2003 #define E1000_WUFC_FLX0 0x00010000 /* Flexible Filter 0 Enable */
2004 #define E1000_WUFC_FLX1 0x00020000 /* Flexible Filter 1 Enable */
2005 #define E1000_WUFC_FLX2 0x00040000 /* Flexible Filter 2 Enable */
2006 #define E1000_WUFC_FLX3 0x00080000 /* Flexible Filter 3 Enable */
2027 #define E1000_MANC_SMBUS_EN 0x00000001 /* SMBus Enabled - RO */
2028 #define E1000_MANC_ASF_EN 0x00000002 /* ASF Enabled - RO */
2029 #define E1000_MANC_R_ON_FORCE 0x00000004 /* Reset on Force TCO - RO */
2030 #define E1000_MANC_RMCP_EN 0x00000100 /* Enable RCMP 026Fh Filtering */
2031 #define E1000_MANC_0298_EN 0x00000200 /* Enable RCMP 0298h Filtering */
2032 #define E1000_MANC_IPV4_EN 0x00000400 /* Enable IPv4 */
2033 #define E1000_MANC_IPV6_EN 0x00000800 /* Enable IPv6 */
2035 #define E1000_MANC_ARP_EN 0x00002000 /* Enable ARP Request Filtering */
2036 #define E1000_MANC_NEIGHBOR_EN 0x00004000 /* Enable Neighbor Discovery
2038 #define E1000_MANC_ARP_RES_EN 0x00008000 /* Enable ARP response Filtering */
2044 #define E1000_MANC_EN_MAC_ADDR_FILTER 0x00100000 /* Enable MAC address
2046 #define E1000_MANC_EN_MNG2HOST 0x00200000 /* Enable MNG packets to host
2048 #define E1000_MANC_EN_IP_ADDR_FILTER 0x00400000 /* Enable IP address
2050 #define E1000_MANC_EN_XSUM_FILTER 0x00800000 /* Enable checksum filtering */
2051 #define E1000_MANC_BR_EN 0x01000000 /* Enable broadcast filtering */
2094 #define E1000_HICR_EN 0x00000001 /* Enable Bit - RO */
2100 /* Host Interface Command Interface - Address range 0x8800-0x8EFF */
2137 /* PCI-Ex registers*/
2139 /* PCI-Ex Control Register */
2181 /* PCI-Ex Config Space */
2186 /* EEPROM Commands - Microwire */
2190 #define EEPROM_EWEN_OPCODE_MICROWIRE 0x13 /* EEPROM erase/write enable */
2193 /* EEPROM Commands - SPI */
2197 #define EEPROM_A8_OPCODE_SPI 0x08 /* opcode bit-3 = address bit-8 */
2198 #define EEPROM_WREN_OPCODE_SPI 0x06 /* EEPROM set Write Enable latch */
2199 #define EEPROM_WRDI_OPCODE_SPI 0x04 /* EEPROM reset Write Enable latch */
2295 /* Collision distance is a 0-based value that applies to
2296 * half-duplex-capable hardware only. */
2356 #define E1000_PBA_8K 0x0008 /* 8KB, default Rx allocation */
2357 #define E1000_PBA_12K 0x000C /* 12KB, default Rx allocation */
2367 #define E1000_PBA_48K 0x0030 /* 48KB, default RX allocation */
2415 /* Number of milliseconds we wait for auto-negotiation to complete */
2432 * status = the 8 bit status field of the RX descriptor with EOP set
2433 * error = the 8 bit error field of the RX descriptor with EOP set
2434 * length = the sum of all the length fields of the RX descriptors that
2441 * handler's Rx processing routine when RxErrors have been detected.
2448 * frame_length--;
2456 ((adapter)->tbi_compatibility_on && \
2460 (((length) > ((adapter)->min_frame_size - VLAN_TAG_SIZE)) && \
2461 ((length) <= ((adapter)->max_frame_size + 1))) : \
2462 (((length) > (adapter)->min_frame_size) && \
2463 ((length) <= ((adapter)->max_frame_size + VLAN_TAG_SIZE + 1)))))
2490 #define PHY_1000T_CTRL 0x09 /* 1000Base-T Control Reg */
2491 #define PHY_1000T_STATUS 0x0A /* 1000Base-T Status Reg */
2494 #define MAX_PHY_REG_ADDRESS 0x1F /* 5 bit address bus (0-0x1F) */
2500 #define M88E1000_INT_ENABLE 0x12 /* Interrupt Enable Register */
2525 /* IGP01E1000 AGC Registers - stores the cable length values*/
2559 /* IGP01E1000 PCS Initialization register - stores the polarity status when
2568 #define MII_CR_COLL_TEST_ENABLE 0x0080 /* Collision test enable */
2573 #define MII_CR_AUTO_NEG_EN 0x1000 /* Auto Neg Enable */
2617 #define NWAY_LPAR_ACKNOWLEDGE 0x4000 /* LP has rx'd link code word */
2654 /* 1000BASE-T Control Register */
2670 /* 1000BASE-T Status Register */
2695 /* (0=enable, 1=disable) */
2707 #define M88E1000_PSCR_AUTO_X_1000T 0x0040 /* 1000BASE-T: Auto crossover,
2708 * 100BASE-TX/10BASE-T:
2715 /* 1=Enable Extended 10BASE-T distance
2716 * (Lower 10BASE-T RX Threshold)
2717 * 0=Normal 10BASE-T RX Threshold */
2719 /* 1=5-Bit interface in 100BASE-TX
2720 * 0=MII interface in 100BASE-TX */
2734 #define M88E1000_PSSR_CABLE_LENGTH 0x0380 /* 0=<50M;1=50-80M;2=80-110M;
2735 * 3=110-140M;4=>140M */
2755 * within 1ms in 1000BASE-T
2786 /* IGP01E1000 Specific Port Config Register - R/W */
2794 /* IGP01E1000 Specific Port Status Register - R/O */
2808 /* IGP01E1000 Specific Port Control Register - R/W */
2814 #define IGP01E1000_PSCR_FORCE_MDI_MDIX 0x2000 /* 0-MDI, 1-MDIX */
2839 #define IGP02E1000_PM_D3_LPLU 0x0004 /* Enable LPLU in non-D0a modes */
2840 #define IGP02E1000_PM_D0_LPLU 0x0002 /* Enable LPLU in D0a mode */
2849 #define IGP01E1000_AGC_LENGTH_SHIFT 7 /* Coarse - 13:11, Fine - 10:7 */
2850 #define IGP02E1000_AGC_LENGTH_SHIFT 9 /* Coarse - 15:13, Fine - 12:9 */
2852 /* IGP02E1000 AGC Register Length 9-bit mask */
2855 /* 7 bits (3 Coarse + 4 Fine) --> 128 optional values */
2859 /* The precision error of the cable length is +/- 10 meters */
2868 #define IGP01E1000_GMII_FLEX_SPD 0x10 /* Enable flexible speed
2869 * on Link-Up */
2870 #define IGP01E1000_GMII_SPD 0x20 /* Enable SPD */
2911 * 15-5: page
2912 * 4-0: register offset
2931 #define IGP3_KMRN_DIAG_PCS_LOCK_LOSS 0x0002 /* RX PCS is not synced */
2950 #define IGP3_CAP_MULT_QUEUE 0x0040 /* Support 2 tx & 2 rx queues */
2985 #define IFE_PHY_MDIX_CONTROL 0x1C /* MDI/MDI-X Control register */
2989 #define IFE_PESC_100BTX_POWER_DOWN 0x0400 /* Indicates the power state of 100BASE-TX */
2990 #define IFE_PESC_10BTX_POWER_DOWN 0x0200 /* Indicates the power state of 10BASE-T */
2991 #define IFE_PESC_POLARITY_REVERSED 0x0100 /* Indicates 10BASE-T polarity */
2993 #define IFE_PESC_SPEED 0x0002 /* Auto-negotiation speed result 1=100Mbs, 0=10…
2994 #define IFE_PESC_DUPLEX 0x0001 /* Auto-negotiation duplex result 1=Full, 0=Hal…
3004 #define IFE_PMC_AUTO_MDIX 0x0080 /* 1=enable MDI/MDI-X feature, default 0=disabl…
3005 #define IFE_PMC_FORCE_MDIX 0x0040 /* 1=force MDIX-X, 0=force MDI */
3006 #define IFE_PMC_MDIX_STATUS 0x0020 /* 1=MDI-X, 0=MDI */
3009 #define IFE_PHC_MDIX_RESET_ALL_MASK 0x0000 /* Disable auto MDI-X */
3011 #define IFE_PHC_HWI_ENABLE 0x8000 /* Enable the HWI feature */
3023 #define ICH_FLASH_COMMAND_TIMEOUT 5000 /* 5000 uSecs - adjusted */
3024 #define ICH_FLASH_ERASE_TIMEOUT 3000000 /* Up to 3 seconds - worst case */
3081 #define AUTONEG_ADVERTISE_SPEED_DEFAULT 0x002F /* Everything but 1000-Half */