xref: /linux/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1*8a1c655fSFan Gong // SPDX-License-Identifier: GPL-2.0
2*8a1c655fSFan Gong // Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
3*8a1c655fSFan Gong 
4*8a1c655fSFan Gong #include "hinic3_eqs.h"
5*8a1c655fSFan Gong #include "hinic3_hwdev.h"
6*8a1c655fSFan Gong #include "hinic3_mbox.h"
7*8a1c655fSFan Gong #include "hinic3_mgmt.h"
8*8a1c655fSFan Gong 
9*8a1c655fSFan Gong void hinic3_flush_mgmt_workq(struct hinic3_hwdev *hwdev)
10*8a1c655fSFan Gong {
11*8a1c655fSFan Gong 	if (hwdev->aeqs)
12*8a1c655fSFan Gong 		flush_workqueue(hwdev->aeqs->workq);
13*8a1c655fSFan Gong }
14*8a1c655fSFan Gong 
15*8a1c655fSFan Gong void hinic3_mgmt_msg_aeqe_handler(struct hinic3_hwdev *hwdev, u8 *header,
16*8a1c655fSFan Gong 				  u8 size)
17*8a1c655fSFan Gong {
18*8a1c655fSFan Gong 	if (MBOX_MSG_HEADER_GET(*(__force __le64 *)header, SOURCE) ==
19*8a1c655fSFan Gong 				MBOX_MSG_FROM_MBOX)
20*8a1c655fSFan Gong 		hinic3_mbox_func_aeqe_handler(hwdev, header, size);
21*8a1c655fSFan Gong }
22