Lines Matching full:mbx
52 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_read_mbx() local
57 if (size > mbx->size) { in ixgbe_read_mbx()
60 size, mbx->size); in ixgbe_read_mbx()
61 size = mbx->size; in ixgbe_read_mbx()
64 if (mbx->ops[mbx_id].read) in ixgbe_read_mbx()
65 return mbx->ops[mbx_id].read(hw, msg, size, mbx_id); in ixgbe_read_mbx()
81 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_poll_mbx() local
86 if (!mbx->ops[mbx_id].read || !mbx->ops[mbx_id].check_for_msg || in ixgbe_poll_mbx()
87 !mbx->timeout) in ixgbe_poll_mbx()
91 if (size > mbx->size) { in ixgbe_poll_mbx()
94 size, mbx->size); in ixgbe_poll_mbx()
95 size = mbx->size; in ixgbe_poll_mbx()
101 return mbx->ops[mbx_id].read(hw, msg, size, mbx_id); in ixgbe_poll_mbx()
121 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_write_mbx() local
130 if (!mbx->ops[mbx_id].write || !mbx->ops[mbx_id].check_for_ack || in ixgbe_write_mbx()
131 !mbx->ops[mbx_id].release || !mbx->timeout) in ixgbe_write_mbx()
134 if (size > mbx->size) { in ixgbe_write_mbx()
139 ret_val = mbx->ops[mbx_id].write(hw, msg, size, mbx_id); in ixgbe_write_mbx()
154 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_check_for_msg() local
159 if (mbx->ops[mbx_id].check_for_msg) in ixgbe_check_for_msg()
160 ret_val = mbx->ops[mbx_id].check_for_msg(hw, mbx_id); in ixgbe_check_for_msg()
174 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_check_for_ack() local
179 if (mbx->ops[mbx_id].check_for_ack) in ixgbe_check_for_ack()
180 ret_val = mbx->ops[mbx_id].check_for_ack(hw, mbx_id); in ixgbe_check_for_ack()
194 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_check_for_rst() local
199 if (mbx->ops[mbx_id].check_for_rst) in ixgbe_check_for_rst()
200 ret_val = mbx->ops[mbx_id].check_for_rst(hw, mbx_id); in ixgbe_check_for_rst()
214 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_clear_mbx() local
219 if (mbx->ops[mbx_id].clear) in ixgbe_clear_mbx()
220 ret_val = mbx->ops[mbx_id].clear(hw, mbx_id); in ixgbe_clear_mbx()
234 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_poll_for_msg() local
235 int countdown = mbx->timeout; in ixgbe_poll_for_msg()
239 if (!countdown || !mbx->ops[mbx_id].check_for_msg) in ixgbe_poll_for_msg()
242 while (countdown && mbx->ops[mbx_id].check_for_msg(hw, mbx_id)) { in ixgbe_poll_for_msg()
246 usec_delay(mbx->usec_delay); in ixgbe_poll_for_msg()
267 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_poll_for_ack() local
268 int countdown = mbx->timeout; in ixgbe_poll_for_ack()
272 if (!countdown || !mbx->ops[mbx_id].check_for_ack) in ixgbe_poll_for_ack()
275 while (countdown && mbx->ops[mbx_id].check_for_ack(hw, mbx_id)) { in ixgbe_poll_for_ack()
279 usec_delay(mbx->usec_delay); in ixgbe_poll_for_ack()
302 vf_mailbox |= hw->mbx.vf_mailbox; in ixgbe_read_mailbox_vf()
303 hw->mbx.vf_mailbox |= vf_mailbox & IXGBE_VFMAILBOX_R2C_BITS; in ixgbe_read_mailbox_vf()
313 hw->mbx.stats.reqs++; in ixgbe_clear_msg_vf()
314 hw->mbx.vf_mailbox &= ~IXGBE_VFMAILBOX_PFSTS; in ixgbe_clear_msg_vf()
323 hw->mbx.stats.acks++; in ixgbe_clear_ack_vf()
324 hw->mbx.vf_mailbox &= ~IXGBE_VFMAILBOX_PFACK; in ixgbe_clear_ack_vf()
333 hw->mbx.stats.rsts++; in ixgbe_clear_rst_vf()
334 hw->mbx.vf_mailbox &= ~(IXGBE_VFMAILBOX_RSTI | in ixgbe_clear_rst_vf()
426 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_obtain_mbx_lock_vf() local
427 int countdown = mbx->timeout; in ixgbe_obtain_mbx_lock_vf()
433 if (!mbx->timeout) in ixgbe_obtain_mbx_lock_vf()
449 usec_delay(mbx->usec_delay); in ixgbe_obtain_mbx_lock_vf()
526 hw->mbx.stats.msgs_tx++; in ixgbe_write_mbx_vf_legacy()
568 hw->mbx.stats.msgs_tx++; in ixgbe_write_mbx_vf()
579 hw->mbx.ops[mbx_id].release(hw, mbx_id); in ixgbe_write_mbx_vf()
615 hw->mbx.stats.msgs_rx++; in ixgbe_read_mbx_vf_legacy()
656 hw->mbx.stats.msgs_rx++; in ixgbe_read_mbx_vf()
665 * Initializes single set the hw->mbx struct to correct values for vf mailbox
670 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_init_mbx_params_vf() local
672 mbx->timeout = IXGBE_VF_MBX_INIT_TIMEOUT; in ixgbe_init_mbx_params_vf()
673 mbx->usec_delay = IXGBE_VF_MBX_INIT_DELAY; in ixgbe_init_mbx_params_vf()
675 mbx->size = IXGBE_VFMAILBOX_SIZE; in ixgbe_init_mbx_params_vf()
678 mbx->ops[0].release = ixgbe_release_mbx_lock_dummy; in ixgbe_init_mbx_params_vf()
679 mbx->ops[0].read = ixgbe_read_mbx_vf_legacy; in ixgbe_init_mbx_params_vf()
680 mbx->ops[0].write = ixgbe_write_mbx_vf_legacy; in ixgbe_init_mbx_params_vf()
681 mbx->ops[0].check_for_msg = ixgbe_check_for_msg_vf; in ixgbe_init_mbx_params_vf()
682 mbx->ops[0].check_for_ack = ixgbe_check_for_ack_vf; in ixgbe_init_mbx_params_vf()
683 mbx->ops[0].check_for_rst = ixgbe_check_for_rst_vf; in ixgbe_init_mbx_params_vf()
684 mbx->ops[0].clear = NULL; in ixgbe_init_mbx_params_vf()
686 mbx->stats.msgs_tx = 0; in ixgbe_init_mbx_params_vf()
687 mbx->stats.msgs_rx = 0; in ixgbe_init_mbx_params_vf()
688 mbx->stats.reqs = 0; in ixgbe_init_mbx_params_vf()
689 mbx->stats.acks = 0; in ixgbe_init_mbx_params_vf()
690 mbx->stats.rsts = 0; in ixgbe_init_mbx_params_vf()
697 * Initializes the hw->mbx struct to correct values for vf mailbox
701 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_upgrade_mbx_params_vf() local
703 mbx->timeout = IXGBE_VF_MBX_INIT_TIMEOUT; in ixgbe_upgrade_mbx_params_vf()
704 mbx->usec_delay = IXGBE_VF_MBX_INIT_DELAY; in ixgbe_upgrade_mbx_params_vf()
706 mbx->size = IXGBE_VFMAILBOX_SIZE; in ixgbe_upgrade_mbx_params_vf()
709 mbx->ops[0].release = ixgbe_release_mbx_lock_vf; in ixgbe_upgrade_mbx_params_vf()
710 mbx->ops[0].read = ixgbe_read_mbx_vf; in ixgbe_upgrade_mbx_params_vf()
711 mbx->ops[0].write = ixgbe_write_mbx_vf; in ixgbe_upgrade_mbx_params_vf()
712 mbx->ops[0].check_for_msg = ixgbe_check_for_msg_vf; in ixgbe_upgrade_mbx_params_vf()
713 mbx->ops[0].check_for_ack = ixgbe_check_for_ack_vf; in ixgbe_upgrade_mbx_params_vf()
714 mbx->ops[0].check_for_rst = ixgbe_check_for_rst_vf; in ixgbe_upgrade_mbx_params_vf()
715 mbx->ops[0].clear = NULL; in ixgbe_upgrade_mbx_params_vf()
717 mbx->stats.msgs_tx = 0; in ixgbe_upgrade_mbx_params_vf()
718 mbx->stats.msgs_rx = 0; in ixgbe_upgrade_mbx_params_vf()
719 mbx->stats.reqs = 0; in ixgbe_upgrade_mbx_params_vf()
720 mbx->stats.acks = 0; in ixgbe_upgrade_mbx_params_vf()
721 mbx->stats.rsts = 0; in ixgbe_upgrade_mbx_params_vf()
733 hw->mbx.stats.reqs++; in ixgbe_clear_msg_pf()
748 hw->mbx.stats.acks++; in ixgbe_clear_ack_pf()
844 hw->mbx.stats.rsts++; in ixgbe_check_for_rst_pf()
859 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_obtain_mbx_lock_pf() local
860 int countdown = mbx->timeout; in ixgbe_obtain_mbx_lock_pf()
866 if (!mbx->timeout) in ixgbe_obtain_mbx_lock_pf()
889 usec_delay(mbx->usec_delay); in ixgbe_obtain_mbx_lock_pf()
954 hw->mbx.stats.msgs_tx++; in ixgbe_write_mbx_pf_legacy()
1000 hw->mbx.stats.msgs_tx++; in ixgbe_write_mbx_pf()
1003 hw->mbx.ops[vf_id].release(hw, vf_id); in ixgbe_write_mbx_pf()
1041 hw->mbx.stats.msgs_rx++; in ixgbe_read_mbx_pf_legacy()
1083 hw->mbx.stats.msgs_rx++; in ixgbe_read_mbx_pf()
1097 u16 mbx_size = hw->mbx.size; in ixgbe_clear_mbx_pf()
1114 * Initializes single set of the hw->mbx struct to correct values for pf mailbox
1119 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_init_mbx_params_pf_id() local
1121 mbx->ops[vf_id].release = ixgbe_release_mbx_lock_dummy; in ixgbe_init_mbx_params_pf_id()
1122 mbx->ops[vf_id].read = ixgbe_read_mbx_pf_legacy; in ixgbe_init_mbx_params_pf_id()
1123 mbx->ops[vf_id].write = ixgbe_write_mbx_pf_legacy; in ixgbe_init_mbx_params_pf_id()
1124 mbx->ops[vf_id].check_for_msg = ixgbe_check_for_msg_pf; in ixgbe_init_mbx_params_pf_id()
1125 mbx->ops[vf_id].check_for_ack = ixgbe_check_for_ack_pf; in ixgbe_init_mbx_params_pf_id()
1126 mbx->ops[vf_id].check_for_rst = ixgbe_check_for_rst_pf; in ixgbe_init_mbx_params_pf_id()
1127 mbx->ops[vf_id].clear = ixgbe_clear_mbx_pf; in ixgbe_init_mbx_params_pf_id()
1134 * Initializes all sets of the hw->mbx struct to correct values for pf
1141 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_init_mbx_params_pf() local
1152 mbx->timeout = IXGBE_VF_MBX_INIT_TIMEOUT; in ixgbe_init_mbx_params_pf()
1153 mbx->usec_delay = IXGBE_VF_MBX_INIT_DELAY; in ixgbe_init_mbx_params_pf()
1154 mbx->size = IXGBE_VFMAILBOX_SIZE; in ixgbe_init_mbx_params_pf()
1157 mbx->stats.msgs_tx = 0; in ixgbe_init_mbx_params_pf()
1158 mbx->stats.msgs_rx = 0; in ixgbe_init_mbx_params_pf()
1159 mbx->stats.reqs = 0; in ixgbe_init_mbx_params_pf()
1160 mbx->stats.acks = 0; in ixgbe_init_mbx_params_pf()
1161 mbx->stats.rsts = 0; in ixgbe_init_mbx_params_pf()
1166 * 2. rewrite the code to dynamically allocate mbx->ops[vf_id] for in ixgbe_init_mbx_params_pf()
1178 * Initializes the hw->mbx struct to new function set for improved
1183 struct ixgbe_mbx_info *mbx = &hw->mbx; in ixgbe_upgrade_mbx_params_pf() local
1193 mbx->timeout = IXGBE_VF_MBX_INIT_TIMEOUT; in ixgbe_upgrade_mbx_params_pf()
1194 mbx->usec_delay = IXGBE_VF_MBX_INIT_DELAY; in ixgbe_upgrade_mbx_params_pf()
1195 mbx->size = IXGBE_VFMAILBOX_SIZE; in ixgbe_upgrade_mbx_params_pf()
1197 mbx->ops[vf_id].release = ixgbe_release_mbx_lock_pf; in ixgbe_upgrade_mbx_params_pf()
1198 mbx->ops[vf_id].read = ixgbe_read_mbx_pf; in ixgbe_upgrade_mbx_params_pf()
1199 mbx->ops[vf_id].write = ixgbe_write_mbx_pf; in ixgbe_upgrade_mbx_params_pf()
1200 mbx->ops[vf_id].check_for_msg = ixgbe_check_for_msg_pf; in ixgbe_upgrade_mbx_params_pf()
1201 mbx->ops[vf_id].check_for_ack = ixgbe_check_for_ack_pf; in ixgbe_upgrade_mbx_params_pf()
1202 mbx->ops[vf_id].check_for_rst = ixgbe_check_for_rst_pf; in ixgbe_upgrade_mbx_params_pf()
1203 mbx->ops[vf_id].clear = ixgbe_clear_mbx_pf; in ixgbe_upgrade_mbx_params_pf()
1205 mbx->stats.msgs_tx = 0; in ixgbe_upgrade_mbx_params_pf()
1206 mbx->stats.msgs_rx = 0; in ixgbe_upgrade_mbx_params_pf()
1207 mbx->stats.reqs = 0; in ixgbe_upgrade_mbx_params_pf()
1208 mbx->stats.acks = 0; in ixgbe_upgrade_mbx_params_pf()
1209 mbx->stats.rsts = 0; in ixgbe_upgrade_mbx_params_pf()