FreeBSD kernel CXGB device code
|
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/ctype.h>
#include <sys/endian.h>
#include <sys/bus.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/kdb.h>
#include <dev/mii/mii.h>
#include <sys/syslog.h>
Go to the source code of this file.
Data Structures | |
struct | t3_mbuf_hdr |
Macros | |
#define | PANIC_IF(exp) |
#define | PRIV_SUPPORTED |
#define | CXGB_TX_CLEANUP_THRESHOLD 32 |
#define | TX_MAX_SIZE (1 << 16) /* 64KB */ |
#define | TX_MAX_SEGS 36 /* maximum supported by card */ |
#define | TX_MAX_DESC 4 /* max descriptors per packet */ |
#define | TX_START_MAX_DESC |
#define | TX_CLEAN_MAX_DESC |
#define | TX_WR_SIZE_MAX |
#define | TX_WR_COUNT_MAX |
#define | prefetch(x) __builtin_prefetch(x) |
#define | smp_mb() |
#define | DBG_RX (1 << 0) |
#define | DBG(...) |
#define | promisc_rx_mode(rm) ((rm)->port->ifp->if_flags & IFF_PROMISC) |
#define | allmulti_rx_mode(rm) ((rm)->port->ifp->if_flags & IFF_ALLMULTI) |
#define | CH_ERR(adap, fmt, ...) log(LOG_ERR, fmt, ##__VA_ARGS__) |
#define | CH_WARN(adap, fmt, ...) log(LOG_WARNING, fmt, ##__VA_ARGS__) |
#define | CH_ALERT(adap, fmt, ...) log(LOG_ALERT, fmt, ##__VA_ARGS__) |
#define | t3_os_sleep(x) DELAY((x) * 1000) |
#define | test_and_clear_bit(bit, p) atomic_cmpset_int((p), ((*(p)) | (1<<bit)), ((*(p)) & ~(1<<bit))) |
#define | max_t(type, a, b) (type)max((a), (b)) |
#define | cpu_to_be32(x) htobe32(x) |
#define | BMCR_LOOPBACK BMCR_LOOP |
#define | BMCR_ISOLATE BMCR_ISO |
#define | BMCR_ANENABLE BMCR_AUTOEN |
#define | BMCR_SPEED1000 BMCR_SPEED1 |
#define | BMCR_SPEED100 BMCR_SPEED0 |
#define | BMCR_ANRESTART BMCR_STARTNEG |
#define | BMCR_FULLDPLX BMCR_FDX |
#define | BMSR_LSTATUS BMSR_LINK |
#define | BMSR_ANEGCOMPLETE BMSR_ACOMP |
#define | MII_LPA MII_ANLPAR |
#define | MII_ADVERTISE MII_ANAR |
#define | MII_CTRL1000 MII_100T2CR |
#define | ADVERTISE_PAUSE_CAP ANAR_FC |
#define | ADVERTISE_PAUSE_ASYM 0x800 |
#define | ADVERTISE_PAUSE ANAR_FC |
#define | ADVERTISE_1000HALF 0x100 |
#define | ADVERTISE_1000FULL 0x200 |
#define | ADVERTISE_10FULL ANAR_10_FD |
#define | ADVERTISE_10HALF ANAR_10 |
#define | ADVERTISE_100FULL ANAR_TX_FD |
#define | ADVERTISE_100HALF ANAR_TX |
#define | ADVERTISE_1000XHALF ANAR_X_HD |
#define | ADVERTISE_1000XFULL ANAR_X_FD |
#define | ADVERTISE_1000XPSE_ASYM ANAR_X_PAUSE_ASYM |
#define | ADVERTISE_1000XPAUSE ANAR_X_PAUSE_SYM |
#define | ADVERTISE_CSMA ANAR_CSMA |
#define | ADVERTISE_NPAGE ANAR_NP |
#define | PCI_CAP_ID_VPD PCIY_VPD |
#define | PCI_VPD_ADDR PCIR_VPD_ADDR |
#define | PCI_VPD_ADDR_F 0x8000 |
#define | PCI_VPD_DATA PCIR_VPD_DATA |
#define | PCI_CAP_ID_EXP PCIY_EXPRESS |
#define | PCI_EXP_DEVCTL PCIER_DEVICE_CTL |
#define | PCI_EXP_DEVCTL_PAYLOAD PCIEM_CTL_MAX_PAYLOAD |
#define | PCI_EXP_DEVCTL_READRQ PCIEM_CTL_MAX_READ_REQUEST |
#define | PCI_EXP_LNKCTL PCIER_LINK_CTL |
#define | PCI_EXP_LNKSTA PCIER_LINK_STA |
#define | __devinit |
#define | udelay(x) DELAY(x) |
#define | ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) |
#define | le32_to_cpu(x) le32toh(x) |
#define | le16_to_cpu(x) le16toh(x) |
#define | cpu_to_le32(x) htole32(x) |
#define | swab32(x) bswap32(x) |
#define | simple_strtoul(...) strtoul(__VA_ARGS__) |
#define | __BIG_ENDIAN_BITFIELD |
#define | SUPPORTED_10baseT_Half (1 << 0) |
#define | SUPPORTED_10baseT_Full (1 << 1) |
#define | SUPPORTED_100baseT_Half (1 << 2) |
#define | SUPPORTED_100baseT_Full (1 << 3) |
#define | SUPPORTED_1000baseT_Half (1 << 4) |
#define | SUPPORTED_1000baseT_Full (1 << 5) |
#define | SUPPORTED_Autoneg (1 << 6) |
#define | SUPPORTED_TP (1 << 7) |
#define | SUPPORTED_AUI (1 << 8) |
#define | SUPPORTED_MII (1 << 9) |
#define | SUPPORTED_FIBRE (1 << 10) |
#define | SUPPORTED_BNC (1 << 11) |
#define | SUPPORTED_10000baseT_Full (1 << 12) |
#define | SUPPORTED_Pause (1 << 13) |
#define | SUPPORTED_Asym_Pause (1 << 14) |
#define | ADVERTISED_10baseT_Half (1 << 0) |
#define | ADVERTISED_10baseT_Full (1 << 1) |
#define | ADVERTISED_100baseT_Half (1 << 2) |
#define | ADVERTISED_100baseT_Full (1 << 3) |
#define | ADVERTISED_1000baseT_Half (1 << 4) |
#define | ADVERTISED_1000baseT_Full (1 << 5) |
#define | ADVERTISED_Autoneg (1 << 6) |
#define | ADVERTISED_TP (1 << 7) |
#define | ADVERTISED_AUI (1 << 8) |
#define | ADVERTISED_MII (1 << 9) |
#define | ADVERTISED_FIBRE (1 << 10) |
#define | ADVERTISED_BNC (1 << 11) |
#define | ADVERTISED_10000baseT_Full (1 << 12) |
#define | ADVERTISED_Pause (1 << 13) |
#define | ADVERTISED_Asym_Pause (1 << 14) |
#define | AUTONEG_DISABLE 0x00 |
#define | AUTONEG_ENABLE 0x01 |
#define | SPEED_10 10 |
#define | SPEED_100 100 |
#define | SPEED_1000 1000 |
#define | SPEED_10000 10000 |
#define | DUPLEX_HALF 0 |
#define | DUPLEX_FULL 1 |
Typedefs | |
typedef struct adapter | adapter_t |
typedef struct port_info | pinfo_t |
typedef uint8_t | u8 |
typedef uint16_t | u16 |
typedef uint32_t | u32 |
typedef uint64_t | u64 |
typedef uint8_t | __u8 |
typedef uint16_t | __u16 |
typedef uint32_t | __u32 |
typedef uint8_t | __be8 |
typedef uint16_t | __be16 |
typedef uint32_t | __be32 |
typedef uint64_t | __be64 |
Enumerations | |
enum | { TP_TMR_RES = 200 , MAX_NPORTS = 4 , TP_SRAM_OFFSET = 4096 , TP_SRAM_LEN = 2112 } |
Variables | |
static const int | debug_flags = DBG_RX |
#define __BIG_ENDIAN_BITFIELD |
Definition at line 216 of file cxgb_osdep.h.
#define __devinit |
Definition at line 187 of file cxgb_osdep.h.
#define ADVERTISE_1000FULL 0x200 |
Definition at line 153 of file cxgb_osdep.h.
#define ADVERTISE_1000HALF 0x100 |
Definition at line 152 of file cxgb_osdep.h.
#define ADVERTISE_1000XFULL ANAR_X_FD |
Definition at line 161 of file cxgb_osdep.h.
#define ADVERTISE_1000XHALF ANAR_X_HD |
Definition at line 160 of file cxgb_osdep.h.
#define ADVERTISE_1000XPAUSE ANAR_X_PAUSE_SYM |
Definition at line 163 of file cxgb_osdep.h.
#define ADVERTISE_1000XPSE_ASYM ANAR_X_PAUSE_ASYM |
Definition at line 162 of file cxgb_osdep.h.
#define ADVERTISE_100FULL ANAR_TX_FD |
Definition at line 156 of file cxgb_osdep.h.
#define ADVERTISE_100HALF ANAR_TX |
Definition at line 157 of file cxgb_osdep.h.
#define ADVERTISE_10FULL ANAR_10_FD |
Definition at line 154 of file cxgb_osdep.h.
#define ADVERTISE_10HALF ANAR_10 |
Definition at line 155 of file cxgb_osdep.h.
#define ADVERTISE_CSMA ANAR_CSMA |
Definition at line 165 of file cxgb_osdep.h.
#define ADVERTISE_NPAGE ANAR_NP |
Definition at line 166 of file cxgb_osdep.h.
#define ADVERTISE_PAUSE ANAR_FC |
Definition at line 151 of file cxgb_osdep.h.
#define ADVERTISE_PAUSE_ASYM 0x800 |
Definition at line 150 of file cxgb_osdep.h.
#define ADVERTISE_PAUSE_CAP ANAR_FC |
Definition at line 149 of file cxgb_osdep.h.
#define ADVERTISED_10000baseT_Full (1 << 12) |
Definition at line 253 of file cxgb_osdep.h.
#define ADVERTISED_1000baseT_Full (1 << 5) |
Definition at line 246 of file cxgb_osdep.h.
#define ADVERTISED_1000baseT_Half (1 << 4) |
Definition at line 245 of file cxgb_osdep.h.
#define ADVERTISED_100baseT_Full (1 << 3) |
Definition at line 244 of file cxgb_osdep.h.
#define ADVERTISED_100baseT_Half (1 << 2) |
Definition at line 243 of file cxgb_osdep.h.
#define ADVERTISED_10baseT_Full (1 << 1) |
Definition at line 242 of file cxgb_osdep.h.
#define ADVERTISED_10baseT_Half (1 << 0) |
Definition at line 241 of file cxgb_osdep.h.
#define ADVERTISED_Asym_Pause (1 << 14) |
Definition at line 255 of file cxgb_osdep.h.
#define ADVERTISED_AUI (1 << 8) |
Definition at line 249 of file cxgb_osdep.h.
#define ADVERTISED_Autoneg (1 << 6) |
Definition at line 247 of file cxgb_osdep.h.
#define ADVERTISED_BNC (1 << 11) |
Definition at line 252 of file cxgb_osdep.h.
#define ADVERTISED_FIBRE (1 << 10) |
Definition at line 251 of file cxgb_osdep.h.
#define ADVERTISED_MII (1 << 9) |
Definition at line 250 of file cxgb_osdep.h.
#define ADVERTISED_Pause (1 << 13) |
Definition at line 254 of file cxgb_osdep.h.
#define ADVERTISED_TP (1 << 7) |
Definition at line 248 of file cxgb_osdep.h.
Definition at line 121 of file cxgb_osdep.h.
#define ARRAY_SIZE | ( | x | ) | (sizeof(x) / sizeof((x)[0])) |
Definition at line 189 of file cxgb_osdep.h.
#define AUTONEG_DISABLE 0x00 |
Definition at line 260 of file cxgb_osdep.h.
#define AUTONEG_ENABLE 0x01 |
Definition at line 261 of file cxgb_osdep.h.
#define BMCR_ANENABLE BMCR_AUTOEN |
Definition at line 137 of file cxgb_osdep.h.
#define BMCR_ANRESTART BMCR_STARTNEG |
Definition at line 140 of file cxgb_osdep.h.
#define BMCR_FULLDPLX BMCR_FDX |
Definition at line 141 of file cxgb_osdep.h.
#define BMCR_ISOLATE BMCR_ISO |
Definition at line 136 of file cxgb_osdep.h.
#define BMCR_LOOPBACK BMCR_LOOP |
Definition at line 135 of file cxgb_osdep.h.
#define BMCR_SPEED100 BMCR_SPEED0 |
Definition at line 139 of file cxgb_osdep.h.
#define BMCR_SPEED1000 BMCR_SPEED1 |
Definition at line 138 of file cxgb_osdep.h.
#define BMSR_ANEGCOMPLETE BMSR_ACOMP |
Definition at line 143 of file cxgb_osdep.h.
#define BMSR_LSTATUS BMSR_LINK |
Definition at line 142 of file cxgb_osdep.h.
#define CH_ALERT | ( | adap, | |
fmt, | |||
... | |||
) | log(LOG_ALERT, fmt, ##__VA_ARGS__) |
Definition at line 125 of file cxgb_osdep.h.
#define CH_ERR | ( | adap, | |
fmt, | |||
... | |||
) | log(LOG_ERR, fmt, ##__VA_ARGS__) |
Definition at line 123 of file cxgb_osdep.h.
#define CH_WARN | ( | adap, | |
fmt, | |||
... | |||
) | log(LOG_WARNING, fmt, ##__VA_ARGS__) |
Definition at line 124 of file cxgb_osdep.h.
#define cpu_to_be32 | ( | x | ) | htobe32(x) |
Definition at line 132 of file cxgb_osdep.h.
#define cpu_to_le32 | ( | x | ) | htole32(x) |
Definition at line 192 of file cxgb_osdep.h.
#define CXGB_TX_CLEANUP_THRESHOLD 32 |
Definition at line 78 of file cxgb_osdep.h.
#define DBG | ( | ... | ) |
Definition at line 115 of file cxgb_osdep.h.
#define DBG_RX (1 << 0) |
Definition at line 106 of file cxgb_osdep.h.
#define DUPLEX_FULL 1 |
Definition at line 268 of file cxgb_osdep.h.
#define DUPLEX_HALF 0 |
Definition at line 267 of file cxgb_osdep.h.
#define le16_to_cpu | ( | x | ) | le16toh(x) |
Definition at line 191 of file cxgb_osdep.h.
#define le32_to_cpu | ( | x | ) | le32toh(x) |
Definition at line 190 of file cxgb_osdep.h.
#define max_t | ( | type, | |
a, | |||
b | |||
) | (type)max((a), (b)) |
Definition at line 131 of file cxgb_osdep.h.
#define MII_ADVERTISE MII_ANAR |
Definition at line 146 of file cxgb_osdep.h.
#define MII_CTRL1000 MII_100T2CR |
Definition at line 147 of file cxgb_osdep.h.
#define MII_LPA MII_ANLPAR |
Definition at line 145 of file cxgb_osdep.h.
#define PANIC_IF | ( | exp | ) |
Definition at line 67 of file cxgb_osdep.h.
#define PCI_CAP_ID_EXP PCIY_EXPRESS |
Definition at line 175 of file cxgb_osdep.h.
#define PCI_CAP_ID_VPD PCIY_VPD |
Definition at line 170 of file cxgb_osdep.h.
#define PCI_EXP_DEVCTL PCIER_DEVICE_CTL |
Definition at line 176 of file cxgb_osdep.h.
#define PCI_EXP_DEVCTL_PAYLOAD PCIEM_CTL_MAX_PAYLOAD |
Definition at line 177 of file cxgb_osdep.h.
#define PCI_EXP_DEVCTL_READRQ PCIEM_CTL_MAX_READ_REQUEST |
Definition at line 178 of file cxgb_osdep.h.
#define PCI_EXP_LNKCTL PCIER_LINK_CTL |
Definition at line 179 of file cxgb_osdep.h.
#define PCI_EXP_LNKSTA PCIER_LINK_STA |
Definition at line 180 of file cxgb_osdep.h.
#define PCI_VPD_ADDR PCIR_VPD_ADDR |
Definition at line 171 of file cxgb_osdep.h.
#define PCI_VPD_ADDR_F 0x8000 |
Definition at line 172 of file cxgb_osdep.h.
#define PCI_VPD_DATA PCIR_VPD_DATA |
Definition at line 173 of file cxgb_osdep.h.
#define prefetch | ( | x | ) | __builtin_prefetch(x) |
Definition at line 92 of file cxgb_osdep.h.
#define PRIV_SUPPORTED |
Definition at line 76 of file cxgb_osdep.h.
Definition at line 120 of file cxgb_osdep.h.
#define simple_strtoul | ( | ... | ) | strtoul(__VA_ARGS__) |
Definition at line 195 of file cxgb_osdep.h.
#define smp_mb | ( | ) |
Definition at line 103 of file cxgb_osdep.h.
#define SPEED_10 10 |
Definition at line 263 of file cxgb_osdep.h.
#define SPEED_100 100 |
Definition at line 264 of file cxgb_osdep.h.
#define SPEED_1000 1000 |
Definition at line 265 of file cxgb_osdep.h.
#define SPEED_10000 10000 |
Definition at line 266 of file cxgb_osdep.h.
#define SUPPORTED_10000baseT_Full (1 << 12) |
Definition at line 236 of file cxgb_osdep.h.
#define SUPPORTED_1000baseT_Full (1 << 5) |
Definition at line 229 of file cxgb_osdep.h.
#define SUPPORTED_1000baseT_Half (1 << 4) |
Definition at line 228 of file cxgb_osdep.h.
#define SUPPORTED_100baseT_Full (1 << 3) |
Definition at line 227 of file cxgb_osdep.h.
#define SUPPORTED_100baseT_Half (1 << 2) |
Definition at line 226 of file cxgb_osdep.h.
#define SUPPORTED_10baseT_Full (1 << 1) |
Definition at line 225 of file cxgb_osdep.h.
#define SUPPORTED_10baseT_Half (1 << 0) |
Definition at line 224 of file cxgb_osdep.h.
#define SUPPORTED_Asym_Pause (1 << 14) |
Definition at line 238 of file cxgb_osdep.h.
#define SUPPORTED_AUI (1 << 8) |
Definition at line 232 of file cxgb_osdep.h.
#define SUPPORTED_Autoneg (1 << 6) |
Definition at line 230 of file cxgb_osdep.h.
#define SUPPORTED_BNC (1 << 11) |
Definition at line 235 of file cxgb_osdep.h.
#define SUPPORTED_FIBRE (1 << 10) |
Definition at line 234 of file cxgb_osdep.h.
#define SUPPORTED_MII (1 << 9) |
Definition at line 233 of file cxgb_osdep.h.
#define SUPPORTED_Pause (1 << 13) |
Definition at line 237 of file cxgb_osdep.h.
#define SUPPORTED_TP (1 << 7) |
Definition at line 231 of file cxgb_osdep.h.
#define swab32 | ( | x | ) | bswap32(x) |
Definition at line 193 of file cxgb_osdep.h.
#define t3_os_sleep | ( | x | ) | DELAY((x) * 1000) |
Definition at line 127 of file cxgb_osdep.h.
#define test_and_clear_bit | ( | bit, | |
p | |||
) | atomic_cmpset_int((p), ((*(p)) | (1<<bit)), ((*(p)) & ~(1<<bit))) |
Definition at line 129 of file cxgb_osdep.h.
#define TX_CLEAN_MAX_DESC |
Definition at line 88 of file cxgb_osdep.h.
#define TX_MAX_DESC 4 /* max descriptors per packet */ |
Definition at line 83 of file cxgb_osdep.h.
#define TX_MAX_SEGS 36 /* maximum supported by card */ |
Definition at line 81 of file cxgb_osdep.h.
#define TX_MAX_SIZE (1 << 16) /* 64KB */ |
Definition at line 80 of file cxgb_osdep.h.
#define TX_START_MAX_DESC |
Definition at line 86 of file cxgb_osdep.h.
#define TX_WR_COUNT_MAX |
Definition at line 90 of file cxgb_osdep.h.
#define TX_WR_SIZE_MAX |
Definition at line 89 of file cxgb_osdep.h.
#define udelay | ( | x | ) | DELAY(x) |
Definition at line 188 of file cxgb_osdep.h.
typedef uint16_t __be16 |
Definition at line 209 of file cxgb_osdep.h.
typedef uint32_t __be32 |
Definition at line 210 of file cxgb_osdep.h.
typedef uint64_t __be64 |
Definition at line 211 of file cxgb_osdep.h.
typedef uint8_t __be8 |
Definition at line 208 of file cxgb_osdep.h.
typedef uint16_t __u16 |
Definition at line 206 of file cxgb_osdep.h.
typedef uint32_t __u32 |
Definition at line 207 of file cxgb_osdep.h.
typedef uint8_t __u8 |
Definition at line 205 of file cxgb_osdep.h.
Definition at line 50 of file cxgb_osdep.h.
Definition at line 51 of file cxgb_osdep.h.
typedef uint16_t u16 |
Definition at line 201 of file cxgb_osdep.h.
typedef uint32_t u32 |
Definition at line 202 of file cxgb_osdep.h.
typedef uint64_t u64 |
Definition at line 203 of file cxgb_osdep.h.
typedef uint8_t u8 |
Definition at line 200 of file cxgb_osdep.h.
anonymous enum |
Enumerator | |
---|---|
TP_TMR_RES | |
MAX_NPORTS | |
TP_SRAM_OFFSET | |
TP_SRAM_LEN |
Definition at line 54 of file cxgb_osdep.h.
|
static |
Definition at line 107 of file cxgb_osdep.h.