]> git.baikalelectronics.ru Git - kernel.git/commit
net: hns3: Changes to support ARQ(Asynchronous Receive Queue)
authorSalil Mehta <salil.mehta@huawei.com>
Thu, 22 Mar 2018 14:28:58 +0000 (14:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Mar 2018 19:29:04 +0000 (15:29 -0400)
commit43c85755b9e6262d3e9bcec380e5e9732bcaff19
treecfee163c9c516d74ef9aee0d5dac86e156900927
parentb1ee76c0e821288792f010369946f76b1c016830
net: hns3: Changes to support ARQ(Asynchronous Receive Queue)

Current mailbox CRQ could consists of both synchronous and async
responses from the PF. Synchronous responses are time critical
and should be handed over to the waiting tasks/context as quickly
as possible otherwise timeout occurs.

Above problem gets accentuated if CRQ consists of even single
async message. Hence, it is important to have quick handling of
synchronous messages and maybe deferred handling of async messages
This patch introduces separate ARQ(async receive queues) for the
async messages. These messages are processed later with repsect
to mailbox task while synchronous messages still gets processed
in context to mailbox interrupt.

ARQ is important as VF reset introduces some new async messages
like MBX_ASSERTING_RESET which adds up to the presssure on the
responses for synchronousmessages and they timeout even more
quickly.

Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c