From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Wang Subject: [PATCH v2 28/40] net/ixgbe/base: reduce delay for SWFW semaphore Date: Sun, 25 Sep 2016 17:00:05 +0800 Message-ID: <1474794017-5896-29-git-send-email-xiao.w.wang@intel.com> References: <1472312902-16963-2-git-send-email-xiao.w.wang@intel.com> <1474794017-5896-1-git-send-email-xiao.w.wang@intel.com> Cc: dev@dpdk.org, ferruh.yigit@intel.com, Xiao Wang To: wenzhuo.lu@intel.com Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id A6788803B for ; Sun, 25 Sep 2016 11:01:38 +0200 (CEST) In-Reply-To: <1474794017-5896-1-git-send-email-xiao.w.wang@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch reduces the SWFW semaphore/PHY Token retry delay. ixgbe_release_swfw_sync_X540: Reduce 5 ms delay after releasing semaphore to 2 ms. HW team indicated 1 ms delay would be sufficient for FW access. ixgbe_acquire_swfw_sync_X540: Remove 5 ms delay after acquiring semaphore. ixgbe_acquire_swfw_sync_X550a: Remove 5 ms delay since there are two 2 ms delays in the semaphore release flow. Signed-off-by: Xiao Wang --- v2: - Removed the unrelated blank line change from this patch. --- drivers/net/ixgbe/base/ixgbe_x540.c | 3 +-- drivers/net/ixgbe/base/ixgbe_x550.c | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_x540.c b/drivers/net/ixgbe/base/ixgbe_x540.c index 24e9c93..c58f36a 100644 --- a/drivers/net/ixgbe/base/ixgbe_x540.c +++ b/drivers/net/ixgbe/base/ixgbe_x540.c @@ -783,7 +783,6 @@ s32 ixgbe_acquire_swfw_sync_X540(struct ixgbe_hw *hw, u32 mask) IXGBE_WRITE_REG(hw, IXGBE_SWFW_SYNC_BY_MAC(hw), swfw_sync); ixgbe_release_swfw_sync_semaphore(hw); - msec_delay(5); return IXGBE_SUCCESS; } /* Firmware currently using resource (fwmask), hardware @@ -860,7 +859,7 @@ void ixgbe_release_swfw_sync_X540(struct ixgbe_hw *hw, u32 mask) IXGBE_WRITE_REG(hw, IXGBE_SWFW_SYNC_BY_MAC(hw), swfw_sync); ixgbe_release_swfw_sync_semaphore(hw); - msec_delay(5); + msec_delay(2); } /** diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c index 32759cc..f2e885c 100644 --- a/drivers/net/ixgbe/base/ixgbe_x550.c +++ b/drivers/net/ixgbe/base/ixgbe_x550.c @@ -4523,7 +4523,6 @@ STATIC s32 ixgbe_acquire_swfw_sync_X550a(struct ixgbe_hw *hw, u32 mask) ixgbe_release_swfw_sync_X540(hw, hmask); if (status != IXGBE_ERR_TOKEN_RETRY) return status; - msec_delay(FW_PHY_TOKEN_DELAY); } return status; -- 1.9.3