Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e29b5d8f authored by Tushar Dave's avatar Tushar Dave Committed by Jeff Kirsher
Browse files

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: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarTushar Dave <tushar.n.dave@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 542c3f4e
Loading
Loading
Loading
Loading
+50 −63
Original line number Diff line number Diff line
@@ -3261,7 +3261,7 @@ static void e1000_regdump(struct e1000_adapter *adapter)
	u32 *regs_buff = regs;
	int i = 0;

	char *reg_name[] = {
	static const char * const reg_name[] = {
		"CTRL",  "STATUS",
		"RCTL", "RDLEN", "RDH", "RDT", "RDTR",
		"TCTL", "TDBAL", "TDBAH", "TDLEN", "TDH", "TDT",
@@ -3316,10 +3316,8 @@ static void e1000_regdump(struct e1000_adapter *adapter)
	regs_buff[37] = er32(RDFPC);

	pr_info("Register dump\n");
	for (i = 0; i < NUM_REGS; i++) {
		printk(KERN_INFO "%-15s  %08x\n",
		reg_name[i], regs_buff[i]);
	}
	for (i = 0; i < NUM_REGS; i++)
		pr_info("%-15s  %08x\n", reg_name[i], regs_buff[i]);
}

/*
@@ -3370,10 +3368,8 @@ static void e1000_dump(struct e1000_adapter *adapter)
	 *   +----------------------------------------------------------------+
	 *   63       48 47     40 39  36 35    32 31     24 23  20 19        0
	 */
	printk(KERN_INFO "Tc[desc]     [Ce CoCsIpceCoS] [MssHlRSCm0Plen] [bi->dma       ]"
	       " leng  ntw timestmp         bi->skb\n");
	printk(KERN_INFO "Td[desc]     [address 63:0  ] [VlaPoRSCm1Dlen] [bi->dma       ]"
	       " leng  ntw timestmp         bi->skb\n");
	pr_info("Tc[desc]     [Ce CoCsIpceCoS] [MssHlRSCm0Plen] [bi->dma       ] leng  ntw timestmp         bi->skb\n");
	pr_info("Td[desc]     [address 63:0  ] [VlaPoRSCm1Dlen] [bi->dma       ] leng  ntw timestmp         bi->skb\n");

	if (!netif_msg_tx_done(adapter))
		goto rx_ring_summary;
@@ -3383,27 +3379,23 @@ static void e1000_dump(struct e1000_adapter *adapter)
		struct e1000_buffer *buffer_info = &tx_ring->buffer_info[i];
		struct my_u { u64 a; u64 b; };
		struct my_u *u = (struct my_u *)tx_desc;
		printk(KERN_INFO "T%c[0x%03X]    %016llX %016llX %016llX %04X  %3X "
		       "%016llX %p",
		       ((le64_to_cpu(u->b) & (1<<20)) ? 'd' : 'c'), i,
		       le64_to_cpu(u->a), le64_to_cpu(u->b),
		       (u64)buffer_info->dma, buffer_info->length,
		       buffer_info->next_to_watch, (u64)buffer_info->time_stamp,
		       buffer_info->skb);
		const char *type;

		if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean)
			printk(KERN_CONT" NTC/U\n");
			type = "NTC/U";
		else if (i == tx_ring->next_to_use)
			printk(KERN_CONT " NTU\n");
			type = "NTU";
		else if (i == tx_ring->next_to_clean)
			printk(KERN_CONT " NTC\n");
			type = "NTC";
		else
			printk(KERN_CONT "\n");

			type = "";

		if (netif_msg_pktdata(adapter) && buffer_info->dma != 0)
			print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS,
					16, 1, phys_to_virt(buffer_info->dma),
					buffer_info->length, true);
		pr_info("T%c[0x%03X]    %016llX %016llX %016llX %04X  %3X %016llX %p %s\n",
			((le64_to_cpu(u->b) & (1<<20)) ? 'd' : 'c'), i,
			le64_to_cpu(u->a), le64_to_cpu(u->b),
			(u64)buffer_info->dma, buffer_info->length,
			buffer_info->next_to_watch,
			(u64)buffer_info->time_stamp, buffer_info->skb, type);
	}

rx_ring_summary:
@@ -3421,8 +3413,7 @@ static void e1000_dump(struct e1000_adapter *adapter)
	 * +-----------------------------------------------------+
	 * 63       48 47    40 39      32 31         16 15      0
	 */
	printk(KERN_INFO "R[desc]      [address 63:0  ] [vl er S cks ln] "
		"[bi->dma       ] [bi->skb]\n");
	pr_info("R[desc]      [address 63:0  ] [vl er S cks ln] [bi->dma       ] [bi->skb]\n");

	if (!netif_msg_rx_status(adapter))
		goto exit;
@@ -3432,29 +3423,25 @@ static void e1000_dump(struct e1000_adapter *adapter)
		struct e1000_buffer *buffer_info = &rx_ring->buffer_info[i];
		struct my_u { u64 a; u64 b; };
		struct my_u *u = (struct my_u *)rx_desc;
		printk(KERN_INFO "R[0x%03X]     %016llX %016llX %016llX %p",
			i, le64_to_cpu(u->a), le64_to_cpu(u->b),
			(u64)buffer_info->dma, buffer_info->skb);
		const char *type;

		if (i == rx_ring->next_to_use)
			printk(KERN_CONT " NTU\n");
			type = "NTU";
		else if (i == rx_ring->next_to_clean)
			printk(KERN_CONT " NTC\n");
			type = "NTC";
		else
			printk(KERN_CONT "\n");

		if (netif_msg_pktdata(adapter))
			print_hex_dump(KERN_INFO, "",
				DUMP_PREFIX_ADDRESS, 16, 1,
				phys_to_virt(buffer_info->dma),
				buffer_info->length, true);
			type = "";

		pr_info("R[0x%03X]     %016llX %016llX %016llX %p %s\n",
			i, le64_to_cpu(u->a), le64_to_cpu(u->b),
			(u64)buffer_info->dma, buffer_info->skb, type);
	} /* for */

	/* dump the descriptor caches */
	/* rx */
	printk(KERN_INFO "e1000: Rx descriptor cache in 64bit format\n");
	pr_info("Rx descriptor cache in 64bit format\n");
	for (i = 0x6000; i <= 0x63FF ; i += 0x10) {
		printk(KERN_INFO "R%04X: %08X|%08X %08X|%08X\n",
		pr_info("R%04X: %08X|%08X %08X|%08X\n",
			i,
			readl(adapter->hw.hw_addr + i+4),
			readl(adapter->hw.hw_addr + i),
@@ -3462,9 +3449,9 @@ static void e1000_dump(struct e1000_adapter *adapter)
			readl(adapter->hw.hw_addr + i+8));
	}
	/* tx */
	printk(KERN_INFO "e1000: Tx descriptor cache in 64bit format\n");
	pr_info("Tx descriptor cache in 64bit format\n");
	for (i = 0x7000; i <= 0x73FF ; i += 0x10) {
		printk(KERN_INFO "T%04X: %08X|%08X %08X|%08X\n",
		pr_info("T%04X: %08X|%08X %08X|%08X\n",
			i,
			readl(adapter->hw.hw_addr + i+4),
			readl(adapter->hw.hw_addr + i),