Michael S. Tsirkin
2022-Sep-23 05:30 UTC
[PATCH v3] vdpa/ifcvf: fix the calculation of queuepair
On Fri, Sep 23, 2022 at 09:03:56AM +0800, Angus Chen wrote:> The queuepair should be divided by 2 and > it should not be hw->nr_vring when multi-queue feature was enabled > > Fixes: 2ddae773c93b ("vDPA/ifcvf: detect and use the onboard number of queues directly") > > changes in v2: > - add commitid which to be fixed > - no code changes > > changes in v3: > - updated commit log with more info, addressing comments by MST > - no code changesNote the changelog should go after -- not before that. And all tags such as Fixes: and Signed-off-by: be together without empty lines separating them.> Signed-off-by: Angus Chen <angus.chen at jaguarmicro.com>and if code is unchanged then it's acceptable (and preferred) to carry forward acks from previous versions, such as the one from Zhu Lingshan. same if code is changed but trivially.> --- > drivers/vdpa/ifcvf/ifcvf_base.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/vdpa/ifcvf/ifcvf_base.c b/drivers/vdpa/ifcvf/ifcvf_base.c > index 75a703b803a2..3e4486bfa0b7 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_base.c > +++ b/drivers/vdpa/ifcvf/ifcvf_base.c > @@ -323,7 +323,7 @@ u16 ifcvf_get_vq_state(struct ifcvf_hw *hw, u16 qid) > u32 q_pair_id; > > ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg; > - q_pair_id = qid / hw->nr_vring; > + q_pair_id = qid / 2; > avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2]; > last_avail_idx = vp_ioread16(avail_idx_addr); > > @@ -337,7 +337,7 @@ int ifcvf_set_vq_state(struct ifcvf_hw *hw, u16 qid, u16 num) > u32 q_pair_id; > > ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg; > - q_pair_id = qid / hw->nr_vring; > + q_pair_id = qid / 2; > avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2]; > hw->vring[qid].last_avail_idx = num; > vp_iowrite16(num, avail_idx_addr); > -- > 2.17.1