summaryrefslogtreecommitdiffstats
path: root/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
diff options
context:
space:
mode:
authorIoana Radulescu <ruxandra.radulescu@nxp.com>2017-04-28 04:50:32 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-28 14:25:17 +0200
commit5636187b60823616a8d0ecb4f379438dae1aa511 (patch)
tree8e6b4664ab9dcdd4a9aa356b735cae0f728f6941 /drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
parent85047abd06a2249ea8ab5cf839a3a5f83d94c79c (diff)
downloadop-kernel-dev-5636187b60823616a8d0ecb4f379438dae1aa511.zip
op-kernel-dev-5636187b60823616a8d0ecb4f379438dae1aa511.tar.gz
staging: fsl-dpaa2/eth: Add trace points
Add trace events in significant places of the data path. Useful for debuggging. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c')
-rw-r--r--drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
index 67f007b..6f9eed6 100644
--- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
+++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
@@ -42,6 +42,12 @@
#include "../../fsl-mc/include/mc-sys.h"
#include "dpaa2-eth.h"
+/* CREATE_TRACE_POINTS only needs to be defined once. Other dpa files
+ * using trace events only need to #include <trace/events/sched.h>
+ */
+#define CREATE_TRACE_POINTS
+#include "dpaa2-eth-trace.h"
+
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Freescale Semiconductor, Inc");
MODULE_DESCRIPTION("Freescale DPAA2 Ethernet Driver");
@@ -213,6 +219,9 @@ static void dpaa2_eth_rx(struct dpaa2_eth_priv *priv,
struct dpaa2_fas *fas;
u32 status = 0;
+ /* Tracing point */
+ trace_dpaa2_rx_fd(priv->net_dev, fd);
+
dma_unmap_single(dev, addr, DPAA2_ETH_RX_BUF_SIZE, DMA_FROM_DEVICE);
vaddr = phys_to_virt(addr);
@@ -583,6 +592,9 @@ static int dpaa2_eth_tx(struct sk_buff *skb, struct net_device *net_dev)
goto err_build_fd;
}
+ /* Tracing point */
+ trace_dpaa2_tx_fd(net_dev, &fd);
+
/* TxConf FQ selection primarily based on cpu affinity; this is
* non-migratable context, so it's safe to call smp_processor_id().
*/
@@ -623,6 +635,9 @@ static void dpaa2_eth_tx_conf(struct dpaa2_eth_priv *priv,
struct dpaa2_eth_drv_stats *percpu_extras;
u32 status = 0;
+ /* Tracing point */
+ trace_dpaa2_tx_conf_fd(priv->net_dev, fd);
+
percpu_extras = this_cpu_ptr(priv->percpu_extras);
percpu_extras->tx_conf_frames++;
percpu_extras->tx_conf_bytes += dpaa2_fd_get_len(fd);
@@ -707,6 +722,12 @@ static int add_bufs(struct dpaa2_eth_priv *priv, u16 bpid)
goto err_map;
buf_array[i] = addr;
+
+ /* tracing point */
+ trace_dpaa2_eth_buf_seed(priv->net_dev,
+ buf, DPAA2_ETH_BUF_RAW_SIZE,
+ addr, DPAA2_ETH_RX_BUF_SIZE,
+ bpid);
}
release_bufs:
OpenPOWER on IntegriCloud