[dpdk-dev] [PATCH v2] net/ixgbe: fix Rx/Tx queue interrupt for x550 devices
Dai, Wei
wei.dai at intel.com
Wed Jul 19 11:22:26 CEST 2017
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Qiming Yang
> Sent: Tuesday, July 18, 2017 10:29 AM
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Yang, Qiming
> <qiming.yang at intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/ixgbe: fix Rx/Tx queue interrupt for x550
> devices
>
> x550 devices not do interrupt vector mapping before enable Rx/Tx queue
> interrupt, makes interrupt mode can't work neither with igb_uio or VFIO.
>
> Fixes: d2e72774e58c ("ixgbe/base: support X550")
>
> Signed-off-by: Qiming Yang <qiming.yang at intel.com>
Have looked through datasheet of 82599, X540 and X550.
Acked-by: Wei Dai <wei.dai at intel.com>
> ---
> v2 changes:
> * fixed other cause interrupt vector map and typo issue
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 9b06ac1..0caafd5 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -5611,7 +5611,8 @@ ixgbe_set_ivar_map(struct ixgbe_hw *hw, int8_t
> direction,
> tmp |= (msix_vector << (8 * (queue & 0x3)));
> IXGBE_WRITE_REG(hw, IXGBE_IVAR(idx), tmp);
> } else if ((hw->mac.type == ixgbe_mac_82599EB) ||
> - (hw->mac.type == ixgbe_mac_X540)) {
> + (hw->mac.type == ixgbe_mac_X540) ||
> + (hw->mac.type == ixgbe_mac_X550)) {
> if (direction == -1) {
> /* other causes */
> idx = ((queue & 1) * 8);
> @@ -5719,6 +5720,7 @@ ixgbe_configure_msix(struct rte_eth_dev *dev)
> break;
> case ixgbe_mac_82599EB:
> case ixgbe_mac_X540:
> + case ixgbe_mac_X550:
> ixgbe_set_ivar_map(hw, -1, 1, IXGBE_MISC_VEC_ID);
> break;
> default:
> --
> 2.7.4
More information about the dev
mailing list