Commit be690daa authored by Brett Creeley's avatar Brett Creeley Committed by David S. Miller
Browse files

ionic: Don't overwrite the cyclecounter bitmask



The driver was incorrectly overwriting the cyclecounter bitmask,
which was truncating it and not aligning to the hardware mask value.
This isn't causing any issues, but it's wrong. Fix this by not
constraining the cyclecounter/hardware mask.

Luckily, this seems to cause no issues, which is why this change
doesn't have a fixes tag and isn't being sent to net. However, if
any transformations from time->cycles are needed in the future,
this change will be needed.

Suggested-by: default avatarAllen Hubbe <allen.hubbe@amd.com>
Signed-off-by: default avatarBrett Creeley <brett.creeley@amd.com>
Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f9408a83
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -579,11 +579,10 @@ void ionic_lif_alloc_phc(struct ionic_lif *lif)
	diff |= diff >> 16;
	diff |= diff >> 32;

	/* constrain to the hardware bitmask, and use this as the bitmask */
	/* constrain to the hardware bitmask */
	diff &= phc->cc.mask;
	phc->cc.mask = diff;

	/* the wrap period is now defined by diff (or phc->cc.mask)
	/* the wrap period is now defined by diff
	 *
	 * we will update the time basis at about 1/4 the wrap period, so
	 * should not see a difference of more than +/- diff/4.