Commit a711a328 authored by Karol Kolacinski's avatar Karol Kolacinski Committed by Tony Nguyen
Browse files

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: default avatarKarol Kolacinski <karol.kolacinski@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent e80bd08f
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -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(10000, 20000);
			usleep_range(5000, 6000);
			continue;
		}

		break;
	}

	return !hw_lock;