qed: Correct HW stop flow
Management firmware is used as arbiter between different PFs which are loading/unloading, but in order to use the synchronization it offers the contending configurations need to be applied either between their LOAD_REQ <-> LOAD_DONE or UNLOAD_REQ <-> UNLOAD_DONE management firmware commands. Existing HW stop flow utilizes 2 different functions: qed_hw_stop() and qed_hw_reset() which don't abide this requirement; Most of the closure is doing outside the scope of the unload request. This patch removes qed_hw_reset() and places the relevant stop functionality underneath the management firmware protection. Signed-off-by:Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/ethernet/qlogic/qed/qed.h 1 addition, 0 deletionsdrivers/net/ethernet/qlogic/qed/qed.h
- drivers/net/ethernet/qlogic/qed/qed_dev.c 53 additions, 93 deletionsdrivers/net/ethernet/qlogic/qed/qed_dev.c
- drivers/net/ethernet/qlogic/qed/qed_dev_api.h 0 additions, 8 deletionsdrivers/net/ethernet/qlogic/qed/qed_dev_api.h
- drivers/net/ethernet/qlogic/qed/qed_main.c 15 additions, 14 deletionsdrivers/net/ethernet/qlogic/qed/qed_main.c
- drivers/net/ethernet/qlogic/qed/qed_mcp.c 53 additions, 20 deletionsdrivers/net/ethernet/qlogic/qed/qed_mcp.c
- drivers/net/ethernet/qlogic/qed/qed_mcp.h 20 additions, 0 deletionsdrivers/net/ethernet/qlogic/qed/qed_mcp.h
Please register or sign in to comment