Skip to content

Commit

Permalink
net/qede: use ack in interrupt handlers
Browse files Browse the repository at this point in the history
This is a partial pick of below commit from master. At this point
only qede is updated as it addresses an observed issue.

commit 6bee9d5
Author: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date:   Tue Jul 23 10:04:19 2019 +0200

    drivers/net: use ack in interrupt handlers

    Replace rte_intr_enable() with rte_intr_ack() API
    for acking an interrupt in interrupt handlers and
    rx_queue_intr_enable() callbacks of PMD's.

    This is inline with original intent of this change in PMDs
    to ack interrupts after handling is completed if
    device is backed by UIO, IGB_UIO or VFIO(with INTx).

    Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
    Signed-off-by: Jerin Jacob <jerinj@marvell.com>
    Acked-by: Shahed Shaikh <shshaikh@marvell.com>
    Tested-by: Shahed Shaikh <shshaikh@marvell.com>
    Signed-off-by: David Marchand <david.marchand@redhat.com>

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
  • Loading branch information
nithind1988 authored and kevintraynor committed Dec 11, 2019
1 parent 3e41c8b commit 9b30de5
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
1 change: 1 addition & 0 deletions drivers/net/qede/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ LIB = librte_pmd_qede.a

CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
LDLIBS += -lrte_bus_pci
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/qede/meson.build
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>

allow_experimental_apis = true

subdir('base')
objs = [base_objs]

Expand Down
8 changes: 4 additions & 4 deletions drivers/net/qede/qede_ethdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,8 +248,8 @@ qede_interrupt_handler_intx(void *param)
if (status & 0x1) {
qede_interrupt_action(ECORE_LEADING_HWFN(edev));

if (rte_intr_enable(eth_dev->intr_handle))
DP_ERR(edev, "rte_intr_enable failed\n");
if (rte_intr_ack(eth_dev->intr_handle))
DP_ERR(edev, "rte_intr_ack failed\n");
}
}

Expand All @@ -261,8 +261,8 @@ qede_interrupt_handler(void *param)
struct ecore_dev *edev = &qdev->edev;

qede_interrupt_action(ECORE_LEADING_HWFN(edev));
if (rte_intr_enable(eth_dev->intr_handle))
DP_ERR(edev, "rte_intr_enable failed\n");
if (rte_intr_ack(eth_dev->intr_handle))
DP_ERR(edev, "rte_intr_ack failed\n");
}

static void
Expand Down

0 comments on commit 9b30de5

Please sign in to comment.