if_rlreg.h (181270) | if_rlreg.h (184240) |
---|---|
1/*- 2 * Copyright (c) 1997, 1998-2003 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 * | 1/*- 2 * Copyright (c) 1997, 1998-2003 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30 * THE POSSIBILITY OF SUCH DAMAGE. 31 * |
32 * $FreeBSD: head/sys/pci/if_rlreg.h 181270 2008-08-04 02:05:09Z yongari $ | 32 * $FreeBSD: head/sys/pci/if_rlreg.h 184240 2008-10-25 02:36:08Z yongari $ |
33 */ 34 35/* 36 * RealTek 8129/8139 register offsets 37 */ 38#define RL_IDR0 0x0000 /* ID register 0 (station addr) */ 39#define RL_IDR1 0x0001 /* Must use 32-bit accesses (?) */ 40#define RL_IDR2 0x0002 --- 455 unchanged lines hidden (view full) --- 496 * For reception, there's just one large buffer where the chip stores 497 * all received packets. 498 */ 499 500#define RL_RX_BUF_SZ RL_RXBUF_64 501#define RL_RXBUFLEN (1 << ((RL_RX_BUF_SZ >> 11) + 13)) 502#define RL_TX_LIST_CNT 4 503#define RL_MIN_FRAMELEN 60 | 33 */ 34 35/* 36 * RealTek 8129/8139 register offsets 37 */ 38#define RL_IDR0 0x0000 /* ID register 0 (station addr) */ 39#define RL_IDR1 0x0001 /* Must use 32-bit accesses (?) */ 40#define RL_IDR2 0x0002 --- 455 unchanged lines hidden (view full) --- 496 * For reception, there's just one large buffer where the chip stores 497 * all received packets. 498 */ 499 500#define RL_RX_BUF_SZ RL_RXBUF_64 501#define RL_RXBUFLEN (1 << ((RL_RX_BUF_SZ >> 11) + 13)) 502#define RL_TX_LIST_CNT 4 503#define RL_MIN_FRAMELEN 60 |
504#define RL_TX_8139_BUF_ALIGN 4 505#define RL_RX_8139_BUF_ALIGN 8 506#define RL_RX_8139_BUF_RESERVE sizeof(int64_t) 507#define RL_RX_8139_BUF_GUARD_SZ \ 508 (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN + RL_RX_8139_BUF_RESERVE) |
|
504#define RL_TXTHRESH(x) ((x) << 11) 505#define RL_TX_THRESH_INIT 96 506#define RL_RX_FIFOTHRESH RL_RXFIFO_NOTHRESH 507#define RL_RX_MAXDMA RL_RXDMA_UNLIMITED 508#define RL_TX_MAXDMA RL_TXDMA_2048BYTES 509 510#define RL_RXCFG_CONFIG (RL_RX_FIFOTHRESH|RL_RX_MAXDMA|RL_RX_BUF_SZ) 511#define RL_TXCFG_CONFIG (RL_TXCFG_IFG|RL_TX_MAXDMA) --- 5 unchanged lines hidden (view full) --- 517 */ 518#define RL_IP4CSUMTX_MINLEN 28 519#define RL_IP4CSUMTX_PADLEN (ETHER_HDR_LEN + RL_IP4CSUMTX_MINLEN) 520 521struct rl_chain_data { 522 uint16_t cur_rx; 523 uint8_t *rl_rx_buf; 524 uint8_t *rl_rx_buf_ptr; | 509#define RL_TXTHRESH(x) ((x) << 11) 510#define RL_TX_THRESH_INIT 96 511#define RL_RX_FIFOTHRESH RL_RXFIFO_NOTHRESH 512#define RL_RX_MAXDMA RL_RXDMA_UNLIMITED 513#define RL_TX_MAXDMA RL_TXDMA_2048BYTES 514 515#define RL_RXCFG_CONFIG (RL_RX_FIFOTHRESH|RL_RX_MAXDMA|RL_RX_BUF_SZ) 516#define RL_TXCFG_CONFIG (RL_TXCFG_IFG|RL_TX_MAXDMA) --- 5 unchanged lines hidden (view full) --- 522 */ 523#define RL_IP4CSUMTX_MINLEN 28 524#define RL_IP4CSUMTX_PADLEN (ETHER_HDR_LEN + RL_IP4CSUMTX_MINLEN) 525 526struct rl_chain_data { 527 uint16_t cur_rx; 528 uint8_t *rl_rx_buf; 529 uint8_t *rl_rx_buf_ptr; |
525 bus_dmamap_t rl_rx_dmamap; | |
526 527 struct mbuf *rl_tx_chain[RL_TX_LIST_CNT]; 528 bus_dmamap_t rl_tx_dmamap[RL_TX_LIST_CNT]; | 530 531 struct mbuf *rl_tx_chain[RL_TX_LIST_CNT]; 532 bus_dmamap_t rl_tx_dmamap[RL_TX_LIST_CNT]; |
533 bus_dma_tag_t rl_tx_tag; 534 bus_dma_tag_t rl_rx_tag; 535 bus_dmamap_t rl_rx_dmamap; 536 bus_addr_t rl_rx_buf_paddr; |
|
529 uint8_t last_tx; 530 uint8_t cur_tx; 531}; 532 533#define RL_INC(x) (x = (x + 1) % RL_TX_LIST_CNT) 534#define RL_CUR_TXADDR(x) ((x->rl_cdata.cur_tx * 4) + RL_TXADDR0) 535#define RL_CUR_TXSTAT(x) ((x->rl_cdata.cur_tx * 4) + RL_TXSTAT0) 536#define RL_CUR_TXMBUF(x) (x->rl_cdata.rl_tx_chain[x->rl_cdata.cur_tx]) --- 271 unchanged lines hidden (view full) --- 808 device_t rl_dev; 809 struct resource *rl_res; 810 int rl_res_id; 811 int rl_res_type; 812 struct resource *rl_irq[RL_MSI_MESSAGES]; 813 void *rl_intrhand[RL_MSI_MESSAGES]; 814 device_t rl_miibus; 815 bus_dma_tag_t rl_parent_tag; | 537 uint8_t last_tx; 538 uint8_t cur_tx; 539}; 540 541#define RL_INC(x) (x = (x + 1) % RL_TX_LIST_CNT) 542#define RL_CUR_TXADDR(x) ((x->rl_cdata.cur_tx * 4) + RL_TXADDR0) 543#define RL_CUR_TXSTAT(x) ((x->rl_cdata.cur_tx * 4) + RL_TXSTAT0) 544#define RL_CUR_TXMBUF(x) (x->rl_cdata.rl_tx_chain[x->rl_cdata.cur_tx]) --- 271 unchanged lines hidden (view full) --- 816 device_t rl_dev; 817 struct resource *rl_res; 818 int rl_res_id; 819 int rl_res_type; 820 struct resource *rl_irq[RL_MSI_MESSAGES]; 821 void *rl_intrhand[RL_MSI_MESSAGES]; 822 device_t rl_miibus; 823 bus_dma_tag_t rl_parent_tag; |
816 bus_dma_tag_t rl_tag; | |
817 uint8_t rl_type; 818 int rl_eecmd_read; 819 int rl_eewidth; 820 uint8_t rl_stats_no_timeout; 821 int rl_txthresh; 822 struct rl_chain_data rl_cdata; 823 struct rl_list_data rl_ldata; 824 struct callout rl_stat_callout; --- 275 unchanged lines hidden --- | 824 uint8_t rl_type; 825 int rl_eecmd_read; 826 int rl_eewidth; 827 uint8_t rl_stats_no_timeout; 828 int rl_txthresh; 829 struct rl_chain_data rl_cdata; 830 struct rl_list_data rl_ldata; 831 struct callout rl_stat_callout; --- 275 unchanged lines hidden --- |