+static int mbox_msg_ack_aeqn(struct hinic_hwdev *hwdev)
+{
+ u16 aeq_num = HINIC_HWIF_NUM_AEQS(hwdev->hwif);
+ int msg_ack_aeqn;
+
+ if (aeq_num >= HINIC_MAX_AEQS - 1) {
+ msg_ack_aeqn = HINIC_AEQN_2;
+ } else if (aeq_num == HINIC_MIN_AEQS) {
+ /* This is used for ovs */
+ msg_ack_aeqn = HINIC_AEQN_1;
+ } else {
+ PMD_DRV_LOG(ERR, "Warning: Invalid aeq num: %d\n", aeq_num);
+ msg_ack_aeqn = -1;
+ }
+
+ return msg_ack_aeqn;
+}
+
+static u16 mbox_msg_dst_aeqn(struct hinic_hwdev *hwdev,
+ enum hinic_hwif_direction_type seq_dir)
+{
+ u16 dst_aeqn;
+
+ if (seq_dir == HINIC_HWIF_DIRECT_SEND)
+ dst_aeqn = HINIC_AEQN_0;
+ else
+ dst_aeqn = mbox_msg_ack_aeqn(hwdev);
+
+ return dst_aeqn;
+}
+
+static int mbox_seg_ack_aeqn(struct hinic_hwdev *hwdev)
+{
+ return mbox_msg_ack_aeqn(hwdev);
+}
+