Lines Matching defs:vf_id
727 static void ixgbe_clear_msg_pf(struct ixgbe_hw *hw, u16 vf_id)
729 u32 vf_shift = IXGBE_PFMBICR_SHIFT(vf_id);
730 s32 index = IXGBE_PFMBICR_INDEX(vf_id);
742 static void ixgbe_clear_ack_pf(struct ixgbe_hw *hw, u16 vf_id)
744 u32 vf_shift = IXGBE_PFMBICR_SHIFT(vf_id);
745 s32 index = IXGBE_PFMBICR_INDEX(vf_id);
770 * @vf_id: the VF index
774 static s32 ixgbe_check_for_msg_pf(struct ixgbe_hw *hw, u16 vf_id)
776 u32 vf_shift = IXGBE_PFMBICR_SHIFT(vf_id);
777 s32 index = IXGBE_PFMBICR_INDEX(vf_id);
791 * @vf_id: the VF index
795 static s32 ixgbe_check_for_ack_pf(struct ixgbe_hw *hw, u16 vf_id)
797 u32 vf_shift = IXGBE_PFMBICR_SHIFT(vf_id);
798 s32 index = IXGBE_PFMBICR_INDEX(vf_id);
807 ixgbe_clear_ack_pf(hw, vf_id);
816 * @vf_id: the VF index
820 static s32 ixgbe_check_for_rst_pf(struct ixgbe_hw *hw, u16 vf_id)
822 u32 vf_shift = IXGBE_PFVFLRE_SHIFT(vf_id);
823 u32 index = IXGBE_PFVFLRE_INDEX(vf_id);
855 * @vf_id: the VF index
859 static s32 ixgbe_obtain_mbx_lock_pf(struct ixgbe_hw *hw, u16 vf_id)
873 pf_mailbox = IXGBE_READ_REG(hw, IXGBE_PFMAILBOX(vf_id));
875 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), pf_mailbox);
878 pf_mailbox = IXGBE_READ_REG(hw, IXGBE_PFMAILBOX(vf_id));
900 * @vf_id: the VF index
902 static void ixgbe_release_mbx_lock_pf(struct ixgbe_hw *hw, u16 vf_id)
909 pf_mailbox = IXGBE_READ_REG(hw, IXGBE_PFMAILBOX(vf_id));
911 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), pf_mailbox);
919 * @vf_id: the VF index
924 u16 vf_id)
932 ret_val = ixgbe_obtain_mbx_lock_pf(hw, vf_id);
937 ixgbe_check_for_msg_pf(hw, vf_id);
938 ixgbe_clear_msg_pf(hw, vf_id);
939 ixgbe_check_for_ack_pf(hw, vf_id);
940 ixgbe_clear_ack_pf(hw, vf_id);
944 IXGBE_WRITE_REG_ARRAY(hw, IXGBE_PFMBMEM(vf_id), i, msg[i]);
947 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), IXGBE_PFMAILBOX_STS);
960 * @vf_id: the VF index
965 u16 vf_id)
974 ret_val = ixgbe_obtain_mbx_lock_pf(hw, vf_id);
979 ixgbe_clear_msg_pf(hw, vf_id);
980 ixgbe_clear_ack_pf(hw, vf_id);
984 IXGBE_WRITE_REG_ARRAY(hw, IXGBE_PFMBMEM(vf_id), i, msg[i]);
987 pf_mailbox = IXGBE_READ_REG(hw, IXGBE_PFMAILBOX(vf_id));
989 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), pf_mailbox);
992 ixgbe_poll_for_ack(hw, vf_id);
998 hw->mbx.ops[vf_id].release(hw, vf_id);
1009 * @vf_id: the VF index
1016 u16 vf_id)
1024 ret_val = ixgbe_obtain_mbx_lock_pf(hw, vf_id);
1030 msg[i] = IXGBE_READ_REG_ARRAY(hw, IXGBE_PFMBMEM(vf_id), i);
1033 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), IXGBE_PFMAILBOX_ACK);
1046 * @vf_id: the VF index
1053 u16 vf_id)
1062 ret_val = ixgbe_check_for_msg_pf(hw, vf_id);
1066 ixgbe_clear_msg_pf(hw, vf_id);
1070 msg[i] = IXGBE_READ_REG_ARRAY(hw, IXGBE_PFMBMEM(vf_id), i);
1073 pf_mailbox = IXGBE_READ_REG(hw, IXGBE_PFMAILBOX(vf_id));
1075 IXGBE_WRITE_REG(hw, IXGBE_PFMAILBOX(vf_id), pf_mailbox);
1086 * @vf_id: the VF index
1090 static s32 ixgbe_clear_mbx_pf(struct ixgbe_hw *hw, u16 vf_id)
1095 if (vf_id > 63)
1099 IXGBE_WRITE_REG_ARRAY(hw, IXGBE_PFMBMEM(vf_id), i, 0x0);
1107 * @vf_id: the VF index
1112 void ixgbe_init_mbx_params_pf_id(struct ixgbe_hw *hw, u16 vf_id)
1116 mbx->ops[vf_id].release = ixgbe_release_mbx_lock_dummy;
1117 mbx->ops[vf_id].read = ixgbe_read_mbx_pf_legacy;
1118 mbx->ops[vf_id].write = ixgbe_write_mbx_pf_legacy;
1119 mbx->ops[vf_id].check_for_msg = ixgbe_check_for_msg_pf;
1120 mbx->ops[vf_id].check_for_ack = ixgbe_check_for_ack_pf;
1121 mbx->ops[vf_id].check_for_rst = ixgbe_check_for_rst_pf;
1122 mbx->ops[vf_id].clear = ixgbe_clear_mbx_pf;
1161 * 2. rewrite the code to dynamically allocate mbx->ops[vf_id] for
1171 * @vf_id: the VF index
1176 void ixgbe_upgrade_mbx_params_pf(struct ixgbe_hw *hw, u16 vf_id)
1192 mbx->ops[vf_id].release = ixgbe_release_mbx_lock_pf;
1193 mbx->ops[vf_id].read = ixgbe_read_mbx_pf;
1194 mbx->ops[vf_id].write = ixgbe_write_mbx_pf;
1195 mbx->ops[vf_id].check_for_msg = ixgbe_check_for_msg_pf;
1196 mbx->ops[vf_id].check_for_ack = ixgbe_check_for_ack_pf;
1197 mbx->ops[vf_id].check_for_rst = ixgbe_check_for_rst_pf;
1198 mbx->ops[vf_id].clear = ixgbe_clear_mbx_pf;