From patchwork Thu Sep 24 15:00:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Madalin Bucur X-Patchwork-Id: 522385 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 181E11401F6 for ; Fri, 25 Sep 2015 01:21:11 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id F0B141A15DF for ; Fri, 25 Sep 2015 01:21:10 +1000 (AEST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0108.outbound.protection.outlook.com [207.46.100.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3C71E1A091A for ; Fri, 25 Sep 2015 01:17:48 +1000 (AEST) Received: from BN3PR0301CA0067.namprd03.prod.outlook.com (10.160.152.163) by BY1PR0301MB1270.namprd03.prod.outlook.com (10.161.205.144) with Microsoft SMTP Server (TLS) id 15.1.280.20; Thu, 24 Sep 2015 15:02:58 +0000 Received: from BN1BFFO11FD010.protection.gbl (2a01:111:f400:7c10::1:151) by BN3PR0301CA0067.outlook.office365.com (2a01:111:e400:401e::35) with Microsoft SMTP Server (TLS) id 15.1.280.20 via Frontend Transport; Thu, 24 Sep 2015 15:02:58 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD010.mail.protection.outlook.com (10.58.144.73) with Microsoft SMTP Server (TLS) id 15.1.274.4 via Frontend Transport; Thu, 24 Sep 2015 15:02:57 +0000 Received: from fsr-fed1764-003.ea.freescale.net (fsr-fed1764-003.ea.freescale.net [10.171.73.45]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id t8OF2Fks018660; Thu, 24 Sep 2015 08:02:54 -0700 From: Madalin Bucur To: Subject: [v3 8/8] dpaa_eth: add trace points Date: Thu, 24 Sep 2015 18:00:19 +0300 Message-ID: <1443106819-5549-9-git-send-email-madalin.bucur@freescale.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1443106819-5549-1-git-send-email-madalin.bucur@freescale.com> References: <1443106819-5549-1-git-send-email-madalin.bucur@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD010; 1:iEqWsg7ILPzVzTq5ueiBH3No0jaPGkATynDb9d9bJffjLXPFrK33Tcw30YyXvoubvhbMx4XDvdyP+iSEEeXhtPo8IwrS9qmdmZ6qCcZCEIkLMELAoEdNY7OXhtb6jA4ZHRW9+lpH699IjJwlX06FCtsO2iAz6sL5o3nw+c5XZjV4QgYAsx6k4p/L5A1YnSWney7yabYVr9OsriExbYd6/k7r1KVwoPPVvqx0YMMr8PUwVIgXkpeFr5c7S/R/fXU6U41UWlrBsvdKO0l79AvCvn/tNlzjG8y3ClH3W+MzV3ez1CGGWLJC54AwwvV8+mPrSARykGgn48BgVUu2DwwpNZyaquwYLfG0RMwpeBSlAMwWVwYNbf3A5+iFmtmEmcpW4yG03/E2xFt8rP032ZaokA== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(50466002)(2351001)(229853001)(68736005)(77096005)(81156007)(43066003)(4001540100001)(48376002)(11100500001)(5001830100001)(97736004)(76176999)(53806999)(50986999)(5001860100001)(105606002)(5007970100001)(106466001)(110136002)(77156002)(2950100001)(62966003)(107886002)(189998001)(5001960100002)(33646002)(5003940100001)(85426001)(104016004)(47776003)(69596002)(46102003)(19580395003)(50226001)(19580405001)(36756003)(86362001)(6806005)(64706001)(87936001)(2004002)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1270; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1270; 2:u0FJFNV4Edh1LbdElFBdMjqkTyw0N7cIO4bAMLKi4hzRp8W6/viQ8UA4S3ertGYvyJSDRwK/Ksc+oH4oLqvvjmVwqf3gF8QVwXJlBqjKpRtwSG7X1N7xwnCepFuoauNS3kMHGRrPiZLnyGNz+0RlUWehOobKQjTSjuo136Ox0B8=; 3:7xccTssnMIURVcNNDojZoAfCOWOoUArorxII6UBohUvES7oerNCxIH1Bsc9fCSf3etVgkHlbYHUHnhJuCDHO2CXPtKc0OF4/wsavJdDzlmJoKU7Ay21Yo3gwSxoW3NLS7JGPz/VTFx79w263EkQkm8n/y8w+VNpDpLOKkI1FrT2HzTJ9QC++hlKfGPJOwfNd5ciVpsMAE9WAiZPcsacSOP+3gs3s+mTo7kkAxgq6flk=; 25:cvjX6x4XTjWNBiPq4Ur0R5t39xZj7Rp8VJxy05j8Xk8Vn+Tv7A7i6S/JriiFF1nECwPMTTrtYwUFir8CNam+BvuN7xPjIoL8Fs0se0M0GaluU3Cb0yAdQ9hK1ogVdAThn3tHkuz+JzWXSU2XE4gf+45bMEhsLc9RRTb23fKMTFKiiL5oAaNWQrsM4VfqfLIhVtGWXGxjc+Mz0k8QpJb+JMyBGfqoeRFIJ8xvIeTNj3LDeRYn6AI+fAJvdPWTLtBJi+/NAHMO377w6q0ANw9JMQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1270; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1270; 20:IFa3RWKpfnMpn3yZHPQvDsVia0kxNWZXjHMUEmWFd77RALIdvy58okVSmzQInaWs99FhUhXH1C6WJaxIvjE91Ui3qRSx9T0PBqUXhuShREbWQVsqPkOhLAPmaKcbYuao7SSHxFjg4n4Q9OqTfWJ+rU4EJftnXD2gu6DZqbD110VkzJYKYS7MI0FAvohNhGh2GRL8SiiSl63AhJH2tBxZtziRo+CIto8yRvHODtBtAfTGCRJyPfOoV1Hih+tMURNX5fM8bQn5bKSvTZu5gpckAf2SVRuM5jObRWSz8WyCBr0y5am32aphr6qxCGcYw2bKMEGX+zBRjH2AszsOFnH6PmYXcoF+VdXNlBANeTXmEck=; 4:K3TFN3GW8h5hiOhYkZiQa09Kjw50IpXTlY9WbY8Scx/5pGxFOf8l6Aj7wdpJGxA3xS8b0orGd3UjIJejczsLaDIgz2VqPrjLrakSrrnVpC5ZmeUye+PHBw9C9WWRy7iJWUYsp9hez+q95FAEFjFPNepYGqQwfd7ZGjxCZ8kvAT5eC3aQLJZc7Yi9G7bAIArD82da8BAN/N2HR+6vvLl6rITGLINDse3OGMXf57TTDNOxWxz0yZ0EXDOm6r1hKIWLPAWfaDwWpcjZwjBZWzwpJthAPMrDGVBbujkf/1v9jktw/laidIlzN7mubP3lpxMChWrohf2RMiPlK5CK8npko/x7kaGPnBuEtq1eOp1GFMQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001); SRVR:BY1PR0301MB1270; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0301MB1270; X-Forefront-PRVS: 070912876F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1270; 23:uKerSEN0TCF2TboK1qAUHzcS5+Mep9RkU8ER3dj?= =?us-ascii?Q?A0nyn3ILa9/WSBLeh2vR4QCrbds1ii5TCFVa/W4Hv96pbHXTpx+X8xLZwmmN?= =?us-ascii?Q?MCsnG0ZGEDH7LGop6E6bJaWhJCpcIVp+J9fzzc0BhNsiuC3srwIGRSd5Z543?= =?us-ascii?Q?KXsBUVpEolOpIxNHobuFxbgBcB6kMHQsXvt1RsBnHN22XK9dXHRhCl1dqiXc?= =?us-ascii?Q?GDvv69kJ7DR7pgft31gtsEkIFLIqfhEz0vTARl3lFnghJoVTjSPLip+BLEVU?= =?us-ascii?Q?+odgu+DvHjgMZQaZOoXX6nWsD8F7RcTAPRYB+enNzeWsu1qYRQbio9I+xTMc?= =?us-ascii?Q?WTlFFFVwkyLX12rBu4b/uUQXhi8TffsDKjYLZjHmRHVVWIUExf7PQ6gyArOI?= =?us-ascii?Q?IFq21RNoNZHfvvGo5vuR0We681p4rmOLVWPLJUN0yWztAGFMRKaaPNx3CSiM?= =?us-ascii?Q?E5ctLxplrZwnbxqEJWwO/Ev9BAC9WR5AtK/RJL6DwBqucmQHLtk2OydraPXJ?= =?us-ascii?Q?WKEzjh3jNgiNZloDP7w1gN8WvtCzQTeQ7GgoZZ15/oalIPm1Fl3ahsutMG4c?= =?us-ascii?Q?dGSWxluZbNfIso4Vc4FdarwRyaDQpaY5fcQqSfZjC7gaQYPuzISeZJ/oyTiR?= =?us-ascii?Q?hTmonZVsshTTESDZBc2g4nj+gtvreXlounEIFY1whU8n/lcmQaAUk3S/ZiYr?= =?us-ascii?Q?Oj/IAX0JXR3IDBsfENdtQTg4pWuWFWscA6wo93eESbF4ciZ3n29wz3dnl4vj?= =?us-ascii?Q?NNVuwtO/WL3t9gnyDdMuRWq6n+nXPDMGCW8Vyyn9+neAVy3BIPcLl2s9cTTO?= =?us-ascii?Q?g3sU3+dnVEMkvmovgqG1HKkPeIjhMsUAKx/J/6TwgbzpEwJ8wPTLUXUPxRjy?= =?us-ascii?Q?yTrXobGrMDTWmFm5sy080sCxNxTq/fwmi7uopgt7e62LKJPVy9zL0RqAVuSk?= =?us-ascii?Q?KoduUiyapRZrws4obyO5SqxjPzvmDJnYGUdJQrA5cjQ+8DPvlxq0KK8dXVa2?= =?us-ascii?Q?ltJmFO+BO+yF7bWkCT/c0icoAfNveZvpcSyj7Un8uKa9OsISvJlGMPIbrv8/?= =?us-ascii?Q?WKjnCOpRDfrsqLfDe0r6r7k0GXLManrlkIUja0gnrVBnnyK/OCJK1cnJdeB+?= =?us-ascii?Q?m2H21vmv1QueBGzX82SsYTeeFSmAm8VAck55DqF/mchywN1+2HGLpwaLfgqK?= =?us-ascii?Q?P+2imQ3xZrivpZDnulFksfpLU5hWBndwTYzrPXXZ6+Fyqy3pN299+SoMkyw7?= =?us-ascii?Q?PJAyeWEj/smNEO28SpVicNCZe2Gzw1ANiudJZJmX9rMN6MfOvDSkllXgtxC9?= =?us-ascii?Q?QZA25i4wF3THfFZEMTmnyR/8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1270; 5:r029uvsVN0eXitmUuJvJOXkd65sqNcYqtB2juszdLFO1n5s5slYpfGe8o84n9nujAv6jtn0/M4lA7DX9Q/B+7vZaI7zA8iNXEybsERR2xJpEsimrjN+KqNxgkJR4zdTo0Zrbk0DxbYfkcLK6iG35XA==; 24:lMZ0+TbRqUp8+bcuNg4EOWwcIqaDCMAjOtQ4Ec/NM1cWumizhpDFFddU0WtLmUYE6D/1Yty46vuiogDS0B6q6SPzaOiWhx9g/CAgXMcl6Ls=; 20:CUlsDtm5/xyd5ayisymgU1ifLl/UpuP/IDlp05hmVsgtE9oD6mvq7VO7Msndw5C4BJhzRHRIGa3M3KjTuw+UsQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2015 15:02:57.8363 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB1270 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: madalin.bucur@freescale.com Cc: pebolle@tiscali.nl, f.fainelli@gmail.com, roy.pledge@freescale.com, linux-kernel@vger.kernel.org, ppc@mindchasers.com, stsp@list.ru, igal.liberman@freescale.com, Ruxandra Ioana Radulescu , scottwood@freescale.com, joe@perches.com, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Madalin Bucur Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Add trace points on the hot processing path. Signed-off-by: Ruxandra Ioana Radulescu --- drivers/net/ethernet/freescale/dpaa/Makefile | 1 + drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 12 ++ drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 4 + .../net/ethernet/freescale/dpaa/dpaa_eth_trace.h | 141 +++++++++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h diff --git a/drivers/net/ethernet/freescale/dpaa/Makefile b/drivers/net/ethernet/freescale/dpaa/Makefile index 141ade4..15ed1c4 100644 --- a/drivers/net/ethernet/freescale/dpaa/Makefile +++ b/drivers/net/ethernet/freescale/dpaa/Makefile @@ -9,3 +9,4 @@ ccflags-y += -I$(FMAN) obj-$(CONFIG_FSL_DPAA_ETH) += fsl_dpa.o fsl_dpa-objs += dpaa_eth.o dpaa_eth_sg.o dpaa_eth_common.o dpaa_ethtool.o dpaa_eth_sysfs.o +CFLAGS_dpaa_eth.o := -I$(src) diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c index 6d241a3..2b99428 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -57,6 +57,12 @@ #include "dpaa_eth.h" #include "dpaa_eth_common.h" +/* CREATE_TRACE_POINTS only needs to be defined once. Other dpa files + * using trace events only need to #include + */ +#define CREATE_TRACE_POINTS +#include "dpaa_eth_trace.h" + #define DPA_NAPI_WEIGHT 64 /* Valid checksum indication */ @@ -229,6 +235,9 @@ priv_rx_default_dqrr(struct qman_portal *portal, priv = netdev_priv(net_dev); dpa_bp = priv->dpa_bp; + /* Trace the Rx fd */ + trace_dpa_rx_fd(net_dev, fq, &dq->fd); + /* IRQ handler, non-migratable; safe to use raw_cpu_ptr here */ percpu_priv = raw_cpu_ptr(priv->percpu_priv); count_ptr = raw_cpu_ptr(dpa_bp->percpu_count); @@ -285,6 +294,9 @@ priv_tx_conf_default_dqrr(struct qman_portal *portal, net_dev = ((struct dpa_fq *)fq)->net_dev; priv = netdev_priv(net_dev); + /* Trace the fd */ + trace_dpa_tx_conf_fd(net_dev, fq, &dq->fd); + /* Non-migratable context, safe to use raw_cpu_ptr */ percpu_priv = raw_cpu_ptr(priv->percpu_priv); diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h index a16119e..44368c8 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h @@ -36,6 +36,7 @@ #include "fman.h" #include "mac.h" +#include "dpaa_eth_trace.h" extern int dpa_rx_extra_headroom; extern int dpa_max_frm; @@ -406,6 +407,9 @@ static inline int dpa_xmit(struct dpa_priv_s *priv, if (fd->bpid == 0xff) fd->cmd |= qman_fq_fqid(priv->conf_fqs[queue]); + /* Trace this Tx fd */ + trace_dpa_tx_fd(priv->net_dev, egress_fq, fd); + for (i = 0; i < 100000; i++) { err = qman_enqueue(egress_fq, fd, 0); if (err != -EBUSY) diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h b/drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h new file mode 100644 index 0000000..3b67477 --- /dev/null +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h @@ -0,0 +1,141 @@ +/* Copyright 2013-2015 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Freescale Semiconductor nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM dpaa_eth + +#if !defined(_DPAA_ETH_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) +#define _DPAA_ETH_TRACE_H + +#include +#include +#include "dpaa_eth.h" +#include + +#define fd_format_name(format) { qm_fd_##format, #format } +#define fd_format_list \ + fd_format_name(contig), \ + fd_format_name(sg) + +/* This is used to declare a class of events. + * individual events of this type will be defined below. + */ + +/* Store details about a frame descriptor and the FQ on which it was + * transmitted/received. + */ +DECLARE_EVENT_CLASS(dpaa_eth_fd, + /* Trace function prototype */ + TP_PROTO(struct net_device *netdev, + struct qman_fq *fq, + const struct qm_fd *fd), + + /* Repeat argument list here */ + TP_ARGS(netdev, fq, fd), + + /* A structure containing the relevant information we want to record. + * Declare name and type for each normal element, name, type and size + * for arrays. Use __string for variable length strings. + */ + TP_STRUCT__entry( + __field(u32, fqid) + __field(u64, fd_addr) + __field(u8, fd_format) + __field(u16, fd_offset) + __field(u32, fd_length) + __field(u32, fd_status) + __string(name, netdev->name) + ), + + /* The function that assigns values to the above declared fields */ + TP_fast_assign( + __entry->fqid = fq->fqid; + __entry->fd_addr = qm_fd_addr_get64(fd); + __entry->fd_format = fd->format; + __entry->fd_offset = dpa_fd_offset(fd); + __entry->fd_length = dpa_fd_length(fd); + __entry->fd_status = fd->status; + __assign_str(name, netdev->name); + ), + + /* This is what gets printed when the trace event is triggered */ + TP_printk("[%s] fqid=%d, fd: addr=0x%llx, format=%s, off=%u, len=%u, status=0x%08x", + __get_str(name), __entry->fqid, __entry->fd_addr, + __print_symbolic(__entry->fd_format, fd_format_list), + __entry->fd_offset, __entry->fd_length, __entry->fd_status) +); + +/* Now declare events of the above type. Format is: + * DEFINE_EVENT(class, name, proto, args), with proto and args same as for class + */ + +/* Tx (egress) fd */ +DEFINE_EVENT(dpaa_eth_fd, dpa_tx_fd, + + TP_PROTO(struct net_device *netdev, + struct qman_fq *fq, + const struct qm_fd *fd), + + TP_ARGS(netdev, fq, fd) +); + +/* Rx fd */ +DEFINE_EVENT(dpaa_eth_fd, dpa_rx_fd, + + TP_PROTO(struct net_device *netdev, + struct qman_fq *fq, + const struct qm_fd *fd), + + TP_ARGS(netdev, fq, fd) +); + +/* Tx confirmation fd */ +DEFINE_EVENT(dpaa_eth_fd, dpa_tx_conf_fd, + + TP_PROTO(struct net_device *netdev, + struct qman_fq *fq, + const struct qm_fd *fd), + + TP_ARGS(netdev, fq, fd) +); + +/* If only one event of a certain type needs to be declared, use TRACE_EVENT(). + * The syntax is the same as for DECLARE_EVENT_CLASS(). + */ + +#endif /* _DPAA_ETH_TRACE_H */ + +/* This must be outside ifdef _DPAA_ETH_TRACE_H */ +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH . +#undef TRACE_INCLUDE_FILE +#define TRACE_INCLUDE_FILE dpaa_eth_trace +#include