| From 991c03df1b0543ed02a5d4e803ac8fa9d993fb8e Mon Sep 17 00:00:00 2001 |
| From: Ioana Radulescu <ruxandra.radulescu@nxp.com> |
| Date: Tue, 9 May 2017 16:36:39 +0300 |
| Subject: [PATCH] dpaa2-eth: Add API for counters reset |
| |
| Add DPNI object API function for resetting interface |
| hardware counters. |
| |
| Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> |
| --- |
| drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h | 1 + |
| drivers/net/ethernet/freescale/dpaa2/dpni.c | 23 +++++++++++++++++++++++ |
| drivers/net/ethernet/freescale/dpaa2/dpni.h | 4 ++++ |
| 3 files changed, 28 insertions(+) |
| |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h |
| @@ -68,6 +68,7 @@ |
| #define DPNI_CMDID_CLR_FS_ENT DPNI_CMD(0x246) |
| |
| #define DPNI_CMDID_GET_STATISTICS DPNI_CMD(0x25D) |
| +#define DPNI_CMDID_RESET_STATISTICS DPNI_CMD(0x25E) |
| #define DPNI_CMDID_GET_QUEUE DPNI_CMD(0x25F) |
| #define DPNI_CMDID_SET_QUEUE DPNI_CMD(0x260) |
| #define DPNI_CMDID_GET_TAILDROP DPNI_CMD(0x261) |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.c |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c |
| @@ -1582,6 +1582,29 @@ int dpni_get_statistics(struct fsl_mc_io |
| } |
| |
| /** |
| + * dpni_reset_statistics() - Clears DPNI statistics |
| + * @mc_io: Pointer to MC portal's I/O object |
| + * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' |
| + * @token: Token of DPNI object |
| + * |
| + * Return: '0' on Success; Error code otherwise. |
| + */ |
| +int dpni_reset_statistics(struct fsl_mc_io *mc_io, |
| + u32 cmd_flags, |
| + u16 token) |
| +{ |
| + struct fsl_mc_command cmd = { 0 }; |
| + |
| + /* prepare command */ |
| + cmd.header = mc_encode_cmd_header(DPNI_CMDID_RESET_STATISTICS, |
| + cmd_flags, |
| + token); |
| + |
| + /* send command to mc*/ |
| + return mc_send_command(mc_io, &cmd); |
| +} |
| + |
| +/** |
| * dpni_set_taildrop() - Set taildrop per queue or TC |
| * @mc_io: Pointer to MC portal's I/O object |
| * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' |
| --- a/drivers/net/ethernet/freescale/dpaa2/dpni.h |
| +++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h |
| @@ -496,6 +496,10 @@ int dpni_get_statistics(struct fsl_mc_io |
| u8 page, |
| union dpni_statistics *stat); |
| |
| +int dpni_reset_statistics(struct fsl_mc_io *mc_io, |
| + u32 cmd_flags, |
| + u16 token); |
| + |
| /** |
| * Enable auto-negotiation |
| */ |