aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel
diff options
context:
space:
mode:
authorTushar Dave <tushar.n.dave@intel.com>2012-02-10 03:06:36 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-02-24 05:03:43 -0500
commite29b5d8f0896bfe908c0036f2614a89e71bdf42c (patch)
tree0edfbcfd9d1f25b8c1c3b7f1490aa019cdbf751a /drivers/net/ethernet/intel
parent542c3f4ea90fb6de47cce13df1da9ed9b1563981 (diff)
v2 e1000: Neaten e1000_dump function
Use pr_<level> for printk Use temporary instead of multiple pr_conts Coalesce formats. Save a few bytes of object code too: $ size drivers/net/ethernet/intel/e1000/e1000_main.o* text data bss dec hex filename 60507 369 14120 74996 124f4 drivers/net/ethernet/intel/e1000/e1000_main.o.new 60717 369 14176 75262 125fe drivers/net/ethernet/intel/e1000/e1000_main.o.old Removed printing of pktdata. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Tushar Dave <tushar.n.dave@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c113
1 files changed, 50 insertions, 63 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index 8aa8097558f9..6419a88a69e6 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -3261,16 +3261,16 @@ static void e1000_regdump(struct e1000_adapter *adapter)
3261 u32 *regs_buff = regs; 3261 u32 *regs_buff = regs;
3262 int i = 0; 3262 int i = 0;
3263 3263
3264 char *reg_name[] = { 3264 static const char * const reg_name[] = {
3265 "CTRL", "STATUS", 3265 "CTRL", "STATUS",
3266 "RCTL", "RDLEN", "RDH", "RDT", "RDTR", 3266 "RCTL", "RDLEN", "RDH", "RDT", "RDTR",
3267 "TCTL", "TDBAL", "TDBAH", "TDLEN", "TDH", "TDT", 3267 "TCTL", "TDBAL", "TDBAH", "TDLEN", "TDH", "TDT",
3268 "TIDV", "TXDCTL", "TADV", "TARC0", 3268 "TIDV", "TXDCTL", "TADV", "TARC0",
3269 "TDBAL1", "TDBAH1", "TDLEN1", "TDH1", "TDT1", 3269 "TDBAL1", "TDBAH1", "TDLEN1", "TDH1", "TDT1",
3270 "TXDCTL1", "TARC1", 3270 "TXDCTL1", "TARC1",
3271 "CTRL_EXT", "ERT", "RDBAL", "RDBAH", 3271 "CTRL_EXT", "ERT", "RDBAL", "RDBAH",
3272 "TDFH", "TDFT", "TDFHS", "TDFTS", "TDFPC", 3272 "TDFH", "TDFT", "TDFHS", "TDFTS", "TDFPC",
3273 "RDFH", "RDFT", "RDFHS", "RDFTS", "RDFPC" 3273 "RDFH", "RDFT", "RDFHS", "RDFTS", "RDFPC"
3274 }; 3274 };
3275 3275
3276 regs_buff[0] = er32(CTRL); 3276 regs_buff[0] = er32(CTRL);
@@ -3316,10 +3316,8 @@ static void e1000_regdump(struct e1000_adapter *adapter)
3316 regs_buff[37] = er32(RDFPC); 3316 regs_buff[37] = er32(RDFPC);
3317 3317
3318 pr_info("Register dump\n"); 3318 pr_info("Register dump\n");
3319 for (i = 0; i < NUM_REGS; i++) { 3319 for (i = 0; i < NUM_REGS; i++)
3320 printk(KERN_INFO "%-15s %08x\n", 3320 pr_info("%-15s %08x\n", reg_name[i], regs_buff[i]);
3321 reg_name[i], regs_buff[i]);
3322 }
3323} 3321}
3324 3322
3325/* 3323/*
@@ -3370,10 +3368,8 @@ static void e1000_dump(struct e1000_adapter *adapter)
3370 * +----------------------------------------------------------------+ 3368 * +----------------------------------------------------------------+
3371 * 63 48 47 40 39 36 35 32 31 24 23 20 19 0 3369 * 63 48 47 40 39 36 35 32 31 24 23 20 19 0
3372 */ 3370 */
3373 printk(KERN_INFO "Tc[desc] [Ce CoCsIpceCoS] [MssHlRSCm0Plen] [bi->dma ]" 3371 pr_info("Tc[desc] [Ce CoCsIpceCoS] [MssHlRSCm0Plen] [bi->dma ] leng ntw timestmp bi->skb\n");
3374 " leng ntw timestmp bi->skb\n"); 3372 pr_info("Td[desc] [address 63:0 ] [VlaPoRSCm1Dlen] [bi->dma ] leng ntw timestmp bi->skb\n");
3375 printk(KERN_INFO "Td[desc] [address 63:0 ] [VlaPoRSCm1Dlen] [bi->dma ]"
3376 " leng ntw timestmp bi->skb\n");
3377 3373
3378 if (!netif_msg_tx_done(adapter)) 3374 if (!netif_msg_tx_done(adapter))
3379 goto rx_ring_summary; 3375 goto rx_ring_summary;
@@ -3383,27 +3379,23 @@ static void e1000_dump(struct e1000_adapter *adapter)
3383 struct e1000_buffer *buffer_info = &tx_ring->buffer_info[i]; 3379 struct e1000_buffer *buffer_info = &tx_ring->buffer_info[i];
3384 struct my_u { u64 a; u64 b; }; 3380 struct my_u { u64 a; u64 b; };
3385 struct my_u *u = (struct my_u *)tx_desc; 3381 struct my_u *u = (struct my_u *)tx_desc;
3386 printk(KERN_INFO "T%c[0x%03X] %016llX %016llX %016llX %04X %3X " 3382 const char *type;
3387 "%016llX %p", 3383
3388 ((le64_to_cpu(u->b) & (1<<20)) ? 'd' : 'c'), i,
3389 le64_to_cpu(u->a), le64_to_cpu(u->b),
3390 (u64)buffer_info->dma, buffer_info->length,
3391 buffer_info->next_to_watch, (u64)buffer_info->time_stamp,
3392 buffer_info->skb);
3393 if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean) 3384 if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean)
3394 printk(KERN_CONT" NTC/U\n"); 3385 type = "NTC/U";
3395 else if (i == tx_ring->next_to_use) 3386 else if (i == tx_ring->next_to_use)
3396 printk(KERN_CONT " NTU\n"); 3387 type = "NTU";
3397 else if (i == tx_ring->next_to_clean) 3388 else if (i == tx_ring->next_to_clean)
3398 printk(KERN_CONT " NTC\n"); 3389 type = "NTC";
3399 else 3390 else
3400 printk(KERN_CONT "\n"); 3391 type = "";
3401 3392
3402 3393 pr_info("T%c[0x%03X] %016llX %016llX %016llX %04X %3X %016llX %p %s\n",
3403 if (netif_msg_pktdata(adapter) && buffer_info->dma != 0) 3394 ((le64_to_cpu(u->b) & (1<<20)) ? 'd' : 'c'), i,
3404 print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 3395 le64_to_cpu(u->a), le64_to_cpu(u->b),
3405 16, 1, phys_to_virt(buffer_info->dma), 3396 (u64)buffer_info->dma, buffer_info->length,
3406 buffer_info->length, true); 3397 buffer_info->next_to_watch,
3398 (u64)buffer_info->time_stamp, buffer_info->skb, type);
3407 } 3399 }
3408 3400
3409rx_ring_summary: 3401rx_ring_summary:
@@ -3421,8 +3413,7 @@ rx_ring_summary:
3421 * +-----------------------------------------------------+ 3413 * +-----------------------------------------------------+
3422 * 63 48 47 40 39 32 31 16 15 0 3414 * 63 48 47 40 39 32 31 16 15 0
3423 */ 3415 */
3424 printk(KERN_INFO "R[desc] [address 63:0 ] [vl er S cks ln] " 3416 pr_info("R[desc] [address 63:0 ] [vl er S cks ln] [bi->dma ] [bi->skb]\n");
3425 "[bi->dma ] [bi->skb]\n");
3426 3417
3427 if (!netif_msg_rx_status(adapter)) 3418 if (!netif_msg_rx_status(adapter))
3428 goto exit; 3419 goto exit;
@@ -3432,44 +3423,40 @@ rx_ring_summary:
3432 struct e1000_buffer *buffer_info = &rx_ring->buffer_info[i]; 3423 struct e1000_buffer *buffer_info = &rx_ring->buffer_info[i];
3433 struct my_u { u64 a; u64 b; }; 3424 struct my_u { u64 a; u64 b; };
3434 struct my_u *u = (struct my_u *)rx_desc; 3425 struct my_u *u = (struct my_u *)rx_desc;
3435 printk(KERN_INFO "R[0x%03X] %016llX %016llX %016llX %p", 3426 const char *type;
3436 i, le64_to_cpu(u->a), le64_to_cpu(u->b), 3427
3437 (u64)buffer_info->dma, buffer_info->skb);
3438 if (i == rx_ring->next_to_use) 3428 if (i == rx_ring->next_to_use)
3439 printk(KERN_CONT " NTU\n"); 3429 type = "NTU";
3440 else if (i == rx_ring->next_to_clean) 3430 else if (i == rx_ring->next_to_clean)
3441 printk(KERN_CONT " NTC\n"); 3431 type = "NTC";
3442 else 3432 else
3443 printk(KERN_CONT "\n"); 3433 type = "";
3444
3445 if (netif_msg_pktdata(adapter))
3446 print_hex_dump(KERN_INFO, "",
3447 DUMP_PREFIX_ADDRESS, 16, 1,
3448 phys_to_virt(buffer_info->dma),
3449 buffer_info->length, true);
3450 3434
3435 pr_info("R[0x%03X] %016llX %016llX %016llX %p %s\n",
3436 i, le64_to_cpu(u->a), le64_to_cpu(u->b),
3437 (u64)buffer_info->dma, buffer_info->skb, type);
3451 } /* for */ 3438 } /* for */
3452 3439
3453 /* dump the descriptor caches */ 3440 /* dump the descriptor caches */
3454 /* rx */ 3441 /* rx */
3455 printk(KERN_INFO "e1000: Rx descriptor cache in 64bit format\n"); 3442 pr_info("Rx descriptor cache in 64bit format\n");
3456 for (i = 0x6000; i <= 0x63FF ; i += 0x10) { 3443 for (i = 0x6000; i <= 0x63FF ; i += 0x10) {
3457 printk(KERN_INFO "R%04X: %08X|%08X %08X|%08X\n", 3444 pr_info("R%04X: %08X|%08X %08X|%08X\n",
3458 i, 3445 i,
3459 readl(adapter->hw.hw_addr + i+4), 3446 readl(adapter->hw.hw_addr + i+4),
3460 readl(adapter->hw.hw_addr + i), 3447 readl(adapter->hw.hw_addr + i),
3461 readl(adapter->hw.hw_addr + i+12), 3448 readl(adapter->hw.hw_addr + i+12),
3462 readl(adapter->hw.hw_addr + i+8)); 3449 readl(adapter->hw.hw_addr + i+8));
3463 } 3450 }
3464 /* tx */ 3451 /* tx */
3465 printk(KERN_INFO "e1000: Tx descriptor cache in 64bit format\n"); 3452 pr_info("Tx descriptor cache in 64bit format\n");
3466 for (i = 0x7000; i <= 0x73FF ; i += 0x10) { 3453 for (i = 0x7000; i <= 0x73FF ; i += 0x10) {
3467 printk(KERN_INFO "T%04X: %08X|%08X %08X|%08X\n", 3454 pr_info("T%04X: %08X|%08X %08X|%08X\n",
3468 i, 3455 i,
3469 readl(adapter->hw.hw_addr + i+4), 3456 readl(adapter->hw.hw_addr + i+4),
3470 readl(adapter->hw.hw_addr + i), 3457 readl(adapter->hw.hw_addr + i),
3471 readl(adapter->hw.hw_addr + i+12), 3458 readl(adapter->hw.hw_addr + i+12),
3472 readl(adapter->hw.hw_addr + i+8)); 3459 readl(adapter->hw.hw_addr + i+8));
3473 } 3460 }
3474exit: 3461exit:
3475 return; 3462 return;