Rework usage of the control PF pointer in struct ice_adapter, so that
it is always has a consistent state, since it is global for an adapter.
Utilize RCU for reading the pointer value and atomic operations for
changing it. Zero out the ctrl_pf pointer when the control PF is removed.
Previous version:
https://mail-archive.com/intel-wired-lan@osuosl.org/msg18407.html
v1->v2: Rebase onto the latest dev-queue branch
v2->v3: Cosmetic fixes
v3->v4: Add the rw_semaphore to protect the ctrl_pf
Sergey Temerkhanov (3):
ice: Convert ctrl_pf pointer in struct ice_adapter to RCU
ice: Zero out the PTP control PF pointer at ice_adapter cleanup
ice: Cache struct ice_hw pointer for split register reads
Sergey Temerkhanov (3):
ice: Convert ctrl_pf pointer in struct ice_adapter to RCU
ice: Zero out the PTP control PF pointer at ice_adapter cleanup
ice: Cache struct ice_hw pointer for split register reads
drivers/net/ethernet/intel/ice/ice.h | 25 ++++-
drivers/net/ethernet/intel/ice/ice_adapter.c | 1 +
drivers/net/ethernet/intel/ice/ice_adapter.h | 5 +-
drivers/net/ethernet/intel/ice/ice_ptp.c | 101 ++++++++++++++-----
drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 37 ++++++-
drivers/net/ethernet/intel/ice/ice_txclk.c | 19 +++-
6 files changed, 147 insertions(+), 41 deletions(-)
--
2.53.0