aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch b/target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch
new file mode 100644
index 0000000000..f04674affb
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0211-dpaa2-eth-Update-dpni_get_statistics.patch
@@ -0,0 +1,95 @@
+From fa4e59c0fe5e6e2fd8ba29cdcaa03988b3d301c6 Mon Sep 17 00:00:00 2001
+From: Bogdan Purcareata <bogdan.purcareata@nxp.com>
+Date: Mon, 23 Oct 2017 08:31:25 +0000
+Subject: [PATCH] dpaa2-eth: Update dpni_get_statistics
+
+Statistics struct now contains an addditional page, with CEETM stats.
+Also update the cmd version, and the call where it's used.
+
+Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
+---
+ drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 2 +-
+ drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c | 2 +-
+ drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h | 3 ++-
+ drivers/net/ethernet/freescale/dpaa2/dpni.c | 4 ++++
+ drivers/net/ethernet/freescale/dpaa2/dpni.h | 1 +
+ 5 files changed, 9 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
++++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
+@@ -1479,7 +1479,7 @@ static void wait_for_egress_fq_empty(str
+ goto out;
+
+ do {
+- err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token, 6,
++ err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token, 6, 0,
+ &stats);
+ if (err)
+ goto out;
+--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
++++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
+@@ -211,7 +211,7 @@ static void dpaa2_eth_get_ethtool_stats(
+ if (j == 4 || j == 5)
+ continue;
+ err = dpni_get_statistics(priv->mc_io, 0, priv->mc_token,
+- j, &dpni_stats);
++ j, 0, &dpni_stats);
+ if (err == -EINVAL)
+ /* Older firmware versions don't support all pages */
+ memset(&dpni_stats, 0, sizeof(dpni_stats));
+--- a/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
++++ b/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
+@@ -70,7 +70,7 @@
+ #define DPNI_CMDID_CLR_FS_ENT DPNI_CMD(0x246)
+
+ #define DPNI_CMDID_SET_TX_PRIORITIES DPNI_CMD_V2(0x250)
+-#define DPNI_CMDID_GET_STATISTICS DPNI_CMD(0x25D)
++#define DPNI_CMDID_GET_STATISTICS DPNI_CMD_V2(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)
+@@ -287,6 +287,7 @@ struct dpni_rsp_get_tx_data_offset {
+
+ struct dpni_cmd_get_statistics {
+ u8 page_number;
++ u8 param;
+ };
+
+ struct dpni_rsp_get_statistics {
+--- a/drivers/net/ethernet/freescale/dpaa2/dpni.c
++++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c
+@@ -1604,6 +1604,8 @@ int dpni_get_queue(struct fsl_mc_io *mc_
+ * @token: Token of DPNI object
+ * @page: Selects the statistics page to retrieve, see
+ * DPNI_GET_STATISTICS output. Pages are numbered 0 to 6.
++ * @param: Custom parameter for some pages used to select a certain
++ * statistic source, for example the TC.
+ * @stat: Structure containing the statistics
+ *
+ * Return: '0' on Success; Error code otherwise.
+@@ -1612,6 +1614,7 @@ int dpni_get_statistics(struct fsl_mc_io
+ u32 cmd_flags,
+ u16 token,
+ u8 page,
++ u8 param,
+ union dpni_statistics *stat)
+ {
+ struct fsl_mc_command cmd = { 0 };
+@@ -1625,6 +1628,7 @@ int dpni_get_statistics(struct fsl_mc_io
+ token);
+ cmd_params = (struct dpni_cmd_get_statistics *)cmd.params;
+ cmd_params->page_number = page;
++ cmd_params->param = param;
+
+ /* send command to mc */
+ err = mc_send_command(mc_io, &cmd);
+--- a/drivers/net/ethernet/freescale/dpaa2/dpni.h
++++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h
+@@ -494,6 +494,7 @@ int dpni_get_statistics(struct fsl_mc_io
+ u32 cmd_flags,
+ u16 token,
+ u8 page,
++ u8 param,
+ union dpni_statistics *stat);
+
+ int dpni_reset_statistics(struct fsl_mc_io *mc_io,