Star64_linux/drivers/net/ethernet/intel/ice
Dave Ertman 5df7e45d54 ice: Change pf state behavior to protect reset path
Currently, there is no bit, or set of bits, that protect the entirety
of the reset path.

If the reset is originated by the driver, then the relevant
one of the following bits will be set when the reset is scheduled:
__ICE_PFR_REQ
__ICE_CORER_REQ
__ICE_GLOBR_REQ
This bit will not be cleared until after the rebuild has completed.

If the reset is originated by the FW, then the first the driver knows of
it will be the reception of the OICR interrupt.  The __ICE_RESET_OICR_RECV
bit will be set in the interrupt handler.  This will also be the indicator
in a SW originated reset that we have completed the pre-OICR tasks and
have informed the FW that a reset was requested.

To utilize these bits, change the function:
ice_is_reset_recovery_pending()
	to be:
ice_is_reset_in_progress()

The new function will check all of the above bits in the pf->state and
will return a true if one or more of these bits are set.

Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-10-01 12:50:50 -07:00
..
ice.h ice: Change pf state behavior to protect reset path 2018-10-01 12:50:50 -07:00
ice_adminq_cmd.h ice: Query the Tx scheduler node before adding it 2018-09-28 11:16:36 -07:00
ice_common.c ice: Move common functions out of ice_main.c part 1/7 2018-10-01 12:39:40 -07:00
ice_common.h ice: Move common functions out of ice_main.c part 1/7 2018-10-01 12:39:40 -07:00
ice_controlq.c ice: update fw version check logic 2018-09-28 11:16:36 -07:00
ice_controlq.h ice: Initialize PF and setup miscellaneous interrupt 2018-03-26 10:34:49 -07:00
ice_devids.h ice: update branding strings and supported device ids 2018-09-28 11:16:36 -07:00
ice_ethtool.c ice: fix changing of ring descriptor size (ethtool -G) 2018-09-28 11:16:36 -07:00
ice_hw_autogen.h ice: Add support for Tx hang, Tx timeout and malicious driver detection 2018-08-28 10:58:42 -07:00
ice_lan_tx_rx.h ice: Rework flex descriptor programming 2018-08-28 09:18:47 -07:00
ice_lib.c ice: Change pf state behavior to protect reset path 2018-10-01 12:50:50 -07:00
ice_lib.h ice: Change pf state behavior to protect reset path 2018-10-01 12:50:50 -07:00
ice_main.c ice: Change pf state behavior to protect reset path 2018-10-01 12:50:50 -07:00
ice_nvm.c ice: Update request resource command to latest specification 2018-08-28 10:17:06 -07:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_sched.c ice: Query the Tx scheduler node before adding it 2018-09-28 11:16:36 -07:00
ice_sched.h ice: Update Tx scheduler tree for VSI multi-Tx queue support 2018-03-26 12:21:42 -07:00
ice_status.h ice: Prevent control queue operations during reset 2018-08-28 10:20:00 -07:00
ice_switch.c ice: Implement ice_bridge_getlink and ice_bridge_setlink 2018-08-28 11:01:06 -07:00
ice_switch.h ice: Update comment for ice_fltr_mgmt_list_entry 2018-09-28 11:16:36 -07:00
ice_txrx.c ice: Add support for Tx hang, Tx timeout and malicious driver detection 2018-08-28 10:58:42 -07:00
ice_txrx.h ice: Add support for Tx hang, Tx timeout and malicious driver detection 2018-08-28 10:58:42 -07:00
ice_type.h ice: Enable firmware logging during device initialization. 2018-08-28 11:04:04 -07:00
Makefile ice: Move common functions out of ice_main.c part 1/7 2018-10-01 12:39:40 -07:00