ice: restart periodic outputs around time changes
authorJacob Keller <jacob.e.keller@intel.com>
Tue, 24 Aug 2021 00:01:49 +0000 (17:01 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 27 Aug 2021 20:14:41 +0000 (13:14 -0700)
commit9ee313433c483e4a6ecd517c38c0f8aee1962c53
treeeee5fb7dadf905109095a8201ea84bbfb68c36db
parent4dd0d5c33c3ebf24a07cae6141648aeb7ba56072
ice: restart periodic outputs around time changes

When we enabled auxiliary input/output support for the E810 device, we
forgot to add logic to restart the output when we change time. This is
important as the periodic output will be incorrect after a time change
otherwise.

This unfortunately includes the adjust time function, even though it
uses an atomic hardware interface. The atomic adjustment can still cause
the pin output to stall permanently, so we need to stop and restart it.

Introduce wrapper functions to temporarily disable and then re-enable
the clock outputs.

Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Sunitha D Mekala <sunithax.d.mekala@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ptp.c