|
@@ -336,11 +336,13 @@ static void ixgbe_dump(struct ixgbe_adapter *adapter)
|
|
|
goto exit;
|
|
|
|
|
|
dev_info(&adapter->pdev->dev, "TX Rings Summary\n");
|
|
|
- pr_info("Queue [NTU] [NTC] [bi(ntc)->dma ] leng ntw timestamp\n");
|
|
|
+ pr_info(" %s %s %s %s\n",
|
|
|
+ "Queue [NTU] [NTC] [bi(ntc)->dma ]",
|
|
|
+ "leng", "ntw", "timestamp");
|
|
|
for (n = 0; n < adapter->num_tx_queues; n++) {
|
|
|
tx_ring = adapter->tx_ring[n];
|
|
|
tx_buffer = &tx_ring->tx_buffer_info[tx_ring->next_to_clean];
|
|
|
- pr_info(" %5d %5X %5X %016llX %04X %p %016llX\n",
|
|
|
+ pr_info(" %5d %5X %5X %016llX %08X %p %016llX\n",
|
|
|
n, tx_ring->next_to_use, tx_ring->next_to_clean,
|
|
|
(u64)dma_unmap_addr(tx_buffer, dma),
|
|
|
dma_unmap_len(tx_buffer, len),
|
|
@@ -394,40 +396,43 @@ static void ixgbe_dump(struct ixgbe_adapter *adapter)
|
|
|
pr_info("------------------------------------\n");
|
|
|
pr_info("TX QUEUE INDEX = %d\n", tx_ring->queue_index);
|
|
|
pr_info("------------------------------------\n");
|
|
|
- pr_info("T [desc] [address 63:0 ] "
|
|
|
- "[PlPOIdStDDt Ln] [bi->dma ] "
|
|
|
- "leng ntw timestamp bi->skb\n");
|
|
|
+ pr_info("%s%s %s %s %s %s\n",
|
|
|
+ "T [desc] [address 63:0 ] ",
|
|
|
+ "[PlPOIdStDDt Ln] [bi->dma ] ",
|
|
|
+ "leng", "ntw", "timestamp", "bi->skb");
|
|
|
|
|
|
for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) {
|
|
|
tx_desc = IXGBE_TX_DESC(tx_ring, i);
|
|
|
tx_buffer = &tx_ring->tx_buffer_info[i];
|
|
|
u0 = (struct my_u0 *)tx_desc;
|
|
|
- pr_info("T [0x%03X] %016llX %016llX %016llX"
|
|
|
- " %04X %p %016llX %p", i,
|
|
|
- le64_to_cpu(u0->a),
|
|
|
- le64_to_cpu(u0->b),
|
|
|
- (u64)dma_unmap_addr(tx_buffer, dma),
|
|
|
- dma_unmap_len(tx_buffer, len),
|
|
|
- tx_buffer->next_to_watch,
|
|
|
- (u64)tx_buffer->time_stamp,
|
|
|
- tx_buffer->skb);
|
|
|
- if (i == tx_ring->next_to_use &&
|
|
|
- i == tx_ring->next_to_clean)
|
|
|
- pr_cont(" NTC/U\n");
|
|
|
- else if (i == tx_ring->next_to_use)
|
|
|
- pr_cont(" NTU\n");
|
|
|
- else if (i == tx_ring->next_to_clean)
|
|
|
- pr_cont(" NTC\n");
|
|
|
- else
|
|
|
- pr_cont("\n");
|
|
|
-
|
|
|
- if (netif_msg_pktdata(adapter) &&
|
|
|
- tx_buffer->skb)
|
|
|
- print_hex_dump(KERN_INFO, "",
|
|
|
- DUMP_PREFIX_ADDRESS, 16, 1,
|
|
|
- tx_buffer->skb->data,
|
|
|
+ if (dma_unmap_len(tx_buffer, len) > 0) {
|
|
|
+ pr_info("T [0x%03X] %016llX %016llX %016llX %08X %p %016llX %p",
|
|
|
+ i,
|
|
|
+ le64_to_cpu(u0->a),
|
|
|
+ le64_to_cpu(u0->b),
|
|
|
+ (u64)dma_unmap_addr(tx_buffer, dma),
|
|
|
dma_unmap_len(tx_buffer, len),
|
|
|
- true);
|
|
|
+ tx_buffer->next_to_watch,
|
|
|
+ (u64)tx_buffer->time_stamp,
|
|
|
+ tx_buffer->skb);
|
|
|
+ if (i == tx_ring->next_to_use &&
|
|
|
+ i == tx_ring->next_to_clean)
|
|
|
+ pr_cont(" NTC/U\n");
|
|
|
+ else if (i == tx_ring->next_to_use)
|
|
|
+ pr_cont(" NTU\n");
|
|
|
+ else if (i == tx_ring->next_to_clean)
|
|
|
+ pr_cont(" NTC\n");
|
|
|
+ else
|
|
|
+ pr_cont("\n");
|
|
|
+
|
|
|
+ if (netif_msg_pktdata(adapter) &&
|
|
|
+ tx_buffer->skb)
|
|
|
+ print_hex_dump(KERN_INFO, "",
|
|
|
+ DUMP_PREFIX_ADDRESS, 16, 1,
|
|
|
+ tx_buffer->skb->data,
|
|
|
+ dma_unmap_len(tx_buffer, len),
|
|
|
+ true);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -497,11 +502,13 @@ rx_ring_summary:
|
|
|
pr_info("------------------------------------\n");
|
|
|
pr_info("RX QUEUE INDEX = %d\n", rx_ring->queue_index);
|
|
|
pr_info("------------------------------------\n");
|
|
|
- pr_info("R [desc] [ PktBuf A0] "
|
|
|
- "[ HeadBuf DD] [bi->dma ] [bi->skb] "
|
|
|
+ pr_info("%s%s%s",
|
|
|
+ "R [desc] [ PktBuf A0] ",
|
|
|
+ "[ HeadBuf DD] [bi->dma ] [bi->skb ] ",
|
|
|
"<-- Adv Rx Read format\n");
|
|
|
- pr_info("RWB[desc] [PcsmIpSHl PtRs] "
|
|
|
- "[vl er S cks ln] ---------------- [bi->skb] "
|
|
|
+ pr_info("%s%s%s",
|
|
|
+ "RWB[desc] [PcsmIpSHl PtRs] ",
|
|
|
+ "[vl er S cks ln] ---------------- [bi->skb ] ",
|
|
|
"<-- Adv Rx Write-Back format\n");
|
|
|
|
|
|
for (i = 0; i < rx_ring->count; i++) {
|