New Features:

- Added 2.5G support for BCM5708S.

MFC after:	4 weeks
This commit is contained in:
David Christensen 2007-06-07 02:23:56 +00:00
parent 7656f58e1c
commit 133ac1f5cc
2 changed files with 414 additions and 412 deletions

File diff suppressed because it is too large Load Diff

View File

@ -65,7 +65,7 @@
#include <netinet/ip6.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/bus.h>
@ -99,7 +99,7 @@
/****************************************************************************/
/* Debugging macros and definitions. */
/****************************************************************************/
/****************************************************************************/
#define BCE_CP_LOAD 0x00000001
#define BCE_CP_SEND 0x00000002
#define BCE_CP_RECV 0x00000004
@ -4469,16 +4469,16 @@ struct l2_fhdr {
/* Use the natural page size of the host CPU. */
/* XXX: This has only been tested on amd64/i386 systems using 4KB pages. */
#define BCM_PAGE_BITS PAGE_SHIFT
#define BCM_PAGE_SIZE PAGE_SIZE
#define BCM_PAGE_SIZE PAGE_SIZE
#define TX_PAGES 2
#define TX_PAGES 2
#define TOTAL_TX_BD_PER_PAGE (BCM_PAGE_SIZE / sizeof(struct tx_bd))
#define USABLE_TX_BD_PER_PAGE (TOTAL_TX_BD_PER_PAGE - 1)
#define TOTAL_TX_BD (TOTAL_TX_BD_PER_PAGE * TX_PAGES)
#define USABLE_TX_BD (USABLE_TX_BD_PER_PAGE * TX_PAGES)
#define MAX_TX_BD (TOTAL_TX_BD - 1)
#define RX_PAGES 2
#define RX_PAGES 2
#define TOTAL_RX_BD_PER_PAGE (BCM_PAGE_SIZE / sizeof(struct rx_bd))
#define USABLE_RX_BD_PER_PAGE (TOTAL_RX_BD_PER_PAGE - 1)
#define TOTAL_RX_BD (TOTAL_RX_BD_PER_PAGE * RX_PAGES)
@ -4604,10 +4604,10 @@ struct fw_info {
#define BCE_CRC32_RESIDUAL 0xdebb20e3
#define BCE_TX_TIMEOUT 5
#define BCE_MAX_SEGMENTS 32
#define BCE_TSO_MAX_SIZE 65536
#define BCE_TSO_MAX_SEG_SIZE 4096
#define BCE_MAX_SEGMENTS 32
#define BCE_TSO_MAX_SIZE 65536
#define BCE_TSO_MAX_SEG_SIZE 4096
#define BCE_DMA_ALIGN 8
#define BCE_DMA_BOUNDARY 0
@ -4699,6 +4699,10 @@ struct bce_softc
#define BCE_PHY_INT_MODE_AUTO_POLLING_FLAG 0x100
#define BCE_PHY_INT_MODE_LINK_READY_FLAG 0x200
/* Values that need to be shared with the PHY driver. */
u32 bce_shared_hw_cfg;
u32 bce_port_hw_cfg;
bus_addr_t max_bus_addr;
u16 bus_speed_mhz; /* PCI bus speed */
struct flash_spec *bce_flash_info; /* Flash NVRAM settings */
@ -4819,9 +4823,9 @@ struct bce_softc
struct mbuf *rx_mbuf_ptr[TOTAL_RX_BD];
/* Track the number of rx_bd and tx_bd's in use. */
u16 free_rx_bd;
u16 free_rx_bd;
u16 max_rx_bd;
u16 used_tx_bd;
u16 used_tx_bd;
u16 max_tx_bd;
/* Provides access to hardware statistics through sysctl. */
@ -4879,9 +4883,9 @@ struct bce_softc
u32 stat_CatchupInRuleCheckerDiscards;
u32 stat_CatchupInFTQDiscards;
u32 stat_CatchupInMBUFDiscards;
u32 stat_CatchupInRuleCheckerP4Hit;
/* Provides access to certain firmware statistics. */
u32 stat_CatchupInRuleCheckerP4Hit;
/* Provides access to certain firmware statistics. */
u32 com_no_buffers;
#ifdef BCE_DEBUG
@ -4895,16 +4899,16 @@ struct bce_softc
u32 rx_interrupts;
u32 tx_interrupts;
u32 rx_low_watermark; /* Lowest number of rx_bd's free. */
u32 rx_low_watermark; /* Lowest number of rx_bd's free. */
u32 rx_empty_count; /* Number of times the RX chain was empty. */
u32 tx_hi_watermark; /* Greatest number of tx_bd's used. */
u32 tx_hi_watermark; /* Greatest number of tx_bd's used. */
u32 tx_full_count; /* Number of times the TX chain was full. */
u32 mbuf_alloc_failed; /* Mbuf allocation failure counter. */
u32 l2fhdr_status_errors;
u32 unexpected_attentions;
u32 lost_status_block_updates;
u32 requested_tso_frames; /* Number of TSO frames enqueued. */
u32 lost_status_block_updates;
u32 requested_tso_frames; /* Number of TSO frames enqueued. */
#endif
};