This patch-set adds the support of VF reset to the existing VF driver. VF Reset can be triggered due to TX watchdog firing as a result of TX data-path not working. VF reset could also be a result of some internal configuration changes if that requires reset, or as a result of the PF/Core/Global/IMP(Integrated Management Processor) reset happened in the PF.
Summary of Patches: * Watchdog timer trigger chnages are present in Patch 1. * Reset Service Task and related Event handling is present in Patches {2,3} * Changes to send reset request to PF, reset stack and re-initialization of the hclge device is present in Patches {4,5,6} * Changes related to ARQ (Asynchronous Receive Queue) and its event handling are present in Patches {7,8} * Changes required in PF to handle the VF Reset request and actually perform hardware VF reset is there in Patch 9. NOTE: This patch depends upon "[PATCH net-next 00/11] fix some bugs for HNS3 driver" Link: https://lkml.org/lkml/2018/3/21/72 Salil Mehta (9): net: hns3: Changes to make enet watchdog timeout func common for PF/VF net: hns3: Add VF Reset Service Task to support event handling net: hns3: Add VF Reset device state and its handling net: hns3: Add support to request VF Reset to PF net: hns3: Add support to reset the enet/ring mgmt layer net: hns3: Add support to re-initialize the hclge device net: hns3: Changes to support ARQ(Asynchronous Receive Queue) net: hns3: Add *Asserting Reset* mailbox message & handling in VF net: hns3: Changes required in PF mailbox to support VF reset drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 16 + drivers/net/ethernet/hisilicon/hns3/hnae3.h | 8 +- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 30 +- drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 2 - .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 38 +-- .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 1 + .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 42 +++ .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 6 + .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 336 +++++++++++++++++++-- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 31 ++ .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 95 +++++- 11 files changed, 534 insertions(+), 71 deletions(-) -- 2.7.4