1. 10 Apr, 2024 13 commits
  2. 09 Apr, 2024 24 commits
  3. 08 Apr, 2024 3 commits
    • Bjorn Helgaas's avatar
      igc: Remove redundant runtime resume for ethtool ops · 75f16e06
      Bjorn Helgaas authored
      8c5ad0da ("igc: Add ethtool support") added ethtool_ops.begin() and
      .complete(), which used pm_runtime_get_sync() to resume suspended devices
      before any ethtool_ops callback and allow suspend after it completed.
      
      Subsequently, f32a2137 ("ethtool: runtime-resume netdev parent before
      ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path,
      so the device is resumed before any ethtool_ops callback even if the driver
      didn't supply a .begin() callback.
      
      Remove the .begin() and .complete() callbacks, which are now redundant
      because dev_ethtool() already resumes the device.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Tested-by: default avatarNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      75f16e06
    • Bjorn Helgaas's avatar
      igb: Remove redundant runtime resume for ethtool_ops · 461359c4
      Bjorn Helgaas authored
      749ab2cd ("igb: add basic runtime PM support") added
      ethtool_ops.begin() and .complete(), which used pm_runtime_get_sync() to
      resume suspended devices before any ethtool_ops callback and allow suspend
      after it completed.
      
      Subsequently, f32a2137 ("ethtool: runtime-resume netdev parent before
      ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path,
      so the device is resumed before any ethtool_ops callback even if the driver
      didn't supply a .begin() callback.
      
      Remove the .begin() and .complete() callbacks, which are now redundant
      because dev_ethtool() already resumes the device.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      461359c4
    • Bjorn Helgaas's avatar
      e1000e: Remove redundant runtime resume for ethtool_ops · b2c28941
      Bjorn Helgaas authored
      e60b22c5 ("e1000e: fix accessing to suspended device") added
      ethtool_ops.begin() and .complete(), which used pm_runtime_get_sync() to
      resume suspended devices before any ethtool_ops callback and allow suspend
      after it completed.
      
      3ef672ab ("e1000e: ethtool unnecessarily takes device out of RPM
      suspend") removed ethtool_ops.begin() and .complete() and instead did
      pm_runtime_get_sync() only in the individual ethtool_ops callbacks that
      access device registers.
      
      Subsequently, f32a2137 ("ethtool: runtime-resume netdev parent before
      ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path,
      so the device is resumed before *any* ethtool_ops callback, as it was
      before 3ef672ab.
      
      Remove most runtime resumes from ethtool_ops, which are now redundant
      because the resume has already been done by dev_ethtool().  This is
      essentially a revert of 3ef672ab ("e1000e: ethtool unnecessarily takes
      device out of RPM suspend").
      
      There are a couple subtleties:
      
        - Prior to 3ef672ab, the device was resumed only for the duration of
          a single ethtool callback.  3ef672ab changed e1000_set_phys_id() so
          the device was resumed for ETHTOOL_ID_ACTIVE and remained resumed until
          a subsequent callback for ETHTOOL_ID_INACTIVE.  Preserve that part of
          3ef672ab so the device will not be runtime suspended while in the
          ETHTOOL_ID_ACTIVE state.
      
        - 3ef672ab added "if (!pm_runtime_suspended())" in before reading the
          STATUS register in e1000_get_settings().  This was racy and is now
          unnecessary because dev_ethtool() has resumed the device already, so
          revert that.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Tested-by: default avatarNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      b2c28941