linux/drivers/net/ethernet/intel/igc
Sasha Neftin 6f31d6b643 igc: Refactor runtime power management flow
Following the corresponding discussion [1] and [2] refactor the 'igc_open'
method and avoid taking the rtnl_lock() during the 'igc_resume' method.
The rtnl_lock is held by the upper layer and could lead to the deadlock
during resuming from a runtime power management flow. Notify the stack of
the actual queue counts 'netif_set_real_num_*_queues' outside the
'_igc_open' wrapper. This notification doesn't have to be called on each
resume.

Test:
1. Disconnect the ethernet cable
2. Enable the runtime power management via file system:
echo auto > /sys/devices/pci0000\.../power/control
3. Check the device state (lspci -s <device> -vvv | grep -i Status)

Link: https://lore.kernel.org/netdev/20231206113934.8d7819857574.I2deb5804
ef1739a2af307283d320ef7d82456494@changeid/#r [1]
Link: https://lore.kernel.org/netdev/20211125074949.5f897431@kicinski-fedo
ra-pc1c0hjn.dhcp.thefacebook.com/t/ [2]
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2024-03-29 08:58:43 -07:00
..
igc.h eth: igc: remove unused embedded struct net_device 2024-03-04 10:09:22 +00:00
igc_base.c igc: field get conversion 2023-12-18 11:20:43 -08:00
igc_base.h igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_defines.h igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_diag.c
igc_diag.h
igc_dump.c
igc_ethtool.c net: intel: igc: Use linkmode helpers for EEE 2024-02-28 12:18:05 +00:00
igc_hw.h
igc_i225.c igc: field get conversion 2023-12-18 11:20:43 -08:00
igc_i225.h
igc_leds.c igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00
igc_mac.c
igc_mac.h
igc_main.c igc: Refactor runtime power management flow 2024-03-29 08:58:43 -07:00
igc_nvm.c
igc_nvm.h
igc_phy.c igc: Remove temporary workaround 2024-02-14 09:43:09 -08:00
igc_phy.h
igc_ptp.c igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_regs.h igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00
igc_tsn.c igc: Fix hicredit calculation 2024-01-03 11:19:47 -08:00
igc_tsn.h
igc_xdp.c
igc_xdp.h
Makefile igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00