On 6/12/2020 4:23 AM, Guinan Sun wrote: > Add a method to clear VFMBMEM memory.
Can you please give some context, what is "VFMBMEM memory", why need to clear it, etc...? > Add a method to toggle VF's TX queues as workaround > for silicon errata. 'toggle' here means enable and disable the Tx queues right? Will this 'ixgbe_toggle_txdctl()' function used by the driver, if so better to have that change in the same patch to get the full context. Are there two changes related to eachother, 'txdctl' & 'VFMBMEM ', if not can you please seperate them? > > Signed-off-by: Piotr Pietruszewski <piotr.pietruszew...@intel.com> > Signed-off-by: Guinan Sun <guinanx....@intel.com> <...> > +/** > + * ixgbe_clear_mbx - Clear Mailbox Memory > + * @hw: pointer to the HW structure > + * @vf_number: id of mailbox to write > + * > + * Set VFMBMEM of given VF to 0x0. > + **/ > +s32 ixgbe_clear_mbx(struct ixgbe_hw *hw, u16 vf_number) > +{ > + struct ixgbe_mbx_info *mbx = &hw->mbx; > + s32 ret_val = IXGBE_SUCCESS; > + > + DEBUGFUNC("ixgbe_clear_mbx"); > + > + if (mbx->ops.clear) > + ret_val = mbx->ops.clear(hw, vf_number); > + > + return ret_val; > +} > + > /** > * ixgbe_poll_for_msg - Wait for message notification > * @hw: pointer to the HW structure > @@ -486,6 +506,7 @@ void ixgbe_init_mbx_params_vf(struct ixgbe_hw *hw) > mbx->ops.check_for_msg = ixgbe_check_for_msg_vf; > mbx->ops.check_for_ack = ixgbe_check_for_ack_vf; > mbx->ops.check_for_rst = ixgbe_check_for_rst_vf; > + mbx->ops.clear = NULL; If it is not used why 'ixgbe_clear_mbx()' added?