diff options
author | David S. Miller <davem@davemloft.net> | 2011-11-16 18:31:56 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-16 18:31:56 -0500 |
commit | f85fa279138489543206381883c8f67ef94aa912 (patch) | |
tree | d54d632556885732e94cf18c7cf8d3bef2c740b5 | |
parent | 358b838291f618278080bbed435b755f9b46748e (diff) | |
parent | ea99d832cce7e724ba37c488e0571a00cb14d430 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_hw.h | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 388 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_82575.c | 5 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 165 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igbvf/netdev.c | 14 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 8 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 18 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/defines.h | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/ethtool.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 27 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/vf.c | 4 |
12 files changed, 340 insertions, 299 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_hw.h b/drivers/net/ethernet/intel/e1000/e1000_hw.h index 5c9a8403668b..cf7e3c094477 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_hw.h +++ b/drivers/net/ethernet/intel/e1000/e1000_hw.h | |||
@@ -448,7 +448,6 @@ void e1000_io_write(struct e1000_hw *hw, unsigned long port, u32 value); | |||
448 | #define E1000_DEV_ID_INTEL_CE4100_GBE 0x2E6E | 448 | #define E1000_DEV_ID_INTEL_CE4100_GBE 0x2E6E |
449 | 449 | ||
450 | #define NODE_ADDRESS_SIZE 6 | 450 | #define NODE_ADDRESS_SIZE 6 |
451 | #define ETH_LENGTH_OF_ADDRESS 6 | ||
452 | 451 | ||
453 | /* MAC decode size is 128K - This is the size of BAR0 */ | 452 | /* MAC decode size is 128K - This is the size of BAR0 */ |
454 | #define MAC_DECODE_SIZE (128 * 1024) | 453 | #define MAC_DECODE_SIZE (128 * 1024) |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index d85fac626a80..a5bd7a3dafc9 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -163,16 +163,13 @@ static void e1000_regdump(struct e1000_hw *hw, struct e1000_reg_info *reginfo) | |||
163 | regs[n] = __er32(hw, E1000_TARC(n)); | 163 | regs[n] = __er32(hw, E1000_TARC(n)); |
164 | break; | 164 | break; |
165 | default: | 165 | default: |
166 | printk(KERN_INFO "%-15s %08x\n", | 166 | pr_info("%-15s %08x\n", |
167 | reginfo->name, __er32(hw, reginfo->ofs)); | 167 | reginfo->name, __er32(hw, reginfo->ofs)); |
168 | return; | 168 | return; |
169 | } | 169 | } |
170 | 170 | ||
171 | snprintf(rname, 16, "%s%s", reginfo->name, "[0-1]"); | 171 | snprintf(rname, 16, "%s%s", reginfo->name, "[0-1]"); |
172 | printk(KERN_INFO "%-15s ", rname); | 172 | pr_info("%-15s %08x %08x\n", rname, regs[0], regs[1]); |
173 | for (n = 0; n < 2; n++) | ||
174 | printk(KERN_CONT "%08x ", regs[n]); | ||
175 | printk(KERN_CONT "\n"); | ||
176 | } | 173 | } |
177 | 174 | ||
178 | /* | 175 | /* |
@@ -208,16 +205,15 @@ static void e1000e_dump(struct e1000_adapter *adapter) | |||
208 | /* Print netdevice Info */ | 205 | /* Print netdevice Info */ |
209 | if (netdev) { | 206 | if (netdev) { |
210 | dev_info(&adapter->pdev->dev, "Net device Info\n"); | 207 | dev_info(&adapter->pdev->dev, "Net device Info\n"); |
211 | printk(KERN_INFO "Device Name state " | 208 | pr_info("Device Name state trans_start last_rx\n"); |
212 | "trans_start last_rx\n"); | 209 | pr_info("%-15s %016lX %016lX %016lX\n", |
213 | printk(KERN_INFO "%-15s %016lX %016lX %016lX\n", | 210 | netdev->name, netdev->state, netdev->trans_start, |
214 | netdev->name, netdev->state, netdev->trans_start, | 211 | netdev->last_rx); |
215 | netdev->last_rx); | ||
216 | } | 212 | } |
217 | 213 | ||
218 | /* Print Registers */ | 214 | /* Print Registers */ |
219 | dev_info(&adapter->pdev->dev, "Register Dump\n"); | 215 | dev_info(&adapter->pdev->dev, "Register Dump\n"); |
220 | printk(KERN_INFO " Register Name Value\n"); | 216 | pr_info(" Register Name Value\n"); |
221 | for (reginfo = (struct e1000_reg_info *)e1000_reg_info_tbl; | 217 | for (reginfo = (struct e1000_reg_info *)e1000_reg_info_tbl; |
222 | reginfo->name; reginfo++) { | 218 | reginfo->name; reginfo++) { |
223 | e1000_regdump(hw, reginfo); | 219 | e1000_regdump(hw, reginfo); |
@@ -228,15 +224,14 @@ static void e1000e_dump(struct e1000_adapter *adapter) | |||
228 | goto exit; | 224 | goto exit; |
229 | 225 | ||
230 | dev_info(&adapter->pdev->dev, "Tx Ring Summary\n"); | 226 | dev_info(&adapter->pdev->dev, "Tx Ring Summary\n"); |
231 | printk(KERN_INFO "Queue [NTU] [NTC] [bi(ntc)->dma ]" | 227 | pr_info("Queue [NTU] [NTC] [bi(ntc)->dma ] leng ntw timestamp\n"); |
232 | " leng ntw timestamp\n"); | ||
233 | buffer_info = &tx_ring->buffer_info[tx_ring->next_to_clean]; | 228 | buffer_info = &tx_ring->buffer_info[tx_ring->next_to_clean]; |
234 | printk(KERN_INFO " %5d %5X %5X %016llX %04X %3X %016llX\n", | 229 | pr_info(" %5d %5X %5X %016llX %04X %3X %016llX\n", |
235 | 0, tx_ring->next_to_use, tx_ring->next_to_clean, | 230 | 0, tx_ring->next_to_use, tx_ring->next_to_clean, |
236 | (unsigned long long)buffer_info->dma, | 231 | (unsigned long long)buffer_info->dma, |
237 | buffer_info->length, | 232 | buffer_info->length, |
238 | buffer_info->next_to_watch, | 233 | buffer_info->next_to_watch, |
239 | (unsigned long long)buffer_info->time_stamp); | 234 | (unsigned long long)buffer_info->time_stamp); |
240 | 235 | ||
241 | /* Print Tx Ring */ | 236 | /* Print Tx Ring */ |
242 | if (!netif_msg_tx_done(adapter)) | 237 | if (!netif_msg_tx_done(adapter)) |
@@ -271,37 +266,32 @@ static void e1000e_dump(struct e1000_adapter *adapter) | |||
271 | * +----------------------------------------------------------------+ | 266 | * +----------------------------------------------------------------+ |
272 | * 63 48 47 40 39 36 35 32 31 24 23 20 19 0 | 267 | * 63 48 47 40 39 36 35 32 31 24 23 20 19 0 |
273 | */ | 268 | */ |
274 | printk(KERN_INFO "Tl[desc] [address 63:0 ] [SpeCssSCmCsLen]" | 269 | pr_info("Tl[desc] [address 63:0 ] [SpeCssSCmCsLen] [bi->dma ] leng ntw timestamp bi->skb <-- Legacy format\n"); |
275 | " [bi->dma ] leng ntw timestamp bi->skb " | 270 | pr_info("Tc[desc] [Ce CoCsIpceCoS] [MssHlRSCm0Plen] [bi->dma ] leng ntw timestamp bi->skb <-- Ext Context format\n"); |
276 | "<-- Legacy format\n"); | 271 | pr_info("Td[desc] [address 63:0 ] [VlaPoRSCm1Dlen] [bi->dma ] leng ntw timestamp bi->skb <-- Ext Data format\n"); |
277 | printk(KERN_INFO "Tc[desc] [Ce CoCsIpceCoS] [MssHlRSCm0Plen]" | ||
278 | " [bi->dma ] leng ntw timestamp bi->skb " | ||
279 | "<-- Ext Context format\n"); | ||
280 | printk(KERN_INFO "Td[desc] [address 63:0 ] [VlaPoRSCm1Dlen]" | ||
281 | " [bi->dma ] leng ntw timestamp bi->skb " | ||
282 | "<-- Ext Data format\n"); | ||
283 | for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { | 272 | for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { |
273 | const char *next_desc; | ||
284 | tx_desc = E1000_TX_DESC(*tx_ring, i); | 274 | tx_desc = E1000_TX_DESC(*tx_ring, i); |
285 | buffer_info = &tx_ring->buffer_info[i]; | 275 | buffer_info = &tx_ring->buffer_info[i]; |
286 | u0 = (struct my_u0 *)tx_desc; | 276 | u0 = (struct my_u0 *)tx_desc; |
287 | printk(KERN_INFO "T%c[0x%03X] %016llX %016llX %016llX " | ||
288 | "%04X %3X %016llX %p", | ||
289 | (!(le64_to_cpu(u0->b) & (1 << 29)) ? 'l' : | ||
290 | ((le64_to_cpu(u0->b) & (1 << 20)) ? 'd' : 'c')), i, | ||
291 | (unsigned long long)le64_to_cpu(u0->a), | ||
292 | (unsigned long long)le64_to_cpu(u0->b), | ||
293 | (unsigned long long)buffer_info->dma, | ||
294 | buffer_info->length, buffer_info->next_to_watch, | ||
295 | (unsigned long long)buffer_info->time_stamp, | ||
296 | buffer_info->skb); | ||
297 | if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean) | 277 | if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean) |
298 | printk(KERN_CONT " NTC/U\n"); | 278 | next_desc = " NTC/U"; |
299 | else if (i == tx_ring->next_to_use) | 279 | else if (i == tx_ring->next_to_use) |
300 | printk(KERN_CONT " NTU\n"); | 280 | next_desc = " NTU"; |
301 | else if (i == tx_ring->next_to_clean) | 281 | else if (i == tx_ring->next_to_clean) |
302 | printk(KERN_CONT " NTC\n"); | 282 | next_desc = " NTC"; |
303 | else | 283 | else |
304 | printk(KERN_CONT "\n"); | 284 | next_desc = ""; |
285 | pr_info("T%c[0x%03X] %016llX %016llX %016llX %04X %3X %016llX %p%s\n", | ||
286 | (!(le64_to_cpu(u0->b) & (1 << 29)) ? 'l' : | ||
287 | ((le64_to_cpu(u0->b) & (1 << 20)) ? 'd' : 'c')), | ||
288 | i, | ||
289 | (unsigned long long)le64_to_cpu(u0->a), | ||
290 | (unsigned long long)le64_to_cpu(u0->b), | ||
291 | (unsigned long long)buffer_info->dma, | ||
292 | buffer_info->length, buffer_info->next_to_watch, | ||
293 | (unsigned long long)buffer_info->time_stamp, | ||
294 | buffer_info->skb, next_desc); | ||
305 | 295 | ||
306 | if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) | 296 | if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) |
307 | print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, | 297 | print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, |
@@ -312,9 +302,9 @@ static void e1000e_dump(struct e1000_adapter *adapter) | |||
312 | /* Print Rx Ring Summary */ | 302 | /* Print Rx Ring Summary */ |
313 | rx_ring_summary: | 303 | rx_ring_summary: |
314 | dev_info(&adapter->pdev->dev, "Rx Ring Summary\n"); | 304 | dev_info(&adapter->pdev->dev, "Rx Ring Summary\n"); |
315 | printk(KERN_INFO "Queue [NTU] [NTC]\n"); | 305 | pr_info("Queue [NTU] [NTC]\n"); |
316 | printk(KERN_INFO " %5d %5X %5X\n", 0, | 306 | pr_info(" %5d %5X %5X\n", |
317 | rx_ring->next_to_use, rx_ring->next_to_clean); | 307 | 0, rx_ring->next_to_use, rx_ring->next_to_clean); |
318 | 308 | ||
319 | /* Print Rx Ring */ | 309 | /* Print Rx Ring */ |
320 | if (!netif_msg_rx_status(adapter)) | 310 | if (!netif_msg_rx_status(adapter)) |
@@ -337,10 +327,7 @@ rx_ring_summary: | |||
337 | * 24 | Buffer Address 3 [63:0] | | 327 | * 24 | Buffer Address 3 [63:0] | |
338 | * +-----------------------------------------------------+ | 328 | * +-----------------------------------------------------+ |
339 | */ | 329 | */ |
340 | printk(KERN_INFO "R [desc] [buffer 0 63:0 ] " | 330 | pr_info("R [desc] [buffer 0 63:0 ] [buffer 1 63:0 ] [buffer 2 63:0 ] [buffer 3 63:0 ] [bi->dma ] [bi->skb] <-- Ext Pkt Split format\n"); |
341 | "[buffer 1 63:0 ] " | ||
342 | "[buffer 2 63:0 ] [buffer 3 63:0 ] [bi->dma ] " | ||
343 | "[bi->skb] <-- Ext Pkt Split format\n"); | ||
344 | /* [Extended] Receive Descriptor (Write-Back) Format | 331 | /* [Extended] Receive Descriptor (Write-Back) Format |
345 | * | 332 | * |
346 | * 63 48 47 32 31 13 12 8 7 4 3 0 | 333 | * 63 48 47 32 31 13 12 8 7 4 3 0 |
@@ -352,35 +339,40 @@ rx_ring_summary: | |||
352 | * +------------------------------------------------------+ | 339 | * +------------------------------------------------------+ |
353 | * 63 48 47 32 31 20 19 0 | 340 | * 63 48 47 32 31 20 19 0 |
354 | */ | 341 | */ |
355 | printk(KERN_INFO "RWB[desc] [ck ipid mrqhsh] " | 342 | pr_info("RWB[desc] [ck ipid mrqhsh] [vl l0 ee es] [ l3 l2 l1 hs] [reserved ] ---------------- [bi->skb] <-- Ext Rx Write-Back format\n"); |
356 | "[vl l0 ee es] " | ||
357 | "[ l3 l2 l1 hs] [reserved ] ---------------- " | ||
358 | "[bi->skb] <-- Ext Rx Write-Back format\n"); | ||
359 | for (i = 0; i < rx_ring->count; i++) { | 343 | for (i = 0; i < rx_ring->count; i++) { |
344 | const char *next_desc; | ||
360 | buffer_info = &rx_ring->buffer_info[i]; | 345 | buffer_info = &rx_ring->buffer_info[i]; |
361 | rx_desc_ps = E1000_RX_DESC_PS(*rx_ring, i); | 346 | rx_desc_ps = E1000_RX_DESC_PS(*rx_ring, i); |
362 | u1 = (struct my_u1 *)rx_desc_ps; | 347 | u1 = (struct my_u1 *)rx_desc_ps; |
363 | staterr = | 348 | staterr = |
364 | le32_to_cpu(rx_desc_ps->wb.middle.status_error); | 349 | le32_to_cpu(rx_desc_ps->wb.middle.status_error); |
350 | |||
351 | if (i == rx_ring->next_to_use) | ||
352 | next_desc = " NTU"; | ||
353 | else if (i == rx_ring->next_to_clean) | ||
354 | next_desc = " NTC"; | ||
355 | else | ||
356 | next_desc = ""; | ||
357 | |||
365 | if (staterr & E1000_RXD_STAT_DD) { | 358 | if (staterr & E1000_RXD_STAT_DD) { |
366 | /* Descriptor Done */ | 359 | /* Descriptor Done */ |
367 | printk(KERN_INFO "RWB[0x%03X] %016llX " | 360 | pr_info("%s[0x%03X] %016llX %016llX %016llX %016llX ---------------- %p%s\n", |
368 | "%016llX %016llX %016llX " | 361 | "RWB", i, |
369 | "---------------- %p", i, | 362 | (unsigned long long)le64_to_cpu(u1->a), |
370 | (unsigned long long)le64_to_cpu(u1->a), | 363 | (unsigned long long)le64_to_cpu(u1->b), |
371 | (unsigned long long)le64_to_cpu(u1->b), | 364 | (unsigned long long)le64_to_cpu(u1->c), |
372 | (unsigned long long)le64_to_cpu(u1->c), | 365 | (unsigned long long)le64_to_cpu(u1->d), |
373 | (unsigned long long)le64_to_cpu(u1->d), | 366 | buffer_info->skb, next_desc); |
374 | buffer_info->skb); | ||
375 | } else { | 367 | } else { |
376 | printk(KERN_INFO "R [0x%03X] %016llX " | 368 | pr_info("%s[0x%03X] %016llX %016llX %016llX %016llX %016llX %p%s\n", |
377 | "%016llX %016llX %016llX %016llX %p", i, | 369 | "R ", i, |
378 | (unsigned long long)le64_to_cpu(u1->a), | 370 | (unsigned long long)le64_to_cpu(u1->a), |
379 | (unsigned long long)le64_to_cpu(u1->b), | 371 | (unsigned long long)le64_to_cpu(u1->b), |
380 | (unsigned long long)le64_to_cpu(u1->c), | 372 | (unsigned long long)le64_to_cpu(u1->c), |
381 | (unsigned long long)le64_to_cpu(u1->d), | 373 | (unsigned long long)le64_to_cpu(u1->d), |
382 | (unsigned long long)buffer_info->dma, | 374 | (unsigned long long)buffer_info->dma, |
383 | buffer_info->skb); | 375 | buffer_info->skb, next_desc); |
384 | 376 | ||
385 | if (netif_msg_pktdata(adapter)) | 377 | if (netif_msg_pktdata(adapter)) |
386 | print_hex_dump(KERN_INFO, "", | 378 | print_hex_dump(KERN_INFO, "", |
@@ -388,13 +380,6 @@ rx_ring_summary: | |||
388 | phys_to_virt(buffer_info->dma), | 380 | phys_to_virt(buffer_info->dma), |
389 | adapter->rx_ps_bsize0, true); | 381 | adapter->rx_ps_bsize0, true); |
390 | } | 382 | } |
391 | |||
392 | if (i == rx_ring->next_to_use) | ||
393 | printk(KERN_CONT " NTU\n"); | ||
394 | else if (i == rx_ring->next_to_clean) | ||
395 | printk(KERN_CONT " NTC\n"); | ||
396 | else | ||
397 | printk(KERN_CONT "\n"); | ||
398 | } | 383 | } |
399 | break; | 384 | break; |
400 | default: | 385 | default: |
@@ -407,9 +392,7 @@ rx_ring_summary: | |||
407 | * 8 | Reserved | | 392 | * 8 | Reserved | |
408 | * +-----------------------------------------------------+ | 393 | * +-----------------------------------------------------+ |
409 | */ | 394 | */ |
410 | printk(KERN_INFO "R [desc] [buf addr 63:0 ] " | 395 | pr_info("R [desc] [buf addr 63:0 ] [reserved 63:0 ] [bi->dma ] [bi->skb] <-- Ext (Read) format\n"); |
411 | "[reserved 63:0 ] [bi->dma ] " | ||
412 | "[bi->skb] <-- Ext (Read) format\n"); | ||
413 | /* Extended Receive Descriptor (Write-Back) Format | 396 | /* Extended Receive Descriptor (Write-Back) Format |
414 | * | 397 | * |
415 | * 63 48 47 32 31 24 23 4 3 0 | 398 | * 63 48 47 32 31 24 23 4 3 0 |
@@ -423,29 +406,37 @@ rx_ring_summary: | |||
423 | * +------------------------------------------------------+ | 406 | * +------------------------------------------------------+ |
424 | * 63 48 47 32 31 20 19 0 | 407 | * 63 48 47 32 31 20 19 0 |
425 | */ | 408 | */ |
426 | printk(KERN_INFO "RWB[desc] [cs ipid mrq] " | 409 | pr_info("RWB[desc] [cs ipid mrq] [vt ln xe xs] [bi->skb] <-- Ext (Write-Back) format\n"); |
427 | "[vt ln xe xs] " | ||
428 | "[bi->skb] <-- Ext (Write-Back) format\n"); | ||
429 | 410 | ||
430 | for (i = 0; i < rx_ring->count; i++) { | 411 | for (i = 0; i < rx_ring->count; i++) { |
412 | const char *next_desc; | ||
413 | |||
431 | buffer_info = &rx_ring->buffer_info[i]; | 414 | buffer_info = &rx_ring->buffer_info[i]; |
432 | rx_desc = E1000_RX_DESC_EXT(*rx_ring, i); | 415 | rx_desc = E1000_RX_DESC_EXT(*rx_ring, i); |
433 | u1 = (struct my_u1 *)rx_desc; | 416 | u1 = (struct my_u1 *)rx_desc; |
434 | staterr = le32_to_cpu(rx_desc->wb.upper.status_error); | 417 | staterr = le32_to_cpu(rx_desc->wb.upper.status_error); |
418 | |||
419 | if (i == rx_ring->next_to_use) | ||
420 | next_desc = " NTU"; | ||
421 | else if (i == rx_ring->next_to_clean) | ||
422 | next_desc = " NTC"; | ||
423 | else | ||
424 | next_desc = ""; | ||
425 | |||
435 | if (staterr & E1000_RXD_STAT_DD) { | 426 | if (staterr & E1000_RXD_STAT_DD) { |
436 | /* Descriptor Done */ | 427 | /* Descriptor Done */ |
437 | printk(KERN_INFO "RWB[0x%03X] %016llX " | 428 | pr_info("%s[0x%03X] %016llX %016llX ---------------- %p%s\n", |
438 | "%016llX ---------------- %p", i, | 429 | "RWB", i, |
439 | (unsigned long long)le64_to_cpu(u1->a), | 430 | (unsigned long long)le64_to_cpu(u1->a), |
440 | (unsigned long long)le64_to_cpu(u1->b), | 431 | (unsigned long long)le64_to_cpu(u1->b), |
441 | buffer_info->skb); | 432 | buffer_info->skb, next_desc); |
442 | } else { | 433 | } else { |
443 | printk(KERN_INFO "R [0x%03X] %016llX " | 434 | pr_info("%s[0x%03X] %016llX %016llX %016llX %p%s\n", |
444 | "%016llX %016llX %p", i, | 435 | "R ", i, |
445 | (unsigned long long)le64_to_cpu(u1->a), | 436 | (unsigned long long)le64_to_cpu(u1->a), |
446 | (unsigned long long)le64_to_cpu(u1->b), | 437 | (unsigned long long)le64_to_cpu(u1->b), |
447 | (unsigned long long)buffer_info->dma, | 438 | (unsigned long long)buffer_info->dma, |
448 | buffer_info->skb); | 439 | buffer_info->skb, next_desc); |
449 | 440 | ||
450 | if (netif_msg_pktdata(adapter)) | 441 | if (netif_msg_pktdata(adapter)) |
451 | print_hex_dump(KERN_INFO, "", | 442 | print_hex_dump(KERN_INFO, "", |
@@ -456,13 +447,6 @@ rx_ring_summary: | |||
456 | adapter->rx_buffer_len, | 447 | adapter->rx_buffer_len, |
457 | true); | 448 | true); |
458 | } | 449 | } |
459 | |||
460 | if (i == rx_ring->next_to_use) | ||
461 | printk(KERN_CONT " NTU\n"); | ||
462 | else if (i == rx_ring->next_to_clean) | ||
463 | printk(KERN_CONT " NTC\n"); | ||
464 | else | ||
465 | printk(KERN_CONT "\n"); | ||
466 | } | 450 | } |
467 | } | 451 | } |
468 | 452 | ||
@@ -1222,8 +1206,7 @@ static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
1222 | adapter->flags2 |= FLAG2_IS_DISCARDING; | 1206 | adapter->flags2 |= FLAG2_IS_DISCARDING; |
1223 | 1207 | ||
1224 | if (adapter->flags2 & FLAG2_IS_DISCARDING) { | 1208 | if (adapter->flags2 & FLAG2_IS_DISCARDING) { |
1225 | e_dbg("Packet Split buffers didn't pick up the full " | 1209 | e_dbg("Packet Split buffers didn't pick up the full packet\n"); |
1226 | "packet\n"); | ||
1227 | dev_kfree_skb_irq(skb); | 1210 | dev_kfree_skb_irq(skb); |
1228 | if (staterr & E1000_RXD_STAT_EOP) | 1211 | if (staterr & E1000_RXD_STAT_EOP) |
1229 | adapter->flags2 &= ~FLAG2_IS_DISCARDING; | 1212 | adapter->flags2 &= ~FLAG2_IS_DISCARDING; |
@@ -1238,8 +1221,7 @@ static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
1238 | length = le16_to_cpu(rx_desc->wb.middle.length0); | 1221 | length = le16_to_cpu(rx_desc->wb.middle.length0); |
1239 | 1222 | ||
1240 | if (!length) { | 1223 | if (!length) { |
1241 | e_dbg("Last part of the packet spanning multiple " | 1224 | e_dbg("Last part of the packet spanning multiple descriptors\n"); |
1242 | "descriptors\n"); | ||
1243 | dev_kfree_skb_irq(skb); | 1225 | dev_kfree_skb_irq(skb); |
1244 | goto next_desc; | 1226 | goto next_desc; |
1245 | } | 1227 | } |
@@ -1917,8 +1899,7 @@ void e1000e_set_interrupt_capability(struct e1000_adapter *adapter) | |||
1917 | return; | 1899 | return; |
1918 | } | 1900 | } |
1919 | /* MSI-X failed, so fall through and try MSI */ | 1901 | /* MSI-X failed, so fall through and try MSI */ |
1920 | e_err("Failed to initialize MSI-X interrupts. " | 1902 | e_err("Failed to initialize MSI-X interrupts. Falling back to MSI interrupts.\n"); |
1921 | "Falling back to MSI interrupts.\n"); | ||
1922 | e1000e_reset_interrupt_capability(adapter); | 1903 | e1000e_reset_interrupt_capability(adapter); |
1923 | } | 1904 | } |
1924 | adapter->int_mode = E1000E_INT_MODE_MSI; | 1905 | adapter->int_mode = E1000E_INT_MODE_MSI; |
@@ -1928,8 +1909,7 @@ void e1000e_set_interrupt_capability(struct e1000_adapter *adapter) | |||
1928 | adapter->flags |= FLAG_MSI_ENABLED; | 1909 | adapter->flags |= FLAG_MSI_ENABLED; |
1929 | } else { | 1910 | } else { |
1930 | adapter->int_mode = E1000E_INT_MODE_LEGACY; | 1911 | adapter->int_mode = E1000E_INT_MODE_LEGACY; |
1931 | e_err("Failed to initialize MSI interrupts. Falling " | 1912 | e_err("Failed to initialize MSI interrupts. Falling back to legacy interrupts.\n"); |
1932 | "back to legacy interrupts.\n"); | ||
1933 | } | 1913 | } |
1934 | /* Fall through */ | 1914 | /* Fall through */ |
1935 | case E1000E_INT_MODE_LEGACY: | 1915 | case E1000E_INT_MODE_LEGACY: |
@@ -3113,79 +3093,147 @@ static void e1000_configure_rx(struct e1000_adapter *adapter) | |||
3113 | } | 3093 | } |
3114 | 3094 | ||
3115 | /** | 3095 | /** |
3116 | * e1000_update_mc_addr_list - Update Multicast addresses | 3096 | * e1000e_write_mc_addr_list - write multicast addresses to MTA |
3117 | * @hw: pointer to the HW structure | 3097 | * @netdev: network interface device structure |
3118 | * @mc_addr_list: array of multicast addresses to program | 3098 | * |
3119 | * @mc_addr_count: number of multicast addresses to program | 3099 | * Writes multicast address list to the MTA hash table. |
3100 | * Returns: -ENOMEM on failure | ||
3101 | * 0 on no addresses written | ||
3102 | * X on writing X addresses to MTA | ||
3103 | */ | ||
3104 | static int e1000e_write_mc_addr_list(struct net_device *netdev) | ||
3105 | { | ||
3106 | struct e1000_adapter *adapter = netdev_priv(netdev); | ||
3107 | struct e1000_hw *hw = &adapter->hw; | ||
3108 | struct netdev_hw_addr *ha; | ||
3109 | u8 *mta_list; | ||
3110 | int i; | ||
3111 | |||
3112 | if (netdev_mc_empty(netdev)) { | ||
3113 | /* nothing to program, so clear mc list */ | ||
3114 | hw->mac.ops.update_mc_addr_list(hw, NULL, 0); | ||
3115 | return 0; | ||
3116 | } | ||
3117 | |||
3118 | mta_list = kzalloc(netdev_mc_count(netdev) * ETH_ALEN, GFP_ATOMIC); | ||
3119 | if (!mta_list) | ||
3120 | return -ENOMEM; | ||
3121 | |||
3122 | /* update_mc_addr_list expects a packed array of only addresses. */ | ||
3123 | i = 0; | ||
3124 | netdev_for_each_mc_addr(ha, netdev) | ||
3125 | memcpy(mta_list + (i++ * ETH_ALEN), ha->addr, ETH_ALEN); | ||
3126 | |||
3127 | hw->mac.ops.update_mc_addr_list(hw, mta_list, i); | ||
3128 | kfree(mta_list); | ||
3129 | |||
3130 | return netdev_mc_count(netdev); | ||
3131 | } | ||
3132 | |||
3133 | /** | ||
3134 | * e1000e_write_uc_addr_list - write unicast addresses to RAR table | ||
3135 | * @netdev: network interface device structure | ||
3120 | * | 3136 | * |
3121 | * Updates the Multicast Table Array. | 3137 | * Writes unicast address list to the RAR table. |
3122 | * The caller must have a packed mc_addr_list of multicast addresses. | 3138 | * Returns: -ENOMEM on failure/insufficient address space |
3139 | * 0 on no addresses written | ||
3140 | * X on writing X addresses to the RAR table | ||
3123 | **/ | 3141 | **/ |
3124 | static void e1000_update_mc_addr_list(struct e1000_hw *hw, u8 *mc_addr_list, | 3142 | static int e1000e_write_uc_addr_list(struct net_device *netdev) |
3125 | u32 mc_addr_count) | ||
3126 | { | 3143 | { |
3127 | hw->mac.ops.update_mc_addr_list(hw, mc_addr_list, mc_addr_count); | 3144 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3145 | struct e1000_hw *hw = &adapter->hw; | ||
3146 | unsigned int rar_entries = hw->mac.rar_entry_count; | ||
3147 | int count = 0; | ||
3148 | |||
3149 | /* save a rar entry for our hardware address */ | ||
3150 | rar_entries--; | ||
3151 | |||
3152 | /* save a rar entry for the LAA workaround */ | ||
3153 | if (adapter->flags & FLAG_RESET_OVERWRITES_LAA) | ||
3154 | rar_entries--; | ||
3155 | |||
3156 | /* return ENOMEM indicating insufficient memory for addresses */ | ||
3157 | if (netdev_uc_count(netdev) > rar_entries) | ||
3158 | return -ENOMEM; | ||
3159 | |||
3160 | if (!netdev_uc_empty(netdev) && rar_entries) { | ||
3161 | struct netdev_hw_addr *ha; | ||
3162 | |||
3163 | /* | ||
3164 | * write the addresses in reverse order to avoid write | ||
3165 | * combining | ||
3166 | */ | ||
3167 | netdev_for_each_uc_addr(ha, netdev) { | ||
3168 | if (!rar_entries) | ||
3169 | break; | ||
3170 | e1000e_rar_set(hw, ha->addr, rar_entries--); | ||
3171 | count++; | ||
3172 | } | ||
3173 | } | ||
3174 | |||
3175 | /* zero out the remaining RAR entries not used above */ | ||
3176 | for (; rar_entries > 0; rar_entries--) { | ||
3177 | ew32(RAH(rar_entries), 0); | ||
3178 | ew32(RAL(rar_entries), 0); | ||
3179 | } | ||
3180 | e1e_flush(); | ||
3181 | |||
3182 | return count; | ||
3128 | } | 3183 | } |
3129 | 3184 | ||
3130 | /** | 3185 | /** |
3131 | * e1000_set_multi - Multicast and Promiscuous mode set | 3186 | * e1000e_set_rx_mode - secondary unicast, Multicast and Promiscuous mode set |
3132 | * @netdev: network interface device structure | 3187 | * @netdev: network interface device structure |
3133 | * | 3188 | * |
3134 | * The set_multi entry point is called whenever the multicast address | 3189 | * The ndo_set_rx_mode entry point is called whenever the unicast or multicast |
3135 | * list or the network interface flags are updated. This routine is | 3190 | * address list or the network interface flags are updated. This routine is |
3136 | * responsible for configuring the hardware for proper multicast, | 3191 | * responsible for configuring the hardware for proper unicast, multicast, |
3137 | * promiscuous mode, and all-multi behavior. | 3192 | * promiscuous mode, and all-multi behavior. |
3138 | **/ | 3193 | **/ |
3139 | static void e1000_set_multi(struct net_device *netdev) | 3194 | static void e1000e_set_rx_mode(struct net_device *netdev) |
3140 | { | 3195 | { |
3141 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3196 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3142 | struct e1000_hw *hw = &adapter->hw; | 3197 | struct e1000_hw *hw = &adapter->hw; |
3143 | struct netdev_hw_addr *ha; | ||
3144 | u8 *mta_list; | ||
3145 | u32 rctl; | 3198 | u32 rctl; |
3146 | 3199 | ||
3147 | /* Check for Promiscuous and All Multicast modes */ | 3200 | /* Check for Promiscuous and All Multicast modes */ |
3148 | |||
3149 | rctl = er32(RCTL); | 3201 | rctl = er32(RCTL); |
3150 | 3202 | ||
3203 | /* clear the affected bits */ | ||
3204 | rctl &= ~(E1000_RCTL_UPE | E1000_RCTL_MPE); | ||
3205 | |||
3151 | if (netdev->flags & IFF_PROMISC) { | 3206 | if (netdev->flags & IFF_PROMISC) { |
3152 | rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); | 3207 | rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE); |
3153 | rctl &= ~E1000_RCTL_VFE; | ||
3154 | /* Do not hardware filter VLANs in promisc mode */ | 3208 | /* Do not hardware filter VLANs in promisc mode */ |
3155 | e1000e_vlan_filter_disable(adapter); | 3209 | e1000e_vlan_filter_disable(adapter); |
3156 | } else { | 3210 | } else { |
3211 | int count; | ||
3157 | if (netdev->flags & IFF_ALLMULTI) { | 3212 | if (netdev->flags & IFF_ALLMULTI) { |
3158 | rctl |= E1000_RCTL_MPE; | 3213 | rctl |= E1000_RCTL_MPE; |
3159 | rctl &= ~E1000_RCTL_UPE; | ||
3160 | } else { | 3214 | } else { |
3161 | rctl &= ~(E1000_RCTL_UPE | E1000_RCTL_MPE); | 3215 | /* |
3216 | * Write addresses to the MTA, if the attempt fails | ||
3217 | * then we should just turn on promiscuous mode so | ||
3218 | * that we can at least receive multicast traffic | ||
3219 | */ | ||
3220 | count = e1000e_write_mc_addr_list(netdev); | ||
3221 | if (count < 0) | ||
3222 | rctl |= E1000_RCTL_MPE; | ||
3162 | } | 3223 | } |
3163 | e1000e_vlan_filter_enable(adapter); | 3224 | e1000e_vlan_filter_enable(adapter); |
3164 | } | ||
3165 | |||
3166 | ew32(RCTL, rctl); | ||
3167 | |||
3168 | if (!netdev_mc_empty(netdev)) { | ||
3169 | int i = 0; | ||
3170 | |||
3171 | mta_list = kmalloc(netdev_mc_count(netdev) * 6, GFP_ATOMIC); | ||
3172 | if (!mta_list) | ||
3173 | return; | ||
3174 | |||
3175 | /* prepare a packed array of only addresses. */ | ||
3176 | netdev_for_each_mc_addr(ha, netdev) | ||
3177 | memcpy(mta_list + (i++ * ETH_ALEN), ha->addr, ETH_ALEN); | ||
3178 | |||
3179 | e1000_update_mc_addr_list(hw, mta_list, i); | ||
3180 | kfree(mta_list); | ||
3181 | } else { | ||
3182 | /* | 3225 | /* |
3183 | * if we're called from probe, we might not have | 3226 | * Write addresses to available RAR registers, if there is not |
3184 | * anything to do here, so clear out the list | 3227 | * sufficient space to store all the addresses then enable |
3228 | * unicast promiscuous mode | ||
3185 | */ | 3229 | */ |
3186 | e1000_update_mc_addr_list(hw, NULL, 0); | 3230 | count = e1000e_write_uc_addr_list(netdev); |
3231 | if (count < 0) | ||
3232 | rctl |= E1000_RCTL_UPE; | ||
3187 | } | 3233 | } |
3188 | 3234 | ||
3235 | ew32(RCTL, rctl); | ||
3236 | |||
3189 | if (netdev->features & NETIF_F_HW_VLAN_RX) | 3237 | if (netdev->features & NETIF_F_HW_VLAN_RX) |
3190 | e1000e_vlan_strip_enable(adapter); | 3238 | e1000e_vlan_strip_enable(adapter); |
3191 | else | 3239 | else |
@@ -3198,7 +3246,7 @@ static void e1000_set_multi(struct net_device *netdev) | |||
3198 | **/ | 3246 | **/ |
3199 | static void e1000_configure(struct e1000_adapter *adapter) | 3247 | static void e1000_configure(struct e1000_adapter *adapter) |
3200 | { | 3248 | { |
3201 | e1000_set_multi(adapter->netdev); | 3249 | e1000e_set_rx_mode(adapter->netdev); |
3202 | 3250 | ||
3203 | e1000_restore_vlan(adapter); | 3251 | e1000_restore_vlan(adapter); |
3204 | e1000_init_manageability_pt(adapter); | 3252 | e1000_init_manageability_pt(adapter); |
@@ -4168,16 +4216,13 @@ static void e1000_print_link_info(struct e1000_adapter *adapter) | |||
4168 | u32 ctrl = er32(CTRL); | 4216 | u32 ctrl = er32(CTRL); |
4169 | 4217 | ||
4170 | /* Link status message must follow this format for user tools */ | 4218 | /* Link status message must follow this format for user tools */ |
4171 | printk(KERN_INFO "e1000e: %s NIC Link is Up %d Mbps %s, " | 4219 | printk(KERN_INFO "e1000e: %s NIC Link is Up %d Mbps %s Duplex, Flow Control: %s\n", |
4172 | "Flow Control: %s\n", | 4220 | adapter->netdev->name, |
4173 | adapter->netdev->name, | 4221 | adapter->link_speed, |
4174 | adapter->link_speed, | 4222 | adapter->link_duplex == FULL_DUPLEX ? "Full" : "Half", |
4175 | (adapter->link_duplex == FULL_DUPLEX) ? | 4223 | (ctrl & E1000_CTRL_TFCE) && (ctrl & E1000_CTRL_RFCE) ? "Rx/Tx" : |
4176 | "Full Duplex" : "Half Duplex", | 4224 | (ctrl & E1000_CTRL_RFCE) ? "Rx" : |
4177 | ((ctrl & E1000_CTRL_TFCE) && (ctrl & E1000_CTRL_RFCE)) ? | 4225 | (ctrl & E1000_CTRL_TFCE) ? "Tx" : "None"); |
4178 | "Rx/Tx" : | ||
4179 | ((ctrl & E1000_CTRL_RFCE) ? "Rx" : | ||
4180 | ((ctrl & E1000_CTRL_TFCE) ? "Tx" : "None"))); | ||
4181 | } | 4226 | } |
4182 | 4227 | ||
4183 | static bool e1000e_has_link(struct e1000_adapter *adapter) | 4228 | static bool e1000e_has_link(struct e1000_adapter *adapter) |
@@ -4323,10 +4368,7 @@ static void e1000_watchdog_task(struct work_struct *work) | |||
4323 | e1e_rphy(hw, PHY_AUTONEG_EXP, &autoneg_exp); | 4368 | e1e_rphy(hw, PHY_AUTONEG_EXP, &autoneg_exp); |
4324 | 4369 | ||
4325 | if (!(autoneg_exp & NWAY_ER_LP_NWAY_CAPS)) | 4370 | if (!(autoneg_exp & NWAY_ER_LP_NWAY_CAPS)) |
4326 | e_info("Autonegotiated half duplex but" | 4371 | e_info("Autonegotiated half duplex but link partner cannot autoneg. Try forcing full duplex if link gets many collisions.\n"); |
4327 | " link partner cannot autoneg. " | ||
4328 | " Try forcing full duplex if " | ||
4329 | "link gets many collisions.\n"); | ||
4330 | } | 4372 | } |
4331 | 4373 | ||
4332 | /* adjust timeout factor according to speed/duplex */ | 4374 | /* adjust timeout factor according to speed/duplex */ |
@@ -5110,8 +5152,7 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu) | |||
5110 | if ((adapter->hw.mac.type == e1000_pch2lan) && | 5152 | if ((adapter->hw.mac.type == e1000_pch2lan) && |
5111 | !(adapter->flags2 & FLAG2_CRC_STRIPPING) && | 5153 | !(adapter->flags2 & FLAG2_CRC_STRIPPING) && |
5112 | (new_mtu > ETH_DATA_LEN)) { | 5154 | (new_mtu > ETH_DATA_LEN)) { |
5113 | e_err("Jumbo Frames not supported on 82579 when CRC " | 5155 | e_err("Jumbo Frames not supported on 82579 when CRC stripping is disabled.\n"); |
5114 | "stripping is disabled.\n"); | ||
5115 | return -EINVAL; | 5156 | return -EINVAL; |
5116 | } | 5157 | } |
5117 | 5158 | ||
@@ -5331,7 +5372,7 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake, | |||
5331 | 5372 | ||
5332 | if (wufc) { | 5373 | if (wufc) { |
5333 | e1000_setup_rctl(adapter); | 5374 | e1000_setup_rctl(adapter); |
5334 | e1000_set_multi(netdev); | 5375 | e1000e_set_rx_mode(netdev); |
5335 | 5376 | ||
5336 | /* turn on all-multi mode if wake on multicast is enabled */ | 5377 | /* turn on all-multi mode if wake on multicast is enabled */ |
5337 | if (wufc & E1000_WUFC_MC) { | 5378 | if (wufc & E1000_WUFC_MC) { |
@@ -5527,8 +5568,8 @@ static int __e1000_resume(struct pci_dev *pdev) | |||
5527 | phy_data & E1000_WUS_MC ? "Multicast Packet" : | 5568 | phy_data & E1000_WUS_MC ? "Multicast Packet" : |
5528 | phy_data & E1000_WUS_BC ? "Broadcast Packet" : | 5569 | phy_data & E1000_WUS_BC ? "Broadcast Packet" : |
5529 | phy_data & E1000_WUS_MAG ? "Magic Packet" : | 5570 | phy_data & E1000_WUS_MAG ? "Magic Packet" : |
5530 | phy_data & E1000_WUS_LNKC ? "Link Status " | 5571 | phy_data & E1000_WUS_LNKC ? |
5531 | " Change" : "other"); | 5572 | "Link Status Change" : "other"); |
5532 | } | 5573 | } |
5533 | e1e_wphy(&adapter->hw, BM_WUS, ~0); | 5574 | e1e_wphy(&adapter->hw, BM_WUS, ~0); |
5534 | } else { | 5575 | } else { |
@@ -5885,7 +5926,7 @@ static const struct net_device_ops e1000e_netdev_ops = { | |||
5885 | .ndo_stop = e1000_close, | 5926 | .ndo_stop = e1000_close, |
5886 | .ndo_start_xmit = e1000_xmit_frame, | 5927 | .ndo_start_xmit = e1000_xmit_frame, |
5887 | .ndo_get_stats64 = e1000e_get_stats64, | 5928 | .ndo_get_stats64 = e1000e_get_stats64, |
5888 | .ndo_set_rx_mode = e1000_set_multi, | 5929 | .ndo_set_rx_mode = e1000e_set_rx_mode, |
5889 | .ndo_set_mac_address = e1000_set_mac, | 5930 | .ndo_set_mac_address = e1000_set_mac, |
5890 | .ndo_change_mtu = e1000_change_mtu, | 5931 | .ndo_change_mtu = e1000_change_mtu, |
5891 | .ndo_do_ioctl = e1000_ioctl, | 5932 | .ndo_do_ioctl = e1000_ioctl, |
@@ -5950,8 +5991,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev, | |||
5950 | err = dma_set_coherent_mask(&pdev->dev, | 5991 | err = dma_set_coherent_mask(&pdev->dev, |
5951 | DMA_BIT_MASK(32)); | 5992 | DMA_BIT_MASK(32)); |
5952 | if (err) { | 5993 | if (err) { |
5953 | dev_err(&pdev->dev, "No usable DMA " | 5994 | dev_err(&pdev->dev, "No usable DMA configuration, aborting\n"); |
5954 | "configuration, aborting\n"); | ||
5955 | goto err_dma; | 5995 | goto err_dma; |
5956 | } | 5996 | } |
5957 | } | 5997 | } |
@@ -6077,6 +6117,8 @@ static int __devinit e1000_probe(struct pci_dev *pdev, | |||
6077 | NETIF_F_TSO6 | | 6117 | NETIF_F_TSO6 | |
6078 | NETIF_F_HW_CSUM); | 6118 | NETIF_F_HW_CSUM); |
6079 | 6119 | ||
6120 | netdev->priv_flags |= IFF_UNICAST_FLT; | ||
6121 | |||
6080 | if (pci_using_dac) { | 6122 | if (pci_using_dac) { |
6081 | netdev->features |= NETIF_F_HIGHDMA; | 6123 | netdev->features |= NETIF_F_HIGHDMA; |
6082 | netdev->vlan_features |= NETIF_F_HIGHDMA; | 6124 | netdev->vlan_features |= NETIF_F_HIGHDMA; |
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c index 7881fb95a25b..b8e20f037d0a 100644 --- a/drivers/net/ethernet/intel/igb/e1000_82575.c +++ b/drivers/net/ethernet/intel/igb/e1000_82575.c | |||
@@ -29,6 +29,8 @@ | |||
29 | * e1000_82576 | 29 | * e1000_82576 |
30 | */ | 30 | */ |
31 | 31 | ||
32 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
33 | |||
32 | #include <linux/types.h> | 34 | #include <linux/types.h> |
33 | #include <linux/if_ether.h> | 35 | #include <linux/if_ether.h> |
34 | 36 | ||
@@ -244,8 +246,7 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw) | |||
244 | * Check for invalid size | 246 | * Check for invalid size |
245 | */ | 247 | */ |
246 | if ((hw->mac.type == e1000_82576) && (size > 15)) { | 248 | if ((hw->mac.type == e1000_82576) && (size > 15)) { |
247 | printk("igb: The NVM size is not valid, " | 249 | pr_notice("The NVM size is not valid, defaulting to 32K\n"); |
248 | "defaulting to 32K.\n"); | ||
249 | size = 15; | 250 | size = 15; |
250 | } | 251 | } |
251 | nvm->word_size = 1 << size; | 252 | nvm->word_size = 1 << size; |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 1fcba22c6403..bd9b30e6ae9d 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c | |||
@@ -25,6 +25,8 @@ | |||
25 | 25 | ||
26 | *******************************************************************************/ | 26 | *******************************************************************************/ |
27 | 27 | ||
28 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
29 | |||
28 | #include <linux/module.h> | 30 | #include <linux/module.h> |
29 | #include <linux/types.h> | 31 | #include <linux/types.h> |
30 | #include <linux/init.h> | 32 | #include <linux/init.h> |
@@ -325,16 +327,13 @@ static void igb_regdump(struct e1000_hw *hw, struct igb_reg_info *reginfo) | |||
325 | regs[n] = rd32(E1000_TXDCTL(n)); | 327 | regs[n] = rd32(E1000_TXDCTL(n)); |
326 | break; | 328 | break; |
327 | default: | 329 | default: |
328 | printk(KERN_INFO "%-15s %08x\n", | 330 | pr_info("%-15s %08x\n", reginfo->name, rd32(reginfo->ofs)); |
329 | reginfo->name, rd32(reginfo->ofs)); | ||
330 | return; | 331 | return; |
331 | } | 332 | } |
332 | 333 | ||
333 | snprintf(rname, 16, "%s%s", reginfo->name, "[0-3]"); | 334 | snprintf(rname, 16, "%s%s", reginfo->name, "[0-3]"); |
334 | printk(KERN_INFO "%-15s ", rname); | 335 | pr_info("%-15s %08x %08x %08x %08x\n", rname, regs[0], regs[1], |
335 | for (n = 0; n < 4; n++) | 336 | regs[2], regs[3]); |
336 | printk(KERN_CONT "%08x ", regs[n]); | ||
337 | printk(KERN_CONT "\n"); | ||
338 | } | 337 | } |
339 | 338 | ||
340 | /* | 339 | /* |
@@ -359,18 +358,15 @@ static void igb_dump(struct igb_adapter *adapter) | |||
359 | /* Print netdevice Info */ | 358 | /* Print netdevice Info */ |
360 | if (netdev) { | 359 | if (netdev) { |
361 | dev_info(&adapter->pdev->dev, "Net device Info\n"); | 360 | dev_info(&adapter->pdev->dev, "Net device Info\n"); |
362 | printk(KERN_INFO "Device Name state " | 361 | pr_info("Device Name state trans_start " |
363 | "trans_start last_rx\n"); | 362 | "last_rx\n"); |
364 | printk(KERN_INFO "%-15s %016lX %016lX %016lX\n", | 363 | pr_info("%-15s %016lX %016lX %016lX\n", netdev->name, |
365 | netdev->name, | 364 | netdev->state, netdev->trans_start, netdev->last_rx); |
366 | netdev->state, | ||
367 | netdev->trans_start, | ||
368 | netdev->last_rx); | ||
369 | } | 365 | } |
370 | 366 | ||
371 | /* Print Registers */ | 367 | /* Print Registers */ |
372 | dev_info(&adapter->pdev->dev, "Register Dump\n"); | 368 | dev_info(&adapter->pdev->dev, "Register Dump\n"); |
373 | printk(KERN_INFO " Register Name Value\n"); | 369 | pr_info(" Register Name Value\n"); |
374 | for (reginfo = (struct igb_reg_info *)igb_reg_info_tbl; | 370 | for (reginfo = (struct igb_reg_info *)igb_reg_info_tbl; |
375 | reginfo->name; reginfo++) { | 371 | reginfo->name; reginfo++) { |
376 | igb_regdump(hw, reginfo); | 372 | igb_regdump(hw, reginfo); |
@@ -381,18 +377,17 @@ static void igb_dump(struct igb_adapter *adapter) | |||
381 | goto exit; | 377 | goto exit; |
382 | 378 | ||
383 | dev_info(&adapter->pdev->dev, "TX Rings Summary\n"); | 379 | dev_info(&adapter->pdev->dev, "TX Rings Summary\n"); |
384 | printk(KERN_INFO "Queue [NTU] [NTC] [bi(ntc)->dma ]" | 380 | pr_info("Queue [NTU] [NTC] [bi(ntc)->dma ] leng ntw timestamp\n"); |
385 | " leng ntw timestamp\n"); | ||
386 | for (n = 0; n < adapter->num_tx_queues; n++) { | 381 | for (n = 0; n < adapter->num_tx_queues; n++) { |
387 | struct igb_tx_buffer *buffer_info; | 382 | struct igb_tx_buffer *buffer_info; |
388 | tx_ring = adapter->tx_ring[n]; | 383 | tx_ring = adapter->tx_ring[n]; |
389 | buffer_info = &tx_ring->tx_buffer_info[tx_ring->next_to_clean]; | 384 | buffer_info = &tx_ring->tx_buffer_info[tx_ring->next_to_clean]; |
390 | printk(KERN_INFO " %5d %5X %5X %016llX %04X %p %016llX\n", | 385 | pr_info(" %5d %5X %5X %016llX %04X %p %016llX\n", |
391 | n, tx_ring->next_to_use, tx_ring->next_to_clean, | 386 | n, tx_ring->next_to_use, tx_ring->next_to_clean, |
392 | (u64)buffer_info->dma, | 387 | (u64)buffer_info->dma, |
393 | buffer_info->length, | 388 | buffer_info->length, |
394 | buffer_info->next_to_watch, | 389 | buffer_info->next_to_watch, |
395 | (u64)buffer_info->time_stamp); | 390 | (u64)buffer_info->time_stamp); |
396 | } | 391 | } |
397 | 392 | ||
398 | /* Print TX Rings */ | 393 | /* Print TX Rings */ |
@@ -414,36 +409,38 @@ static void igb_dump(struct igb_adapter *adapter) | |||
414 | 409 | ||
415 | for (n = 0; n < adapter->num_tx_queues; n++) { | 410 | for (n = 0; n < adapter->num_tx_queues; n++) { |
416 | tx_ring = adapter->tx_ring[n]; | 411 | tx_ring = adapter->tx_ring[n]; |
417 | printk(KERN_INFO "------------------------------------\n"); | 412 | pr_info("------------------------------------\n"); |
418 | printk(KERN_INFO "TX QUEUE INDEX = %d\n", tx_ring->queue_index); | 413 | pr_info("TX QUEUE INDEX = %d\n", tx_ring->queue_index); |
419 | printk(KERN_INFO "------------------------------------\n"); | 414 | pr_info("------------------------------------\n"); |
420 | printk(KERN_INFO "T [desc] [address 63:0 ] " | 415 | pr_info("T [desc] [address 63:0 ] [PlPOCIStDDM Ln] " |
421 | "[PlPOCIStDDM Ln] [bi->dma ] " | 416 | "[bi->dma ] leng ntw timestamp " |
422 | "leng ntw timestamp bi->skb\n"); | 417 | "bi->skb\n"); |
423 | 418 | ||
424 | for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { | 419 | for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { |
420 | const char *next_desc; | ||
425 | struct igb_tx_buffer *buffer_info; | 421 | struct igb_tx_buffer *buffer_info; |
426 | tx_desc = IGB_TX_DESC(tx_ring, i); | 422 | tx_desc = IGB_TX_DESC(tx_ring, i); |
427 | buffer_info = &tx_ring->tx_buffer_info[i]; | 423 | buffer_info = &tx_ring->tx_buffer_info[i]; |
428 | u0 = (struct my_u0 *)tx_desc; | 424 | u0 = (struct my_u0 *)tx_desc; |
429 | printk(KERN_INFO "T [0x%03X] %016llX %016llX %016llX" | 425 | if (i == tx_ring->next_to_use && |
430 | " %04X %p %016llX %p", i, | 426 | i == tx_ring->next_to_clean) |
427 | next_desc = " NTC/U"; | ||
428 | else if (i == tx_ring->next_to_use) | ||
429 | next_desc = " NTU"; | ||
430 | else if (i == tx_ring->next_to_clean) | ||
431 | next_desc = " NTC"; | ||
432 | else | ||
433 | next_desc = ""; | ||
434 | |||
435 | pr_info("T [0x%03X] %016llX %016llX %016llX" | ||
436 | " %04X %p %016llX %p%s\n", i, | ||
431 | le64_to_cpu(u0->a), | 437 | le64_to_cpu(u0->a), |
432 | le64_to_cpu(u0->b), | 438 | le64_to_cpu(u0->b), |
433 | (u64)buffer_info->dma, | 439 | (u64)buffer_info->dma, |
434 | buffer_info->length, | 440 | buffer_info->length, |
435 | buffer_info->next_to_watch, | 441 | buffer_info->next_to_watch, |
436 | (u64)buffer_info->time_stamp, | 442 | (u64)buffer_info->time_stamp, |
437 | buffer_info->skb); | 443 | buffer_info->skb, next_desc); |
438 | if (i == tx_ring->next_to_use && | ||
439 | i == tx_ring->next_to_clean) | ||
440 | printk(KERN_CONT " NTC/U\n"); | ||
441 | else if (i == tx_ring->next_to_use) | ||
442 | printk(KERN_CONT " NTU\n"); | ||
443 | else if (i == tx_ring->next_to_clean) | ||
444 | printk(KERN_CONT " NTC\n"); | ||
445 | else | ||
446 | printk(KERN_CONT "\n"); | ||
447 | 444 | ||
448 | if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) | 445 | if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) |
449 | print_hex_dump(KERN_INFO, "", | 446 | print_hex_dump(KERN_INFO, "", |
@@ -456,11 +453,11 @@ static void igb_dump(struct igb_adapter *adapter) | |||
456 | /* Print RX Rings Summary */ | 453 | /* Print RX Rings Summary */ |
457 | rx_ring_summary: | 454 | rx_ring_summary: |
458 | dev_info(&adapter->pdev->dev, "RX Rings Summary\n"); | 455 | dev_info(&adapter->pdev->dev, "RX Rings Summary\n"); |
459 | printk(KERN_INFO "Queue [NTU] [NTC]\n"); | 456 | pr_info("Queue [NTU] [NTC]\n"); |
460 | for (n = 0; n < adapter->num_rx_queues; n++) { | 457 | for (n = 0; n < adapter->num_rx_queues; n++) { |
461 | rx_ring = adapter->rx_ring[n]; | 458 | rx_ring = adapter->rx_ring[n]; |
462 | printk(KERN_INFO " %5d %5X %5X\n", n, | 459 | pr_info(" %5d %5X %5X\n", |
463 | rx_ring->next_to_use, rx_ring->next_to_clean); | 460 | n, rx_ring->next_to_use, rx_ring->next_to_clean); |
464 | } | 461 | } |
465 | 462 | ||
466 | /* Print RX Rings */ | 463 | /* Print RX Rings */ |
@@ -492,36 +489,43 @@ rx_ring_summary: | |||
492 | 489 | ||
493 | for (n = 0; n < adapter->num_rx_queues; n++) { | 490 | for (n = 0; n < adapter->num_rx_queues; n++) { |
494 | rx_ring = adapter->rx_ring[n]; | 491 | rx_ring = adapter->rx_ring[n]; |
495 | printk(KERN_INFO "------------------------------------\n"); | 492 | pr_info("------------------------------------\n"); |
496 | printk(KERN_INFO "RX QUEUE INDEX = %d\n", rx_ring->queue_index); | 493 | pr_info("RX QUEUE INDEX = %d\n", rx_ring->queue_index); |
497 | printk(KERN_INFO "------------------------------------\n"); | 494 | pr_info("------------------------------------\n"); |
498 | printk(KERN_INFO "R [desc] [ PktBuf A0] " | 495 | pr_info("R [desc] [ PktBuf A0] [ HeadBuf DD] " |
499 | "[ HeadBuf DD] [bi->dma ] [bi->skb] " | 496 | "[bi->dma ] [bi->skb] <-- Adv Rx Read format\n"); |
500 | "<-- Adv Rx Read format\n"); | 497 | pr_info("RWB[desc] [PcsmIpSHl PtRs] [vl er S cks ln] -----" |
501 | printk(KERN_INFO "RWB[desc] [PcsmIpSHl PtRs] " | 498 | "----------- [bi->skb] <-- Adv Rx Write-Back format\n"); |
502 | "[vl er S cks ln] ---------------- [bi->skb] " | ||
503 | "<-- Adv Rx Write-Back format\n"); | ||
504 | 499 | ||
505 | for (i = 0; i < rx_ring->count; i++) { | 500 | for (i = 0; i < rx_ring->count; i++) { |
501 | const char *next_desc; | ||
506 | struct igb_rx_buffer *buffer_info; | 502 | struct igb_rx_buffer *buffer_info; |
507 | buffer_info = &rx_ring->rx_buffer_info[i]; | 503 | buffer_info = &rx_ring->rx_buffer_info[i]; |
508 | rx_desc = IGB_RX_DESC(rx_ring, i); | 504 | rx_desc = IGB_RX_DESC(rx_ring, i); |
509 | u0 = (struct my_u0 *)rx_desc; | 505 | u0 = (struct my_u0 *)rx_desc; |
510 | staterr = le32_to_cpu(rx_desc->wb.upper.status_error); | 506 | staterr = le32_to_cpu(rx_desc->wb.upper.status_error); |
507 | |||
508 | if (i == rx_ring->next_to_use) | ||
509 | next_desc = " NTU"; | ||
510 | else if (i == rx_ring->next_to_clean) | ||
511 | next_desc = " NTC"; | ||
512 | else | ||
513 | next_desc = ""; | ||
514 | |||
511 | if (staterr & E1000_RXD_STAT_DD) { | 515 | if (staterr & E1000_RXD_STAT_DD) { |
512 | /* Descriptor Done */ | 516 | /* Descriptor Done */ |
513 | printk(KERN_INFO "RWB[0x%03X] %016llX " | 517 | pr_info("%s[0x%03X] %016llX %016llX -------" |
514 | "%016llX ---------------- %p", i, | 518 | "--------- %p%s\n", "RWB", i, |
515 | le64_to_cpu(u0->a), | 519 | le64_to_cpu(u0->a), |
516 | le64_to_cpu(u0->b), | 520 | le64_to_cpu(u0->b), |
517 | buffer_info->skb); | 521 | buffer_info->skb, next_desc); |
518 | } else { | 522 | } else { |
519 | printk(KERN_INFO "R [0x%03X] %016llX " | 523 | pr_info("%s[0x%03X] %016llX %016llX %016llX" |
520 | "%016llX %016llX %p", i, | 524 | " %p%s\n", "R ", i, |
521 | le64_to_cpu(u0->a), | 525 | le64_to_cpu(u0->a), |
522 | le64_to_cpu(u0->b), | 526 | le64_to_cpu(u0->b), |
523 | (u64)buffer_info->dma, | 527 | (u64)buffer_info->dma, |
524 | buffer_info->skb); | 528 | buffer_info->skb, next_desc); |
525 | 529 | ||
526 | if (netif_msg_pktdata(adapter)) { | 530 | if (netif_msg_pktdata(adapter)) { |
527 | print_hex_dump(KERN_INFO, "", | 531 | print_hex_dump(KERN_INFO, "", |
@@ -538,14 +542,6 @@ rx_ring_summary: | |||
538 | PAGE_SIZE/2, true); | 542 | PAGE_SIZE/2, true); |
539 | } | 543 | } |
540 | } | 544 | } |
541 | |||
542 | if (i == rx_ring->next_to_use) | ||
543 | printk(KERN_CONT " NTU\n"); | ||
544 | else if (i == rx_ring->next_to_clean) | ||
545 | printk(KERN_CONT " NTC\n"); | ||
546 | else | ||
547 | printk(KERN_CONT "\n"); | ||
548 | |||
549 | } | 545 | } |
550 | } | 546 | } |
551 | 547 | ||
@@ -599,10 +595,10 @@ struct net_device *igb_get_hw_dev(struct e1000_hw *hw) | |||
599 | static int __init igb_init_module(void) | 595 | static int __init igb_init_module(void) |
600 | { | 596 | { |
601 | int ret; | 597 | int ret; |
602 | printk(KERN_INFO "%s - version %s\n", | 598 | pr_info("%s - version %s\n", |
603 | igb_driver_string, igb_driver_version); | 599 | igb_driver_string, igb_driver_version); |
604 | 600 | ||
605 | printk(KERN_INFO "%s\n", igb_copyright); | 601 | pr_info("%s\n", igb_copyright); |
606 | 602 | ||
607 | #ifdef CONFIG_IGB_DCA | 603 | #ifdef CONFIG_IGB_DCA |
608 | dca_register_notify(&dca_notifier); | 604 | dca_register_notify(&dca_notifier); |
@@ -3642,23 +3638,23 @@ static void igb_watchdog_task(struct work_struct *work) | |||
3642 | 3638 | ||
3643 | ctrl = rd32(E1000_CTRL); | 3639 | ctrl = rd32(E1000_CTRL); |
3644 | /* Links status message must follow this format */ | 3640 | /* Links status message must follow this format */ |
3645 | printk(KERN_INFO "igb: %s NIC Link is Up %d Mbps %s, " | 3641 | printk(KERN_INFO "igb: %s NIC Link is Up %d Mbps %s " |
3646 | "Flow Control: %s\n", | 3642 | "Duplex, Flow Control: %s\n", |
3647 | netdev->name, | 3643 | netdev->name, |
3648 | adapter->link_speed, | 3644 | adapter->link_speed, |
3649 | adapter->link_duplex == FULL_DUPLEX ? | 3645 | adapter->link_duplex == FULL_DUPLEX ? |
3650 | "Full Duplex" : "Half Duplex", | 3646 | "Full" : "Half", |
3651 | ((ctrl & E1000_CTRL_TFCE) && | 3647 | (ctrl & E1000_CTRL_TFCE) && |
3652 | (ctrl & E1000_CTRL_RFCE)) ? "RX/TX" : | 3648 | (ctrl & E1000_CTRL_RFCE) ? "RX/TX" : |
3653 | ((ctrl & E1000_CTRL_RFCE) ? "RX" : | 3649 | (ctrl & E1000_CTRL_RFCE) ? "RX" : |
3654 | ((ctrl & E1000_CTRL_TFCE) ? "TX" : "None"))); | 3650 | (ctrl & E1000_CTRL_TFCE) ? "TX" : "None"); |
3655 | 3651 | ||
3656 | /* check for thermal sensor event */ | 3652 | /* check for thermal sensor event */ |
3657 | if (igb_thermal_sensor_event(hw, E1000_THSTAT_LINK_THROTTLE)) { | 3653 | if (igb_thermal_sensor_event(hw, |
3658 | printk(KERN_INFO "igb: %s The network adapter " | 3654 | E1000_THSTAT_LINK_THROTTLE)) { |
3659 | "link speed was downshifted " | 3655 | netdev_info(netdev, "The network adapter link " |
3660 | "because it overheated.\n", | 3656 | "speed was downshifted because it " |
3661 | netdev->name); | 3657 | "overheated\n"); |
3662 | } | 3658 | } |
3663 | 3659 | ||
3664 | /* adjust timeout factor according to speed/duplex */ | 3660 | /* adjust timeout factor according to speed/duplex */ |
@@ -3688,11 +3684,10 @@ static void igb_watchdog_task(struct work_struct *work) | |||
3688 | adapter->link_duplex = 0; | 3684 | adapter->link_duplex = 0; |
3689 | 3685 | ||
3690 | /* check for thermal sensor event */ | 3686 | /* check for thermal sensor event */ |
3691 | if (igb_thermal_sensor_event(hw, E1000_THSTAT_PWR_DOWN)) { | 3687 | if (igb_thermal_sensor_event(hw, |
3692 | printk(KERN_ERR "igb: %s The network adapter " | 3688 | E1000_THSTAT_PWR_DOWN)) { |
3693 | "was stopped because it " | 3689 | netdev_err(netdev, "The network adapter was " |
3694 | "overheated.\n", | 3690 | "stopped because it overheated\n"); |
3695 | netdev->name); | ||
3696 | } | 3691 | } |
3697 | 3692 | ||
3698 | /* Links status message must follow this format */ | 3693 | /* Links status message must follow this format */ |
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index 2a05658938bd..c358973ce414 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c | |||
@@ -25,6 +25,8 @@ | |||
25 | 25 | ||
26 | *******************************************************************************/ | 26 | *******************************************************************************/ |
27 | 27 | ||
28 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
29 | |||
28 | #include <linux/module.h> | 30 | #include <linux/module.h> |
29 | #include <linux/types.h> | 31 | #include <linux/types.h> |
30 | #include <linux/init.h> | 32 | #include <linux/init.h> |
@@ -1746,10 +1748,9 @@ void igbvf_update_stats(struct igbvf_adapter *adapter) | |||
1746 | 1748 | ||
1747 | static void igbvf_print_link_info(struct igbvf_adapter *adapter) | 1749 | static void igbvf_print_link_info(struct igbvf_adapter *adapter) |
1748 | { | 1750 | { |
1749 | dev_info(&adapter->pdev->dev, "Link is Up %d Mbps %s\n", | 1751 | dev_info(&adapter->pdev->dev, "Link is Up %d Mbps %s Duplex\n", |
1750 | adapter->link_speed, | 1752 | adapter->link_speed, |
1751 | ((adapter->link_duplex == FULL_DUPLEX) ? | 1753 | adapter->link_duplex == FULL_DUPLEX ? "Full" : "Half"); |
1752 | "Full Duplex" : "Half Duplex")); | ||
1753 | } | 1754 | } |
1754 | 1755 | ||
1755 | static bool igbvf_has_link(struct igbvf_adapter *adapter) | 1756 | static bool igbvf_has_link(struct igbvf_adapter *adapter) |
@@ -2843,9 +2844,8 @@ static struct pci_driver igbvf_driver = { | |||
2843 | static int __init igbvf_init_module(void) | 2844 | static int __init igbvf_init_module(void) |
2844 | { | 2845 | { |
2845 | int ret; | 2846 | int ret; |
2846 | printk(KERN_INFO "%s - version %s\n", | 2847 | pr_info("%s - version %s\n", igbvf_driver_string, igbvf_driver_version); |
2847 | igbvf_driver_string, igbvf_driver_version); | 2848 | pr_info("%s\n", igbvf_copyright); |
2848 | printk(KERN_INFO "%s\n", igbvf_copyright); | ||
2849 | 2849 | ||
2850 | ret = pci_register_driver(&igbvf_driver); | 2850 | ret = pci_register_driver(&igbvf_driver); |
2851 | 2851 | ||
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index 00fcd39ad666..cf6812dd1436 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | |||
@@ -572,7 +572,7 @@ static int ixgbe_rcv_msg_from_vf(struct ixgbe_adapter *adapter, u32 vf) | |||
572 | 572 | ||
573 | /* reply to reset with ack and vf mac address */ | 573 | /* reply to reset with ack and vf mac address */ |
574 | msgbuf[0] = IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_ACK; | 574 | msgbuf[0] = IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_ACK; |
575 | memcpy(new_mac, vf_mac, IXGBE_ETH_LENGTH_OF_ADDRESS); | 575 | memcpy(new_mac, vf_mac, ETH_ALEN); |
576 | /* | 576 | /* |
577 | * Piggyback the multicast filter type so VF can compute the | 577 | * Piggyback the multicast filter type so VF can compute the |
578 | * correct vectors | 578 | * correct vectors |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h index 6c5cca808bd7..242643a69b3f 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | |||
@@ -1710,8 +1710,6 @@ enum { | |||
1710 | #define IXGBE_NVM_POLL_WRITE 1 /* Flag for polling for write complete */ | 1710 | #define IXGBE_NVM_POLL_WRITE 1 /* Flag for polling for write complete */ |
1711 | #define IXGBE_NVM_POLL_READ 0 /* Flag for polling for read complete */ | 1711 | #define IXGBE_NVM_POLL_READ 0 /* Flag for polling for read complete */ |
1712 | 1712 | ||
1713 | #define IXGBE_ETH_LENGTH_OF_ADDRESS 6 | ||
1714 | |||
1715 | #define IXGBE_EEPROM_PAGE_SIZE_MAX 128 | 1713 | #define IXGBE_EEPROM_PAGE_SIZE_MAX 128 |
1716 | #define IXGBE_EEPROM_RD_BUFFER_MAX_COUNT 512 /* EEPROM words # read in burst */ | 1714 | #define IXGBE_EEPROM_RD_BUFFER_MAX_COUNT 512 /* EEPROM words # read in burst */ |
1717 | #define IXGBE_EEPROM_WR_BUFFER_MAX_COUNT 256 /* EEPROM words # wr in burst */ | 1715 | #define IXGBE_EEPROM_WR_BUFFER_MAX_COUNT 256 /* EEPROM words # wr in burst */ |
@@ -2802,9 +2800,9 @@ struct ixgbe_eeprom_info { | |||
2802 | struct ixgbe_mac_info { | 2800 | struct ixgbe_mac_info { |
2803 | struct ixgbe_mac_operations ops; | 2801 | struct ixgbe_mac_operations ops; |
2804 | enum ixgbe_mac_type type; | 2802 | enum ixgbe_mac_type type; |
2805 | u8 addr[IXGBE_ETH_LENGTH_OF_ADDRESS]; | 2803 | u8 addr[ETH_ALEN]; |
2806 | u8 perm_addr[IXGBE_ETH_LENGTH_OF_ADDRESS]; | 2804 | u8 perm_addr[ETH_ALEN]; |
2807 | u8 san_addr[IXGBE_ETH_LENGTH_OF_ADDRESS]; | 2805 | u8 san_addr[ETH_ALEN]; |
2808 | /* prefix for World Wide Node Name (WWNN) */ | 2806 | /* prefix for World Wide Node Name (WWNN) */ |
2809 | u16 wwnn_prefix; | 2807 | u16 wwnn_prefix; |
2810 | /* prefix for World Wide Port Name (WWPN) */ | 2808 | /* prefix for World Wide Port Name (WWPN) */ |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c index e5101e91b6b5..8cc5eccfd651 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | |||
@@ -751,16 +751,20 @@ static s32 ixgbe_blink_led_start_X540(struct ixgbe_hw *hw, u32 index) | |||
751 | { | 751 | { |
752 | u32 macc_reg; | 752 | u32 macc_reg; |
753 | u32 ledctl_reg; | 753 | u32 ledctl_reg; |
754 | ixgbe_link_speed speed; | ||
755 | bool link_up; | ||
754 | 756 | ||
755 | /* | 757 | /* |
756 | * In order for the blink bit in the LED control register | 758 | * Link should be up in order for the blink bit in the LED control |
757 | * to work, link and speed must be forced in the MAC. We | 759 | * register to work. Force link and speed in the MAC if link is down. |
758 | * will reverse this when we stop the blinking. | 760 | * This will be reversed when we stop the blinking. |
759 | */ | 761 | */ |
760 | macc_reg = IXGBE_READ_REG(hw, IXGBE_MACC); | 762 | hw->mac.ops.check_link(hw, &speed, &link_up, false); |
761 | macc_reg |= IXGBE_MACC_FLU | IXGBE_MACC_FSV_10G | IXGBE_MACC_FS; | 763 | if (link_up == false) { |
762 | IXGBE_WRITE_REG(hw, IXGBE_MACC, macc_reg); | 764 | macc_reg = IXGBE_READ_REG(hw, IXGBE_MACC); |
763 | 765 | macc_reg |= IXGBE_MACC_FLU | IXGBE_MACC_FSV_10G | IXGBE_MACC_FS; | |
766 | IXGBE_WRITE_REG(hw, IXGBE_MACC, macc_reg); | ||
767 | } | ||
764 | /* Set the LED to LINK_UP + BLINK. */ | 768 | /* Set the LED to LINK_UP + BLINK. */ |
765 | ledctl_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL); | 769 | ledctl_reg = IXGBE_READ_REG(hw, IXGBE_LEDCTL); |
766 | ledctl_reg &= ~IXGBE_LED_MODE_MASK(index); | 770 | ledctl_reg &= ~IXGBE_LED_MODE_MASK(index); |
diff --git a/drivers/net/ethernet/intel/ixgbevf/defines.h b/drivers/net/ethernet/intel/ixgbevf/defines.h index 78abb6f1a866..2eb89cb94a0d 100644 --- a/drivers/net/ethernet/intel/ixgbevf/defines.h +++ b/drivers/net/ethernet/intel/ixgbevf/defines.h | |||
@@ -35,7 +35,6 @@ | |||
35 | #define IXGBE_VF_IRQ_CLEAR_MASK 7 | 35 | #define IXGBE_VF_IRQ_CLEAR_MASK 7 |
36 | #define IXGBE_VF_MAX_TX_QUEUES 1 | 36 | #define IXGBE_VF_MAX_TX_QUEUES 1 |
37 | #define IXGBE_VF_MAX_RX_QUEUES 1 | 37 | #define IXGBE_VF_MAX_RX_QUEUES 1 |
38 | #define IXGBE_ETH_LENGTH_OF_ADDRESS 6 | ||
39 | 38 | ||
40 | /* Link speed */ | 39 | /* Link speed */ |
41 | typedef u32 ixgbe_link_speed; | 40 | typedef u32 ixgbe_link_speed; |
diff --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c b/drivers/net/ethernet/intel/ixgbevf/ethtool.c index e29ba4506b74..149fa520d7f2 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ethtool.c +++ b/drivers/net/ethernet/intel/ixgbevf/ethtool.c | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | /* ethtool support for ixgbevf */ | 28 | /* ethtool support for ixgbevf */ |
29 | 29 | ||
30 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
31 | |||
30 | #include <linux/types.h> | 32 | #include <linux/types.h> |
31 | #include <linux/module.h> | 33 | #include <linux/module.h> |
32 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
@@ -549,8 +551,8 @@ static const u32 register_test_patterns[] = { | |||
549 | writel((W & M), (adapter->hw.hw_addr + R)); \ | 551 | writel((W & M), (adapter->hw.hw_addr + R)); \ |
550 | val = readl(adapter->hw.hw_addr + R); \ | 552 | val = readl(adapter->hw.hw_addr + R); \ |
551 | if ((W & M) != (val & M)) { \ | 553 | if ((W & M) != (val & M)) { \ |
552 | printk(KERN_ERR "set/check reg %04X test failed: got 0x%08X " \ | 554 | pr_err("set/check reg %04X test failed: got 0x%08X expected " \ |
553 | "expected 0x%08X\n", R, (val & M), (W & M)); \ | 555 | "0x%08X\n", R, (val & M), (W & M)); \ |
554 | *data = R; \ | 556 | *data = R; \ |
555 | writel(before, (adapter->hw.hw_addr + R)); \ | 557 | writel(before, (adapter->hw.hw_addr + R)); \ |
556 | return 1; \ | 558 | return 1; \ |
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 3e6ec088c50d..0c39bb1ac3bb 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | |||
@@ -29,6 +29,9 @@ | |||
29 | /****************************************************************************** | 29 | /****************************************************************************** |
30 | Copyright (c)2006 - 2007 Myricom, Inc. for some LRO specific code | 30 | Copyright (c)2006 - 2007 Myricom, Inc. for some LRO specific code |
31 | ******************************************************************************/ | 31 | ******************************************************************************/ |
32 | |||
33 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
34 | |||
32 | #include <linux/types.h> | 35 | #include <linux/types.h> |
33 | #include <linux/bitops.h> | 36 | #include <linux/bitops.h> |
34 | #include <linux/module.h> | 37 | #include <linux/module.h> |
@@ -1437,7 +1440,7 @@ static int ixgbevf_write_uc_addr_list(struct net_device *netdev) | |||
1437 | int count = 0; | 1440 | int count = 0; |
1438 | 1441 | ||
1439 | if ((netdev_uc_count(netdev)) > 10) { | 1442 | if ((netdev_uc_count(netdev)) > 10) { |
1440 | printk(KERN_ERR "Too many unicast filters - No Space\n"); | 1443 | pr_err("Too many unicast filters - No Space\n"); |
1441 | return -ENOSPC; | 1444 | return -ENOSPC; |
1442 | } | 1445 | } |
1443 | 1446 | ||
@@ -2135,7 +2138,7 @@ static int ixgbevf_init_interrupt_scheme(struct ixgbevf_adapter *adapter) | |||
2135 | 2138 | ||
2136 | err = ixgbevf_alloc_queues(adapter); | 2139 | err = ixgbevf_alloc_queues(adapter); |
2137 | if (err) { | 2140 | if (err) { |
2138 | printk(KERN_ERR "Unable to allocate memory for queues\n"); | 2141 | pr_err("Unable to allocate memory for queues\n"); |
2139 | goto err_alloc_queues; | 2142 | goto err_alloc_queues; |
2140 | } | 2143 | } |
2141 | 2144 | ||
@@ -2189,7 +2192,7 @@ static int __devinit ixgbevf_sw_init(struct ixgbevf_adapter *adapter) | |||
2189 | } else { | 2192 | } else { |
2190 | err = hw->mac.ops.init_hw(hw); | 2193 | err = hw->mac.ops.init_hw(hw); |
2191 | if (err) { | 2194 | if (err) { |
2192 | printk(KERN_ERR "init_shared_code failed: %d\n", err); | 2195 | pr_err("init_shared_code failed: %d\n", err); |
2193 | goto out; | 2196 | goto out; |
2194 | } | 2197 | } |
2195 | } | 2198 | } |
@@ -2630,8 +2633,8 @@ static int ixgbevf_open(struct net_device *netdev) | |||
2630 | * the vf can't start. */ | 2633 | * the vf can't start. */ |
2631 | if (hw->adapter_stopped) { | 2634 | if (hw->adapter_stopped) { |
2632 | err = IXGBE_ERR_MBX; | 2635 | err = IXGBE_ERR_MBX; |
2633 | printk(KERN_ERR "Unable to start - perhaps the PF" | 2636 | pr_err("Unable to start - perhaps the PF Driver isn't " |
2634 | " Driver isn't up yet\n"); | 2637 | "up yet\n"); |
2635 | goto err_setup_reset; | 2638 | goto err_setup_reset; |
2636 | } | 2639 | } |
2637 | } | 2640 | } |
@@ -2842,10 +2845,8 @@ static bool ixgbevf_tx_csum(struct ixgbevf_adapter *adapter, | |||
2842 | break; | 2845 | break; |
2843 | default: | 2846 | default: |
2844 | if (unlikely(net_ratelimit())) { | 2847 | if (unlikely(net_ratelimit())) { |
2845 | printk(KERN_WARNING | 2848 | pr_warn("partial checksum but " |
2846 | "partial checksum but " | 2849 | "proto=%x!\n", skb->protocol); |
2847 | "proto=%x!\n", | ||
2848 | skb->protocol); | ||
2849 | } | 2850 | } |
2850 | break; | 2851 | break; |
2851 | } | 2852 | } |
@@ -3415,7 +3416,7 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev, | |||
3415 | memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); | 3416 | memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); |
3416 | 3417 | ||
3417 | if (!is_valid_ether_addr(netdev->dev_addr)) { | 3418 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
3418 | printk(KERN_ERR "invalid MAC address\n"); | 3419 | pr_err("invalid MAC address\n"); |
3419 | err = -EIO; | 3420 | err = -EIO; |
3420 | goto err_sw_init; | 3421 | goto err_sw_init; |
3421 | } | 3422 | } |
@@ -3536,10 +3537,10 @@ static struct pci_driver ixgbevf_driver = { | |||
3536 | static int __init ixgbevf_init_module(void) | 3537 | static int __init ixgbevf_init_module(void) |
3537 | { | 3538 | { |
3538 | int ret; | 3539 | int ret; |
3539 | printk(KERN_INFO "ixgbevf: %s - version %s\n", ixgbevf_driver_string, | 3540 | pr_info("%s - version %s\n", ixgbevf_driver_string, |
3540 | ixgbevf_driver_version); | 3541 | ixgbevf_driver_version); |
3541 | 3542 | ||
3542 | printk(KERN_INFO "%s\n", ixgbevf_copyright); | 3543 | pr_info("%s\n", ixgbevf_copyright); |
3543 | 3544 | ||
3544 | ret = pci_register_driver(&ixgbevf_driver); | 3545 | ret = pci_register_driver(&ixgbevf_driver); |
3545 | return ret; | 3546 | return ret; |
diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.c b/drivers/net/ethernet/intel/ixgbevf/vf.c index aa3682e8c473..21533e300367 100644 --- a/drivers/net/ethernet/intel/ixgbevf/vf.c +++ b/drivers/net/ethernet/intel/ixgbevf/vf.c | |||
@@ -108,7 +108,7 @@ static s32 ixgbevf_reset_hw_vf(struct ixgbe_hw *hw) | |||
108 | if (msgbuf[0] != (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_ACK)) | 108 | if (msgbuf[0] != (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_ACK)) |
109 | return IXGBE_ERR_INVALID_MAC_ADDR; | 109 | return IXGBE_ERR_INVALID_MAC_ADDR; |
110 | 110 | ||
111 | memcpy(hw->mac.perm_addr, addr, IXGBE_ETH_LENGTH_OF_ADDRESS); | 111 | memcpy(hw->mac.perm_addr, addr, ETH_ALEN); |
112 | hw->mac.mc_filter_type = msgbuf[IXGBE_VF_MC_TYPE_WORD]; | 112 | hw->mac.mc_filter_type = msgbuf[IXGBE_VF_MC_TYPE_WORD]; |
113 | 113 | ||
114 | return 0; | 114 | return 0; |
@@ -211,7 +211,7 @@ static s32 ixgbevf_mta_vector(struct ixgbe_hw *hw, u8 *mc_addr) | |||
211 | **/ | 211 | **/ |
212 | static s32 ixgbevf_get_mac_addr_vf(struct ixgbe_hw *hw, u8 *mac_addr) | 212 | static s32 ixgbevf_get_mac_addr_vf(struct ixgbe_hw *hw, u8 *mac_addr) |
213 | { | 213 | { |
214 | memcpy(mac_addr, hw->mac.perm_addr, IXGBE_ETH_LENGTH_OF_ADDRESS); | 214 | memcpy(mac_addr, hw->mac.perm_addr, ETH_ALEN); |
215 | 215 | ||
216 | return 0; | 216 | return 0; |
217 | } | 217 | } |