ice: Check for PTP HW lock more frequently
It was observed that PTP HW semaphore can be held for ~50 ms in worst case. SW should wait longer and check more frequently if the HW lock is held. Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
e80bd08fd7
commit
a711a3288c
@ -2963,16 +2963,18 @@ bool ice_ptp_lock(struct ice_hw *hw)
|
||||
u32 hw_lock;
|
||||
int i;
|
||||
|
||||
#define MAX_TRIES 5
|
||||
#define MAX_TRIES 15
|
||||
|
||||
for (i = 0; i < MAX_TRIES; i++) {
|
||||
hw_lock = rd32(hw, PFTSYN_SEM + (PFTSYN_SEM_BYTES * hw->pf_id));
|
||||
hw_lock = hw_lock & PFTSYN_SEM_BUSY_M;
|
||||
if (!hw_lock)
|
||||
break;
|
||||
if (hw_lock) {
|
||||
/* Somebody is holding the lock */
|
||||
usleep_range(5000, 6000);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Somebody is holding the lock */
|
||||
usleep_range(10000, 20000);
|
||||
break;
|
||||
}
|
||||
|
||||
return !hw_lock;
|
||||
|
Loading…
x
Reference in New Issue
Block a user