Re: [U-Boot] [PATCH 6/7] driver: net: ldpaa: Add debug info of printing DPMAC stats

2016-01-27 Thread york sun
On 12/24/2015 02:03 AM, Prabhakar Kushwaha wrote:
> Add debug information prints to provide DPMAC statistics
>  - Number of bytes received
>  - Number of received and discard frames
>  - Number of bytes transferred
>  - Number of frames transferred
>  etc.
> 
> Signed-off-by: Prabhakar Kushwaha 
> ---
>  drivers/net/ldpaa_eth/ldpaa_eth.c | 78 
> +++
>  1 file changed, 78 insertions(+)

Applied to u-boot-fsl-qoriq master. Awaiting upstream.

Thanks.

York

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 6/7] driver: net: ldpaa: Add debug info of printing DPMAC stats

2015-12-24 Thread Prabhakar Kushwaha
Add debug information prints to provide DPMAC statistics
 - Number of bytes received
 - Number of received and discard frames
 - Number of bytes transferred
 - Number of frames transferred
 etc.

Signed-off-by: Prabhakar Kushwaha 
---
 drivers/net/ldpaa_eth/ldpaa_eth.c | 78 +++
 1 file changed, 78 insertions(+)

diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c 
b/drivers/net/ldpaa_eth/ldpaa_eth.c
index a2e455f..e09553a 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -100,6 +100,83 @@ static void ldpaa_eth_get_dpni_counter(void)
}
printf("DPNI_CNT_EGR_FRAME_DISCARD =%lld\n", value);
 }
+
+static void ldpaa_eth_get_dpmac_counter(struct eth_device *net_dev)
+{
+   struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv;
+   int err = 0;
+   u64 value;
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_ING_BYTE,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_ING_BYTE failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_ING_BYTE=%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_ING_FRAME_DISCARD,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_ING_FRAME_DISCARD 
failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_ING_FRAME_DISCARD=%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_ING_ALIGN_ERR,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_ING_ALIGN_ERR failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_ING_ALIGN_ERR =%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_ING_BYTE,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_ING_BYTE failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_ING_BYTE=%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_ING_ERR_FRAME,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_ING_ERR_FRAME failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_ING_ERR_FRAME=%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_EGR_BYTE ,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_EGR_BYTE failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_EGR_BYTE =%lld\n", value);
+
+   err = dpmac_get_counter(dflt_mc_io, MC_CMD_NO_FLAGS,
+priv->dpmac_handle,
+DPMAC_CNT_EGR_ERR_FRAME ,
+);
+   if (err < 0) {
+   printf("dpmac_get_counter: DPMAC_CNT_EGR_ERR_FRAME failed\n");
+   return;
+   }
+   printf("DPMAC_CNT_EGR_ERR_FRAME =%lld\n", value);
+}
 #endif
 
 static void ldpaa_eth_rx(struct ldpaa_eth_priv *priv,
@@ -436,6 +513,7 @@ static void ldpaa_eth_stop(struct eth_device *net_dev)
 
 #ifdef DEBUG
ldpaa_eth_get_dpni_counter();
+   ldpaa_eth_get_dpmac_counter(net_dev);
 #endif
 
err = dprc_disconnect(dflt_mc_io, MC_CMD_NO_FLAGS,
-- 
1.9.1


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot