ice: add support for set/get of driver-stored firmware parameters
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 9 Jun 2021 16:39:48 +0000 (09:39 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 11 Jun 2021 14:38:00 +0000 (07:38 -0700)
commit7f9ab54d314456884209f088aeaaf24e14d9ddf4
tree43b330970bc3893991c3e99d19a4d85284eda37b
parent9733cc94c52320a13bf0357d4937e7c9ed759ac9
ice: add support for set/get of driver-stored firmware parameters

Depending on the device configuration, the ice hardware may share the
PTP hardware clock timer between multiple PFs. Each PF is informed by
firmware during initialization of the PTP timer association.

When bringing up PTP, only the PFs which own the timer shall allocate
a PTP hardware clock. Other PFs associated with that timer must report
the correct PTP clock index in order to allow userspace software the
ability to know which ports are connected to the same clock.

To support this, the firmware has driver shared parameters. These
parameters enable one PF to write the clock index into firmware, and
have other PFs read the associated value out. This enables the driver to
have only a single PF allocate and control the device timer registers,
while other PFs associated with that timer can report the correct clock
in the ETHTOOL_GET_TS_INFO report.

Add support for the necessary admin queue commands to enable reading and
writing of the driver shared parameters. This will be used in a future
change to enable sharing the PTP clock index between PF drivers.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
drivers/net/ethernet/intel/ice/ice_common.c
drivers/net/ethernet/intel/ice/ice_common.h