Expose additional fpga status registers and report conditions during PMD init
Signed-off-by: Ed Czeck <ed.cz...@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