From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id BBB011C753; Fri, 11 May 2018 17:23:36 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 May 2018 08:23:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,389,1520924400"; d="scan'208";a="54371278" Received: from dpdk2.sh.intel.com ([10.67.118.178]) by fmsmga001.fm.intel.com with ESMTP; 11 May 2018 08:23:34 -0700 From: Jingjing Wu To: wenzhuo.lu@intel.com Cc: jingjing.wu@intel.com, dev@dpdk.org, stable@dpdk.org Date: Fri, 11 May 2018 23:09:47 +0800 Message-Id: <1526051388-88278-1-git-send-email-jingjing.wu@intel.com> X-Mailer: git-send-email 2.4.11 In-Reply-To: <1525316935-108339-2-git-send-email-jingjing.wu@intel.com> References: <1525316935-108339-2-git-send-email-jingjing.wu@intel.com> Subject: [dpdk-dev] [PATCH v2] net/avf: fix Rx interrupt mapping X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 May 2018 15:23:38 -0000 Vector used for rx mapping is different if WB_ON_ITR is supported. The mapping table need to be updated. Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") Signed-off-by: Jingjing Wu Cc: stable@dpdk.org --- v2 change: - replace vector 0 constant by msix_base drivers/net/avf/avf_ethdev.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c index a1ae3a2..0ef1f17 100644 --- a/drivers/net/avf/avf_ethdev.c +++ b/drivers/net/avf/avf_ethdev.c @@ -339,17 +339,18 @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev, AVF_WRITE_FLUSH(hw); /* map all queues to the same interrupt */ for (i = 0; i < dev->data->nb_rx_queues; i++) - vf->rxq_map[0] |= 1 << i; + vf->rxq_map[vf->msix_base] |= 1 << i; } else { if (!rte_intr_allow_others(intr_handle)) { vf->nb_msix = 1; vf->msix_base = AVF_MISC_VEC_ID; for (i = 0; i < dev->data->nb_rx_queues; i++) { - vf->rxq_map[0] |= 1 << i; + vf->rxq_map[vf->msix_base] |= 1 << i; intr_handle->intr_vec[i] = AVF_MISC_VEC_ID; } PMD_DRV_LOG(DEBUG, - "vector 0 are mapping to all Rx queues"); + "vector %u are mapping to all Rx queues", + vf->msix_base); } else { /* If Rx interrupt is reuquired, and we can use * multi interrupts, then the vec is from 1 -- 2.4.11