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/[email protected]/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

Reply via email to