RDMA/hns: Support fast path for link-down events dispatching

hns3 NIC driver can directly notify the RoCE driver about link status
events bypassing the netdev notifier. This can provide more timely
event dispatching for ULPs.

Signed-off-by: Yuyu Li <liyuyu6@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
Yuyu Li 2024-11-22 18:53:08 +08:00 committed by Leon Romanovsky
parent 3790137762
commit 20b6d8a7b9

View File

@ -7178,9 +7178,22 @@ static int hns_roce_hw_v2_reset_notify(struct hnae3_handle *handle,
return ret;
}
static void hns_roce_hw_v2_link_status_change(struct hnae3_handle *handle,
bool linkup)
{
struct hns_roce_dev *hr_dev = (struct hns_roce_dev *)handle->priv;
struct net_device *netdev = handle->rinfo.netdev;
if (linkup || !hr_dev)
return;
ib_dispatch_port_state_event(&hr_dev->ib_dev, netdev);
}
static const struct hnae3_client_ops hns_roce_hw_v2_ops = {
.init_instance = hns_roce_hw_v2_init_instance,
.uninit_instance = hns_roce_hw_v2_uninit_instance,
.link_status_change = hns_roce_hw_v2_link_status_change,
.reset_notify = hns_roce_hw_v2_reset_notify,
};