From 607599ae9915841b10a75fea8a35bc84559abe54 Mon Sep 17 00:00:00 2001 From: Xiao Wang Date: Sun, 25 Sep 2016 17:00:05 +0800 Subject: [PATCH] net/ixgbe/base: reduce delay for SWFW semaphore 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 Acked-by: Wenzhuo Lu --- 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 24e9c93ff9..c58f36aca7 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 32759cc8be..f2e885cfaa 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; -- 2.20.1