diff options
Diffstat (limited to 'drivers/net/mv643xx_eth.h')
| -rw-r--r-- | drivers/net/mv643xx_eth.h | 250 |
1 files changed, 92 insertions, 158 deletions
diff --git a/drivers/net/mv643xx_eth.h b/drivers/net/mv643xx_eth.h index f769f9b626ea..7754d1974b9e 100644 --- a/drivers/net/mv643xx_eth.h +++ b/drivers/net/mv643xx_eth.h | |||
| @@ -5,53 +5,16 @@ | |||
| 5 | #include <linux/kernel.h> | 5 | #include <linux/kernel.h> |
| 6 | #include <linux/spinlock.h> | 6 | #include <linux/spinlock.h> |
| 7 | #include <linux/workqueue.h> | 7 | #include <linux/workqueue.h> |
| 8 | #include <linux/mii.h> | ||
| 8 | 9 | ||
| 9 | #include <linux/mv643xx.h> | 10 | #include <linux/mv643xx.h> |
| 10 | 11 | ||
| 11 | #define BIT0 0x00000001 | ||
| 12 | #define BIT1 0x00000002 | ||
| 13 | #define BIT2 0x00000004 | ||
| 14 | #define BIT3 0x00000008 | ||
| 15 | #define BIT4 0x00000010 | ||
| 16 | #define BIT5 0x00000020 | ||
| 17 | #define BIT6 0x00000040 | ||
| 18 | #define BIT7 0x00000080 | ||
| 19 | #define BIT8 0x00000100 | ||
| 20 | #define BIT9 0x00000200 | ||
| 21 | #define BIT10 0x00000400 | ||
| 22 | #define BIT11 0x00000800 | ||
| 23 | #define BIT12 0x00001000 | ||
| 24 | #define BIT13 0x00002000 | ||
| 25 | #define BIT14 0x00004000 | ||
| 26 | #define BIT15 0x00008000 | ||
| 27 | #define BIT16 0x00010000 | ||
| 28 | #define BIT17 0x00020000 | ||
| 29 | #define BIT18 0x00040000 | ||
| 30 | #define BIT19 0x00080000 | ||
| 31 | #define BIT20 0x00100000 | ||
| 32 | #define BIT21 0x00200000 | ||
| 33 | #define BIT22 0x00400000 | ||
| 34 | #define BIT23 0x00800000 | ||
| 35 | #define BIT24 0x01000000 | ||
| 36 | #define BIT25 0x02000000 | ||
| 37 | #define BIT26 0x04000000 | ||
| 38 | #define BIT27 0x08000000 | ||
| 39 | #define BIT28 0x10000000 | ||
| 40 | #define BIT29 0x20000000 | ||
| 41 | #define BIT30 0x40000000 | ||
| 42 | #define BIT31 0x80000000 | ||
| 43 | |||
| 44 | /* | ||
| 45 | * The first part is the high level driver of the gigE ethernet ports. | ||
| 46 | */ | ||
| 47 | |||
| 48 | /* Checksum offload for Tx works for most packets, but | 12 | /* Checksum offload for Tx works for most packets, but |
| 49 | * fails if previous packet sent did not use hw csum | 13 | * fails if previous packet sent did not use hw csum |
| 50 | */ | 14 | */ |
| 51 | #define MV643XX_CHECKSUM_OFFLOAD_TX | 15 | #define MV643XX_CHECKSUM_OFFLOAD_TX |
| 52 | #define MV643XX_NAPI | 16 | #define MV643XX_NAPI |
| 53 | #define MV643XX_TX_FAST_REFILL | 17 | #define MV643XX_TX_FAST_REFILL |
| 54 | #undef MV643XX_RX_QUEUE_FILL_ON_TASK /* Does not work, yet */ | ||
| 55 | #undef MV643XX_COAL | 18 | #undef MV643XX_COAL |
| 56 | 19 | ||
| 57 | /* | 20 | /* |
| @@ -73,25 +36,40 @@ | |||
| 73 | #define MV643XX_RX_COAL 100 | 36 | #define MV643XX_RX_COAL 100 |
| 74 | #endif | 37 | #endif |
| 75 | 38 | ||
| 76 | /* | 39 | #ifdef MV643XX_CHECKSUM_OFFLOAD_TX |
| 77 | * The second part is the low level driver of the gigE ethernet ports. | 40 | #define MAX_DESCS_PER_SKB (MAX_SKB_FRAGS + 1) |
| 78 | */ | 41 | #else |
| 42 | #define MAX_DESCS_PER_SKB 1 | ||
| 43 | #endif | ||
| 79 | 44 | ||
| 80 | /* | 45 | #define ETH_VLAN_HLEN 4 |
| 81 | * Header File for : MV-643xx network interface header | 46 | #define ETH_FCS_LEN 4 |
| 82 | * | 47 | #define ETH_DMA_ALIGN 8 /* hw requires 8-byte alignment */ |
| 83 | * DESCRIPTION: | 48 | #define ETH_HW_IP_ALIGN 2 /* hw aligns IP header */ |
| 84 | * This header file contains macros typedefs and function declaration for | 49 | #define ETH_WRAPPER_LEN (ETH_HW_IP_ALIGN + ETH_HLEN + \ |
| 85 | * the Marvell Gig Bit Ethernet Controller. | 50 | ETH_VLAN_HLEN + ETH_FCS_LEN) |
| 86 | * | 51 | #define ETH_RX_SKB_SIZE ((dev->mtu + ETH_WRAPPER_LEN + 7) & ~0x7) |
| 87 | * DEPENDENCIES: | 52 | |
| 88 | * None. | 53 | #define ETH_RX_QUEUES_ENABLED (1 << 0) /* use only Q0 for receive */ |
| 89 | * | 54 | #define ETH_TX_QUEUES_ENABLED (1 << 0) /* use only Q0 for transmit */ |
| 90 | */ | 55 | |
| 56 | #define ETH_INT_CAUSE_RX_DONE (ETH_RX_QUEUES_ENABLED << 2) | ||
| 57 | #define ETH_INT_CAUSE_RX_ERROR (ETH_RX_QUEUES_ENABLED << 9) | ||
| 58 | #define ETH_INT_CAUSE_RX (ETH_INT_CAUSE_RX_DONE | ETH_INT_CAUSE_RX_ERROR) | ||
| 59 | #define ETH_INT_CAUSE_EXT 0x00000002 | ||
| 60 | #define ETH_INT_UNMASK_ALL (ETH_INT_CAUSE_RX | ETH_INT_CAUSE_EXT) | ||
| 91 | 61 | ||
| 92 | /* MAC accepet/reject macros */ | 62 | #define ETH_INT_CAUSE_TX_DONE (ETH_TX_QUEUES_ENABLED << 0) |
| 93 | #define ACCEPT_MAC_ADDR 0 | 63 | #define ETH_INT_CAUSE_TX_ERROR (ETH_TX_QUEUES_ENABLED << 8) |
| 94 | #define REJECT_MAC_ADDR 1 | 64 | #define ETH_INT_CAUSE_TX (ETH_INT_CAUSE_TX_DONE | ETH_INT_CAUSE_TX_ERROR) |
| 65 | #define ETH_INT_CAUSE_PHY 0x00010000 | ||
| 66 | #define ETH_INT_UNMASK_ALL_EXT (ETH_INT_CAUSE_TX | ETH_INT_CAUSE_PHY) | ||
| 67 | |||
| 68 | #define ETH_INT_MASK_ALL 0x00000000 | ||
| 69 | #define ETH_INT_MASK_ALL_EXT 0x00000000 | ||
| 70 | |||
| 71 | #define PHY_WAIT_ITERATIONS 1000 /* 1000 iterations * 10uS = 10mS max */ | ||
| 72 | #define PHY_WAIT_MICRO_SECONDS 10 | ||
| 95 | 73 | ||
| 96 | /* Buffer offset from buffer pointer */ | 74 | /* Buffer offset from buffer pointer */ |
| 97 | #define RX_BUF_OFFSET 0x2 | 75 | #define RX_BUF_OFFSET 0x2 |
| @@ -133,88 +111,71 @@ | |||
| 133 | #define ETH_MIB_LATE_COLLISION 0x7c | 111 | #define ETH_MIB_LATE_COLLISION 0x7c |
| 134 | 112 | ||
| 135 | /* Port serial status reg (PSR) */ | 113 | /* Port serial status reg (PSR) */ |
| 136 | #define ETH_INTERFACE_GMII_MII 0 | 114 | #define ETH_INTERFACE_PCM 0x00000001 |
| 137 | #define ETH_INTERFACE_PCM BIT0 | 115 | #define ETH_LINK_IS_UP 0x00000002 |
| 138 | #define ETH_LINK_IS_DOWN 0 | 116 | #define ETH_PORT_AT_FULL_DUPLEX 0x00000004 |
| 139 | #define ETH_LINK_IS_UP BIT1 | 117 | #define ETH_RX_FLOW_CTRL_ENABLED 0x00000008 |
| 140 | #define ETH_PORT_AT_HALF_DUPLEX 0 | 118 | #define ETH_GMII_SPEED_1000 0x00000010 |
| 141 | #define ETH_PORT_AT_FULL_DUPLEX BIT2 | 119 | #define ETH_MII_SPEED_100 0x00000020 |
| 142 | #define ETH_RX_FLOW_CTRL_DISABLED 0 | 120 | #define ETH_TX_IN_PROGRESS 0x00000080 |
| 143 | #define ETH_RX_FLOW_CTRL_ENBALED BIT3 | 121 | #define ETH_BYPASS_ACTIVE 0x00000100 |
| 144 | #define ETH_GMII_SPEED_100_10 0 | 122 | #define ETH_PORT_AT_PARTITION_STATE 0x00000200 |
| 145 | #define ETH_GMII_SPEED_1000 BIT4 | 123 | #define ETH_PORT_TX_FIFO_EMPTY 0x00000400 |
| 146 | #define ETH_MII_SPEED_10 0 | ||
| 147 | #define ETH_MII_SPEED_100 BIT5 | ||
| 148 | #define ETH_NO_TX 0 | ||
| 149 | #define ETH_TX_IN_PROGRESS BIT7 | ||
| 150 | #define ETH_BYPASS_NO_ACTIVE 0 | ||
| 151 | #define ETH_BYPASS_ACTIVE BIT8 | ||
| 152 | #define ETH_PORT_NOT_AT_PARTITION_STATE 0 | ||
| 153 | #define ETH_PORT_AT_PARTITION_STATE BIT9 | ||
| 154 | #define ETH_PORT_TX_FIFO_NOT_EMPTY 0 | ||
| 155 | #define ETH_PORT_TX_FIFO_EMPTY BIT10 | ||
| 156 | |||
| 157 | #define ETH_DEFAULT_RX_BPDU_QUEUE_3 (BIT23 | BIT22) | ||
| 158 | #define ETH_DEFAULT_RX_BPDU_QUEUE_4 BIT24 | ||
| 159 | #define ETH_DEFAULT_RX_BPDU_QUEUE_5 (BIT24 | BIT22) | ||
| 160 | #define ETH_DEFAULT_RX_BPDU_QUEUE_6 (BIT24 | BIT23) | ||
| 161 | #define ETH_DEFAULT_RX_BPDU_QUEUE_7 (BIT24 | BIT23 | BIT22) | ||
| 162 | 124 | ||
| 163 | /* SMI reg */ | 125 | /* SMI reg */ |
| 164 | #define ETH_SMI_BUSY BIT28 /* 0 - Write, 1 - Read */ | 126 | #define ETH_SMI_BUSY 0x10000000 /* 0 - Write, 1 - Read */ |
| 165 | #define ETH_SMI_READ_VALID BIT27 /* 0 - Write, 1 - Read */ | 127 | #define ETH_SMI_READ_VALID 0x08000000 /* 0 - Write, 1 - Read */ |
| 166 | #define ETH_SMI_OPCODE_WRITE 0 /* Completion of Read operation */ | 128 | #define ETH_SMI_OPCODE_WRITE 0 /* Completion of Read */ |
| 167 | #define ETH_SMI_OPCODE_READ BIT26 /* Operation is in progress */ | 129 | #define ETH_SMI_OPCODE_READ 0x04000000 /* Operation is in progress */ |
| 130 | |||
| 131 | /* Interrupt Cause Register Bit Definitions */ | ||
| 168 | 132 | ||
| 169 | /* SDMA command status fields macros */ | 133 | /* SDMA command status fields macros */ |
| 170 | 134 | ||
| 171 | /* Tx & Rx descriptors status */ | 135 | /* Tx & Rx descriptors status */ |
| 172 | #define ETH_ERROR_SUMMARY (BIT0) | 136 | #define ETH_ERROR_SUMMARY 0x00000001 |
| 173 | 137 | ||
| 174 | /* Tx & Rx descriptors command */ | 138 | /* Tx & Rx descriptors command */ |
| 175 | #define ETH_BUFFER_OWNED_BY_DMA (BIT31) | 139 | #define ETH_BUFFER_OWNED_BY_DMA 0x80000000 |
| 176 | 140 | ||
| 177 | /* Tx descriptors status */ | 141 | /* Tx descriptors status */ |
| 178 | #define ETH_LC_ERROR (0 ) | 142 | #define ETH_LC_ERROR 0 |
| 179 | #define ETH_UR_ERROR (BIT1 ) | 143 | #define ETH_UR_ERROR 0x00000002 |
| 180 | #define ETH_RL_ERROR (BIT2 ) | 144 | #define ETH_RL_ERROR 0x00000004 |
| 181 | #define ETH_LLC_SNAP_FORMAT (BIT9 ) | 145 | #define ETH_LLC_SNAP_FORMAT 0x00000200 |
| 182 | 146 | ||
| 183 | /* Rx descriptors status */ | 147 | /* Rx descriptors status */ |
| 184 | #define ETH_CRC_ERROR (0 ) | 148 | #define ETH_OVERRUN_ERROR 0x00000002 |
| 185 | #define ETH_OVERRUN_ERROR (BIT1 ) | 149 | #define ETH_MAX_FRAME_LENGTH_ERROR 0x00000004 |
| 186 | #define ETH_MAX_FRAME_LENGTH_ERROR (BIT2 ) | 150 | #define ETH_RESOURCE_ERROR 0x00000006 |
| 187 | #define ETH_RESOURCE_ERROR ((BIT2 | BIT1)) | 151 | #define ETH_VLAN_TAGGED 0x00080000 |
| 188 | #define ETH_VLAN_TAGGED (BIT19) | 152 | #define ETH_BPDU_FRAME 0x00100000 |
| 189 | #define ETH_BPDU_FRAME (BIT20) | 153 | #define ETH_UDP_FRAME_OVER_IP_V_4 0x00200000 |
| 190 | #define ETH_TCP_FRAME_OVER_IP_V_4 (0 ) | 154 | #define ETH_OTHER_FRAME_TYPE 0x00400000 |
| 191 | #define ETH_UDP_FRAME_OVER_IP_V_4 (BIT21) | 155 | #define ETH_LAYER_2_IS_ETH_V_2 0x00800000 |
| 192 | #define ETH_OTHER_FRAME_TYPE (BIT22) | 156 | #define ETH_FRAME_TYPE_IP_V_4 0x01000000 |
| 193 | #define ETH_LAYER_2_IS_ETH_V_2 (BIT23) | 157 | #define ETH_FRAME_HEADER_OK 0x02000000 |
| 194 | #define ETH_FRAME_TYPE_IP_V_4 (BIT24) | 158 | #define ETH_RX_LAST_DESC 0x04000000 |
| 195 | #define ETH_FRAME_HEADER_OK (BIT25) | 159 | #define ETH_RX_FIRST_DESC 0x08000000 |
| 196 | #define ETH_RX_LAST_DESC (BIT26) | 160 | #define ETH_UNKNOWN_DESTINATION_ADDR 0x10000000 |
| 197 | #define ETH_RX_FIRST_DESC (BIT27) | 161 | #define ETH_RX_ENABLE_INTERRUPT 0x20000000 |
| 198 | #define ETH_UNKNOWN_DESTINATION_ADDR (BIT28) | 162 | #define ETH_LAYER_4_CHECKSUM_OK 0x40000000 |
| 199 | #define ETH_RX_ENABLE_INTERRUPT (BIT29) | ||
| 200 | #define ETH_LAYER_4_CHECKSUM_OK (BIT30) | ||
| 201 | 163 | ||
| 202 | /* Rx descriptors byte count */ | 164 | /* Rx descriptors byte count */ |
| 203 | #define ETH_FRAME_FRAGMENTED (BIT2) | 165 | #define ETH_FRAME_FRAGMENTED 0x00000004 |
| 204 | 166 | ||
| 205 | /* Tx descriptors command */ | 167 | /* Tx descriptors command */ |
| 206 | #define ETH_LAYER_4_CHECKSUM_FIRST_DESC (BIT10) | 168 | #define ETH_LAYER_4_CHECKSUM_FIRST_DESC 0x00000400 |
| 207 | #define ETH_FRAME_SET_TO_VLAN (BIT15) | 169 | #define ETH_FRAME_SET_TO_VLAN 0x00008000 |
| 208 | #define ETH_TCP_FRAME (0 ) | 170 | #define ETH_UDP_FRAME 0x00010000 |
| 209 | #define ETH_UDP_FRAME (BIT16) | 171 | #define ETH_GEN_TCP_UDP_CHECKSUM 0x00020000 |
| 210 | #define ETH_GEN_TCP_UDP_CHECKSUM (BIT17) | 172 | #define ETH_GEN_IP_V_4_CHECKSUM 0x00040000 |
| 211 | #define ETH_GEN_IP_V_4_CHECKSUM (BIT18) | 173 | #define ETH_ZERO_PADDING 0x00080000 |
| 212 | #define ETH_ZERO_PADDING (BIT19) | 174 | #define ETH_TX_LAST_DESC 0x00100000 |
| 213 | #define ETH_TX_LAST_DESC (BIT20) | 175 | #define ETH_TX_FIRST_DESC 0x00200000 |
| 214 | #define ETH_TX_FIRST_DESC (BIT21) | 176 | #define ETH_GEN_CRC 0x00400000 |
| 215 | #define ETH_GEN_CRC (BIT22) | 177 | #define ETH_TX_ENABLE_INTERRUPT 0x00800000 |
| 216 | #define ETH_TX_ENABLE_INTERRUPT (BIT23) | 178 | #define ETH_AUTO_MODE 0x40000000 |
| 217 | #define ETH_AUTO_MODE (BIT30) | ||
| 218 | 179 | ||
| 219 | #define ETH_TX_IHL_SHIFT 11 | 180 | #define ETH_TX_IHL_SHIFT 11 |
| 220 | 181 | ||
| @@ -324,13 +285,6 @@ struct mv643xx_mib_counters { | |||
| 324 | 285 | ||
| 325 | struct mv643xx_private { | 286 | struct mv643xx_private { |
| 326 | int port_num; /* User Ethernet port number */ | 287 | int port_num; /* User Ethernet port number */ |
| 327 | u8 port_mac_addr[6]; /* User defined port MAC address.*/ | ||
| 328 | u32 port_config; /* User port configuration value*/ | ||
| 329 | u32 port_config_extend; /* User port config extend value*/ | ||
| 330 | u32 port_sdma_config; /* User port SDMA config value */ | ||
| 331 | u32 port_serial_control; /* User port serial control value */ | ||
| 332 | u32 port_tx_queue_command; /* Port active Tx queues summary*/ | ||
| 333 | u32 port_rx_queue_command; /* Port active Rx queues summary*/ | ||
| 334 | 288 | ||
| 335 | u32 rx_sram_addr; /* Base address of rx sram area */ | 289 | u32 rx_sram_addr; /* Base address of rx sram area */ |
| 336 | u32 rx_sram_size; /* Size of rx sram area */ | 290 | u32 rx_sram_size; /* Size of rx sram area */ |
| @@ -338,7 +292,6 @@ struct mv643xx_private { | |||
| 338 | u32 tx_sram_size; /* Size of tx sram area */ | 292 | u32 tx_sram_size; /* Size of tx sram area */ |
| 339 | 293 | ||
| 340 | int rx_resource_err; /* Rx ring resource error flag */ | 294 | int rx_resource_err; /* Rx ring resource error flag */ |
| 341 | int tx_resource_err; /* Tx ring resource error flag */ | ||
| 342 | 295 | ||
| 343 | /* Tx/Rx rings managment indexes fields. For driver use */ | 296 | /* Tx/Rx rings managment indexes fields. For driver use */ |
| 344 | 297 | ||
| @@ -347,10 +300,6 @@ struct mv643xx_private { | |||
| 347 | 300 | ||
| 348 | /* Next available and first returning Tx resource */ | 301 | /* Next available and first returning Tx resource */ |
| 349 | int tx_curr_desc_q, tx_used_desc_q; | 302 | int tx_curr_desc_q, tx_used_desc_q; |
| 350 | #ifdef MV643XX_CHECKSUM_OFFLOAD_TX | ||
| 351 | int tx_first_desc_q; | ||
| 352 | u32 tx_first_command; | ||
| 353 | #endif | ||
| 354 | 303 | ||
| 355 | #ifdef MV643XX_TX_FAST_REFILL | 304 | #ifdef MV643XX_TX_FAST_REFILL |
| 356 | u32 tx_clean_threshold; | 305 | u32 tx_clean_threshold; |
| @@ -358,54 +307,43 @@ struct mv643xx_private { | |||
| 358 | 307 | ||
| 359 | struct eth_rx_desc *p_rx_desc_area; | 308 | struct eth_rx_desc *p_rx_desc_area; |
| 360 | dma_addr_t rx_desc_dma; | 309 | dma_addr_t rx_desc_dma; |
| 361 | unsigned int rx_desc_area_size; | 310 | int rx_desc_area_size; |
| 362 | struct sk_buff **rx_skb; | 311 | struct sk_buff **rx_skb; |
| 363 | 312 | ||
| 364 | struct eth_tx_desc *p_tx_desc_area; | 313 | struct eth_tx_desc *p_tx_desc_area; |
| 365 | dma_addr_t tx_desc_dma; | 314 | dma_addr_t tx_desc_dma; |
| 366 | unsigned int tx_desc_area_size; | 315 | int tx_desc_area_size; |
| 367 | struct sk_buff **tx_skb; | 316 | struct sk_buff **tx_skb; |
| 368 | 317 | ||
| 369 | struct work_struct tx_timeout_task; | 318 | struct work_struct tx_timeout_task; |
| 370 | 319 | ||
| 371 | /* | ||
| 372 | * Former struct mv643xx_eth_priv members start here | ||
| 373 | */ | ||
| 374 | struct net_device_stats stats; | 320 | struct net_device_stats stats; |
| 375 | struct mv643xx_mib_counters mib_counters; | 321 | struct mv643xx_mib_counters mib_counters; |
| 376 | spinlock_t lock; | 322 | spinlock_t lock; |
| 377 | /* Size of Tx Ring per queue */ | 323 | /* Size of Tx Ring per queue */ |
| 378 | unsigned int tx_ring_size; | 324 | int tx_ring_size; |
| 379 | /* Ammont of SKBs outstanding on Tx queue */ | 325 | /* Number of tx descriptors in use */ |
| 380 | unsigned int tx_ring_skbs; | 326 | int tx_desc_count; |
| 381 | /* Size of Rx Ring per queue */ | 327 | /* Size of Rx Ring per queue */ |
| 382 | unsigned int rx_ring_size; | 328 | int rx_ring_size; |
| 383 | /* Ammount of SKBs allocated to Rx Ring per queue */ | 329 | /* Number of rx descriptors in use */ |
| 384 | unsigned int rx_ring_skbs; | 330 | int rx_desc_count; |
| 385 | |||
| 386 | /* | ||
| 387 | * rx_task used to fill RX ring out of bottom half context | ||
| 388 | */ | ||
| 389 | struct work_struct rx_task; | ||
| 390 | 331 | ||
| 391 | /* | 332 | /* |
| 392 | * Used in case RX Ring is empty, which can be caused when | 333 | * Used in case RX Ring is empty, which can be caused when |
| 393 | * system does not have resources (skb's) | 334 | * system does not have resources (skb's) |
| 394 | */ | 335 | */ |
| 395 | struct timer_list timeout; | 336 | struct timer_list timeout; |
| 396 | long rx_task_busy __attribute__ ((aligned(SMP_CACHE_BYTES))); | ||
| 397 | unsigned rx_timer_flag; | ||
| 398 | 337 | ||
| 399 | u32 rx_int_coal; | 338 | u32 rx_int_coal; |
| 400 | u32 tx_int_coal; | 339 | u32 tx_int_coal; |
| 340 | struct mii_if_info mii; | ||
| 401 | }; | 341 | }; |
| 402 | 342 | ||
| 403 | /* ethernet.h API list */ | ||
| 404 | |||
| 405 | /* Port operation control routines */ | 343 | /* Port operation control routines */ |
| 406 | static void eth_port_init(struct mv643xx_private *mp); | 344 | static void eth_port_init(struct mv643xx_private *mp); |
| 407 | static void eth_port_reset(unsigned int eth_port_num); | 345 | static void eth_port_reset(unsigned int eth_port_num); |
| 408 | static void eth_port_start(struct mv643xx_private *mp); | 346 | static void eth_port_start(struct net_device *dev); |
| 409 | 347 | ||
| 410 | /* Port MAC address routines */ | 348 | /* Port MAC address routines */ |
| 411 | static void eth_port_uc_addr_set(unsigned int eth_port_num, | 349 | static void eth_port_uc_addr_set(unsigned int eth_port_num, |
| @@ -423,10 +361,6 @@ static void eth_port_read_smi_reg(unsigned int eth_port_num, | |||
| 423 | static void eth_clear_mib_counters(unsigned int eth_port_num); | 361 | static void eth_clear_mib_counters(unsigned int eth_port_num); |
| 424 | 362 | ||
| 425 | /* Port data flow control routines */ | 363 | /* Port data flow control routines */ |
| 426 | static ETH_FUNC_RET_STATUS eth_port_send(struct mv643xx_private *mp, | ||
| 427 | struct pkt_info *p_pkt_info); | ||
| 428 | static ETH_FUNC_RET_STATUS eth_tx_return_desc(struct mv643xx_private *mp, | ||
| 429 | struct pkt_info *p_pkt_info); | ||
| 430 | static ETH_FUNC_RET_STATUS eth_port_receive(struct mv643xx_private *mp, | 364 | static ETH_FUNC_RET_STATUS eth_port_receive(struct mv643xx_private *mp, |
| 431 | struct pkt_info *p_pkt_info); | 365 | struct pkt_info *p_pkt_info); |
| 432 | static ETH_FUNC_RET_STATUS eth_rx_return_buff(struct mv643xx_private *mp, | 366 | static ETH_FUNC_RET_STATUS eth_rx_return_buff(struct mv643xx_private *mp, |
