mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
cddd459140
Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release which was tagged LSDK-20.04-V5.4. https://source.codeaurora.org/external/qoriq/qoriq-components/linux/ For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in LSDK, port the dts patches from 4.14. The patches are sorted into the following categories: 301-arch-xxxx 302-dts-xxxx 303-core-xxxx 701-net-xxxx 801-audio-xxxx 802-can-xxxx 803-clock-xxxx 804-crypto-xxxx 805-display-xxxx 806-dma-xxxx 807-gpio-xxxx 808-i2c-xxxx 809-jailhouse-xxxx 810-keys-xxxx 811-kvm-xxxx 812-pcie-xxxx 813-pm-xxxx 814-qe-xxxx 815-sata-xxxx 816-sdhc-xxxx 817-spi-xxxx 818-thermal-xxxx 819-uart-xxxx 820-usb-xxxx 821-vfio-xxxx Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
74 lines
2.7 KiB
Diff
74 lines
2.7 KiB
Diff
From 5a43b0405561fb6feffb7042493b58014ac27a4d Mon Sep 17 00:00:00 2001
|
|
From: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|
Date: Tue, 12 Feb 2019 22:05:16 +0200
|
|
Subject: [PATCH] dpaa2-eth: Add channel stat
|
|
|
|
Compute average number of frames processed for each CDAN
|
|
received on a channel and print it in the detailed channel
|
|
stats.
|
|
|
|
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
|
---
|
|
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c | 8 +++++---
|
|
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 1 +
|
|
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 2 ++
|
|
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c | 2 +-
|
|
4 files changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
|
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
|
|
@@ -132,16 +132,18 @@ static int dpaa2_dbg_ch_show(struct seq_
|
|
int i;
|
|
|
|
seq_printf(file, "Channel stats for %s:\n", priv->net_dev->name);
|
|
- seq_printf(file, "%s%16s%16s%16s%16s\n",
|
|
- "CHID", "CPU", "Deq busy", "CDANs", "Buf count");
|
|
+ seq_printf(file, "%s%16s%16s%16s%16s%16s%16s\n",
|
|
+ "CHID", "CPU", "Deq busy", "Frames", "CDANs", "Avg Frm/CDAN", "Buf count");
|
|
|
|
for (i = 0; i < priv->num_channels; i++) {
|
|
ch = priv->channel[i];
|
|
- seq_printf(file, "%4d%16d%16llu%16llu%16d\n",
|
|
+ seq_printf(file, "%4d%16d%16llu%16llu%16llu%16llu%16d\n",
|
|
ch->ch_id,
|
|
ch->nctx.desired_cpu,
|
|
ch->stats.dequeue_portal_busy,
|
|
+ ch->stats.frames,
|
|
ch->stats.cdan,
|
|
+ ch->stats.frames / ch->stats.cdan,
|
|
ch->buf_count);
|
|
}
|
|
|
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
|
|
@@ -540,6 +540,7 @@ static int consume_frames(struct dpaa2_e
|
|
return 0;
|
|
|
|
fq->stats.frames += cleaned;
|
|
+ ch->stats.frames += cleaned;
|
|
|
|
/* A dequeue operation only pulls frames from a single queue
|
|
* into the store. Return the frame queue as an out param.
|
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
|
|
@@ -310,6 +310,8 @@ struct dpaa2_eth_ch_stats {
|
|
__u64 xdp_tx;
|
|
__u64 xdp_tx_err;
|
|
__u64 xdp_redirect;
|
|
+ /* Must be last, does not show up in ethtool stats */
|
|
+ __u64 frames;
|
|
};
|
|
|
|
/* Maximum number of queues associated with a DPNI */
|
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
|
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
|
|
@@ -234,7 +234,7 @@ static void dpaa2_eth_get_ethtool_stats(
|
|
/* Per-channel stats */
|
|
for (k = 0; k < priv->num_channels; k++) {
|
|
ch_stats = &priv->channel[k]->stats;
|
|
- for (j = 0; j < sizeof(*ch_stats) / sizeof(__u64); j++)
|
|
+ for (j = 0; j < sizeof(*ch_stats) / sizeof(__u64) - 1; j++)
|
|
*((__u64 *)data + i + j) += *((__u64 *)ch_stats + j);
|
|
}
|
|
i += j;
|