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

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
...@@ -579,11 +579,10 @@ void ionic_lif_alloc_phc(struct ionic_lif *lif) ...@@ -579,11 +579,10 @@ void ionic_lif_alloc_phc(struct ionic_lif *lif)
diff |= diff >> 16; diff |= diff >> 16;
diff |= diff >> 32; diff |= diff >> 32;
/* constrain to the hardware bitmask, and use this as the bitmask */ /* constrain to the hardware bitmask */
diff &= phc->cc.mask; 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 * we will update the time basis at about 1/4 the wrap period, so
* should not see a difference of more than +/- diff/4. * should not see a difference of more than +/- diff/4.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment