[dpdk-dev] [PATCH 01/21] net/ixgbe/base: clear VFMBMEM and toggle VF's Tx queues
Sun, GuinanX
guinanx.sun at intel.com
Tue Jun 30 03:57:17 CEST 2020
Hi Ferruh
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Monday, June 22, 2020 7:59 PM
> To: Sun, GuinanX <guinanx.sun at intel.com>; dev at dpdk.org
> Cc: Pietruszewski, Piotr <piotr.pietruszewski at intel.com>
> Subject: Re: [dpdk-dev] [PATCH 01/21] net/ixgbe/base: clear VFMBMEM and
> toggle VF's Tx queues
>
> 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?
>
Sorry, our commit message caused you confusion.
Later V2 patch will modify the commit information and explain'txdctl' &'VFMBMEM'.
> >
> > Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski at intel.com>
> > Signed-off-by: Guinan Sun <guinanx.sun at 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?
More information about the dev
mailing list