if_bge.c (213410) | if_bge.c (213411) |
---|---|
1/*- 2 * Copyright (c) 2001 Wind River Systems 3 * Copyright (c) 1997, 1998, 1999, 2001 4 * Bill Paul <wpaul@windriver.com>. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 18 unchanged lines hidden (view full) --- 27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31 * THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2001 Wind River Systems 3 * Copyright (c) 1997, 1998, 1999, 2001 4 * Bill Paul <wpaul@windriver.com>. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 18 unchanged lines hidden (view full) --- 27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31 * THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34#include <sys/cdefs.h> |
35__FBSDID("$FreeBSD: head/sys/dev/bge/if_bge.c 213410 2010-10-04 18:01:23Z yongari $"); | 35__FBSDID("$FreeBSD: head/sys/dev/bge/if_bge.c 213411 2010-10-04 18:09:01Z yongari $"); |
36 37/* 38 * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. 39 * 40 * The Broadcom BCM5700 is based on technology originally developed by 41 * Alteon Networks as part of the Tigon I and Tigon II gigabit ethernet 42 * MAC chips. The BCM5700, sometimes refered to as the Tigon III, has 43 * two on-board MIPS R4000 CPUs and can have as much as 16MB of external --- 1809 unchanged lines hidden (view full) --- 1853 if (sc->bge_flags & BGE_FLAG_PCIE) 1854 val |= BGE_RDMAMODE_FIFO_LONG_BURST; 1855 if (sc->bge_flags & BGE_FLAG_TSO) { 1856 val |= BGE_RDMAMODE_TSO4_ENABLE; 1857 if (sc->bge_asicrev == BGE_ASICREV_BCM5785 || 1858 sc->bge_asicrev == BGE_ASICREV_BCM57780) 1859 val |= BGE_RDMAMODE_TSO6_ENABLE; 1860 } | 36 37/* 38 * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. 39 * 40 * The Broadcom BCM5700 is based on technology originally developed by 41 * Alteon Networks as part of the Tigon I and Tigon II gigabit ethernet 42 * MAC chips. The BCM5700, sometimes refered to as the Tigon III, has 43 * two on-board MIPS R4000 CPUs and can have as much as 16MB of external --- 1809 unchanged lines hidden (view full) --- 1853 if (sc->bge_flags & BGE_FLAG_PCIE) 1854 val |= BGE_RDMAMODE_FIFO_LONG_BURST; 1855 if (sc->bge_flags & BGE_FLAG_TSO) { 1856 val |= BGE_RDMAMODE_TSO4_ENABLE; 1857 if (sc->bge_asicrev == BGE_ASICREV_BCM5785 || 1858 sc->bge_asicrev == BGE_ASICREV_BCM57780) 1859 val |= BGE_RDMAMODE_TSO6_ENABLE; 1860 } |
1861 if (sc->bge_asicrev == BGE_ASICREV_BCM5761 || 1862 sc->bge_asicrev == BGE_ASICREV_BCM5784 || 1863 sc->bge_asicrev == BGE_ASICREV_BCM5785 || 1864 sc->bge_asicrev == BGE_ASICREV_BCM57780) { 1865 /* 1866 * Enable fix for read DMA FIFO overruns. 1867 * The fix is to limit the number of RX BDs 1868 * the hardware would fetch at a fime. 1869 */ 1870 CSR_WRITE_4(sc, BGE_RDMA_RSRVCTRL, 1871 CSR_READ_4(sc, BGE_RDMA_RSRVCTRL) | 1872 BGE_RDMA_RSRVCTRL_FIFO_OFLW_FIX); 1873 } |
|
1861 CSR_WRITE_4(sc, BGE_RDMA_MODE, val); 1862 DELAY(40); 1863 1864 /* Turn on RX data completion state machine */ 1865 CSR_WRITE_4(sc, BGE_RDC_MODE, BGE_RDCMODE_ENABLE); 1866 1867 /* Turn on RX BD initiator state machine */ 1868 CSR_WRITE_4(sc, BGE_RBDI_MODE, BGE_RBDIMODE_ENABLE); --- 3603 unchanged lines hidden --- | 1874 CSR_WRITE_4(sc, BGE_RDMA_MODE, val); 1875 DELAY(40); 1876 1877 /* Turn on RX data completion state machine */ 1878 CSR_WRITE_4(sc, BGE_RDC_MODE, BGE_RDCMODE_ENABLE); 1879 1880 /* Turn on RX BD initiator state machine */ 1881 CSR_WRITE_4(sc, BGE_RBDI_MODE, BGE_RBDIMODE_ENABLE); --- 3603 unchanged lines hidden --- |