]> www.infradead.org Git - users/dwmw2/linux.git/commit
ice: use DSN instead of PCI BDF for ice_adapter index
authorPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Mon, 5 May 2025 16:19:38 +0000 (09:19 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 7 May 2025 01:27:14 +0000 (18:27 -0700)
commit0093cb194a7511d1e68865fa35b763c72e44c2f0
treeb3f33aceaa9909d6a083b693253d5789283a9eb0
parente8716b5b0dff1b3d523b4a83fd5e94d57b887c5c
ice: use DSN instead of PCI BDF for ice_adapter index

Use Device Serial Number instead of PCI bus/device/function for
the index of struct ice_adapter.

Functions on the same physical device should point to the very same
ice_adapter instance, but with two PFs, when at least one of them is
PCI-e passed-through to a VM, it is no longer the case - PFs will get
seemingly random PCI BDF values, and thus indices, what finally leds to
each of them being on their own instance of ice_adapter. That causes them
to don't attempt any synchronization of the PTP HW clock usage, or any
other future resources.

DSN works nicely in place of the index, as it is "immutable" in terms of
virtualization.

Fixes: 0e2bddf9e5f9 ("ice: add ice_adapter for shared data across PFs on the same NIC")
Suggested-by: Jacob Keller <jacob.e.keller@intel.com>
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Suggested-by: Jiri Pirko <jiri@resnulli.us>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://patch.msgid.link/20250505161939.2083581-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ice/ice_adapter.c
drivers/net/ethernet/intel/ice/ice_adapter.h