From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ed Czeck Subject: [PATCH v2 2/2] net/ark: report hardware status during PMD init Date: Tue, 11 Apr 2017 11:41:50 -0400 Message-ID: <1491925310-19952-1-git-send-email-ed.czeck@atomicrules.com> References: <1491827199-4853-2-git-send-email-ed.czeck@atomicrules.com> Cc: john.miller@atomicrules.com, shepard.siegel@atomicrules.com, ferruh.yigit@intel.com, Ed Czeck To: dev@dpdk.org Return-path: Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by dpdk.org (Postfix) with ESMTP id 7552D2B84 for ; Tue, 11 Apr 2017 17:41:54 +0200 (CEST) Received: by mail-qt0-f195.google.com with SMTP id r49so139816qta.1 for ; Tue, 11 Apr 2017 08:41:54 -0700 (PDT) In-Reply-To: <1491827199-4853-2-git-send-email-ed.czeck@atomicrules.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Expose additional fpga status registers. Report hardware status during PMD init. Signed-off-by: Ed Czeck --- 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..651dd26 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(ERR, "Arkville Evaluation System - " + "Timer has Expired\n"); + return -1; + } + PMD_DRV_LOG(WARNING, "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