igb: fix PHC stopping on max freq
authorJiri Benc <[email protected]>
Wed, 20 Mar 2013 09:06:34 +0000 (09:06 +0000)
committerJeff Kirsher <[email protected]>
Tue, 26 Mar 2013 10:21:34 +0000 (03:21 -0700)
commit75517d92119a3cd364f618ee962055b3ded8c396
treeca7db1604775d4bf6bd50276c1331ad19b110b46
parent05ec29e8fa9b6ec8d4ad5d2f6d5fc5467c7970bc
igb: fix PHC stopping on max freq

For 82576 MAC type, max_adj is reported as 1000000000 ppb. However, if
this value is passed to igb_ptp_adjfreq_82576, incvalue overflows out of
INCVALUE_82576_MASK, resulting in setting of zero TIMINCA.incvalue, stopping
the PHC (instead of going at twice the nominal speed).

Fix the advertised max_adj value to the largest value hardware can handle.
As there is no min_adj value available (-max_adj is used instead), this will
also prevent stopping the clock intentionally. It's probably not a big deal,
other igb MAC types don't support stopping the clock, either.

Signed-off-by: Jiri Benc <[email protected]>
Acked-by: Matthew Vick <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
drivers/net/ethernet/intel/igb/igb_ptp.c