[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