[dpdk-dev] [PATCH 2/2] net/ark: report hardware status during PMD init

Ed Czeck ed.czeck at atomicrules.com
Mon Apr 10 14:26:39 CEST 2017


Expose additional fpga status registers and report
conditions during PMD init

Signed-off-by: Ed Czeck <ed.czeck at atomicrules.com>
---
 drivers/net/ark/ark_ethdev.c | 9 +++++++++
 drivers/net/ark/ark_rqp.c    | 6 ++++++
 drivers/net/ark/ark_rqp.h    | 4 +++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index 93721a0..1a6c71c 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -297,6 +297,15 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
 			    ark->sysctrl.t32[4], __func__);
 		return -1;
 	}
+	if (ark->sysctrl.t32[3] != 0) {
+		if (ark_rqp_lasped(ark->rqpacing))
+			PMD_DRV_LOG(INFO, "Arkville Evaluation System - "
+				    "Timer has Expired\n");
+		else
+			PMD_DRV_LOG(INFO, "Arkville Evaluation System - "
+				    "Timer is Running\n");
+	}
+
 
 	PMD_DRV_LOG(INFO,
 		    "HW Sanity test has PASSED, expected constant"
diff --git a/drivers/net/ark/ark_rqp.c b/drivers/net/ark/ark_rqp.c
index 59d9b8a..41c497b 100644
--- a/drivers/net/ark/ark_rqp.c
+++ b/drivers/net/ark/ark_rqp.c
@@ -89,3 +89,9 @@ ark_rqp_dump(struct ark_rqpace_t *rqp)
 		      "cplh pending max", rqp->cplh_pending_max,
 		      "cpld pending max", rqp->cpld_pending_max);
 }
+
+int
+ark_rqp_lasped(struct ark_rqpace_t *rqp)
+{
+	return rqp->lasped;
+}
diff --git a/drivers/net/ark/ark_rqp.h b/drivers/net/ark/ark_rqp.h
index 995fc20..0c38007 100644
--- a/drivers/net/ark/ark_rqp.h
+++ b/drivers/net/ark/ark_rqp.h
@@ -76,9 +76,11 @@ struct ark_rqpace_t {
 	volatile uint32_t cplh_pending_max;
 	volatile uint32_t cpld_pending_max;
 	volatile uint32_t err_count_other;
+	char eval[4];
+	volatile int lasped;
 };
 
 void ark_rqp_dump(struct ark_rqpace_t *rqp);
 void ark_rqp_stats_reset(struct ark_rqpace_t *rqp);
-
+int ark_rqp_lasped(struct ark_rqpace_t *rqp);
 #endif
-- 
2.7.4



More information about the dev mailing list