From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 2FB74C532 for ; Mon, 27 Jul 2015 10:43:09 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 27 Jul 2015 01:43:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,552,1432623600"; d="scan'208";a="530717460" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by FMSMGA003.fm.intel.com with ESMTP; 27 Jul 2015 01:43:07 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t6R8h5x6023332; Mon, 27 Jul 2015 16:43:05 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t6R8h1N1031108; Mon, 27 Jul 2015 16:43:03 +0800 Received: (from xiaowan1@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t6R8h16B031104; Mon, 27 Jul 2015 16:43:01 +0800 From: Wang Xiao W To: dev@dpdk.org Date: Mon, 27 Jul 2015 16:42:32 +0800 Message-Id: <1437986559-31016-9-git-send-email-xiao.w.wang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1437986559-31016-1-git-send-email-xiao.w.wang@intel.com> References: <1437986559-31016-1-git-send-email-xiao.w.wang@intel.com> Cc: Wang Xiao W Subject: [dpdk-dev] [PATCH 09/16] fm10k: ensure itr_scale is set even if we don't know speed X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2015 08:43:09 -0000 To prevent divide-by-zero issues, ensure that we always have an ITR scale. Default to Gen3 scaling if we don't know the speed. Also ensure the VF checks the register value and ensures we use Gen3 if we are provided a zero value. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c | 2 ++ drivers/net/fm10k/base/fm10k_vf.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/fm10k/base/fm10k_pf.c b/drivers/net/fm10k/base/fm10k_pf.c index 5b66960..6bc6907 100644 --- a/drivers/net/fm10k/base/fm10k_pf.c +++ b/drivers/net/fm10k/base/fm10k_pf.c @@ -187,6 +187,8 @@ STATIC s32 fm10k_init_hw_pf(struct fm10k_hw *hw) break; default: dma_ctrl = 0; + /* just in case, assume Gen3 ITR scale */ + hw->mac.itr_scale = FM10K_TDLEN_ITR_SCALE_GEN3; break; } diff --git a/drivers/net/fm10k/base/fm10k_vf.c b/drivers/net/fm10k/base/fm10k_vf.c index 7981417..ba7c7c1 100644 --- a/drivers/net/fm10k/base/fm10k_vf.c +++ b/drivers/net/fm10k/base/fm10k_vf.c @@ -154,6 +154,10 @@ STATIC s32 fm10k_init_hw_vf(struct fm10k_hw *hw) FM10K_TDLEN_ITR_SCALE_MASK) >> FM10K_TDLEN_ITR_SCALE_SHIFT; + /* ensure a non-zero itr scale */ + if (!hw->mac.itr_scale) + hw->mac.itr_scale = FM10K_TDLEN_ITR_SCALE_GEN3; + return FM10K_SUCCESS; } -- 1.9.3