diff options
author | Ioana Radulescu <ruxandra.radulescu@nxp.com> | 2017-04-28 04:50:32 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-04-28 14:25:17 +0200 |
commit | 5636187b60823616a8d0ecb4f379438dae1aa511 (patch) | |
tree | 8e6b4664ab9dcdd4a9aa356b735cae0f728f6941 /drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c | |
parent | 85047abd06a2249ea8ab5cf839a3a5f83d94c79c (diff) | |
download | op-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.c | 21 |
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: |