eal: clean up interrupt handle
[dpdk.git] / drivers / net / sfc / sfc_intr.c
index d06980e..7d91a2a 100644 (file)
@@ -1,5 +1,7 @@
 /*-
- * Copyright (c) 2016 Solarflare Communications Inc.
+ *   BSD LICENSE
+ *
+ * Copyright (c) 2016-2017 Solarflare Communications Inc.
  * All rights reserved.
  *
  * This software was jointly developed between OKTET Labs (under contract
@@ -53,7 +55,7 @@ sfc_intr_handle_mgmt_evq(struct sfc_adapter *sa)
 
        rte_spinlock_lock(&sa->mgmt_evq_lock);
 
-       evq = sa->evq_info[sa->mgmt_evq_index].evq;
+       evq = sa->mgmt_evq;
 
        if (evq->init_state != SFC_EVQ_STARTED) {
                sfc_log_init(sa, "interrupt on stopped EVQ %u", evq->evq_index);
@@ -68,13 +70,14 @@ sfc_intr_handle_mgmt_evq(struct sfc_adapter *sa)
 }
 
 static void
-sfc_intr_line_handler(struct rte_intr_handle *intr_handle, void *cb_arg)
+sfc_intr_line_handler(void *cb_arg)
 {
        struct sfc_adapter *sa = (struct sfc_adapter *)cb_arg;
        efx_nic_t *enp = sa->nic;
        boolean_t fatal;
        uint32_t qmask;
        unsigned int lsc_seq = sa->port.lsc_seq;
+       struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
 
        sfc_log_init(sa, "entry");
 
@@ -97,7 +100,7 @@ sfc_intr_line_handler(struct rte_intr_handle *intr_handle, void *cb_arg)
        if (qmask & (1 << sa->mgmt_evq_index))
                sfc_intr_handle_mgmt_evq(sa);
 
-       if (rte_intr_enable(intr_handle) != 0)
+       if (rte_intr_enable(&pci_dev->intr_handle) != 0)
                sfc_err(sa, "cannot reenable interrupts");
 
        sfc_log_init(sa, "done");
@@ -113,12 +116,13 @@ exit:
 }
 
 static void
-sfc_intr_message_handler(struct rte_intr_handle *intr_handle, void *cb_arg)
+sfc_intr_message_handler(void *cb_arg)
 {
        struct sfc_adapter *sa = (struct sfc_adapter *)cb_arg;
        efx_nic_t *enp = sa->nic;
        boolean_t fatal;
        unsigned int lsc_seq = sa->port.lsc_seq;
+       struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
 
        sfc_log_init(sa, "entry");
 
@@ -139,7 +143,7 @@ sfc_intr_message_handler(struct rte_intr_handle *intr_handle, void *cb_arg)
 
        sfc_intr_handle_mgmt_evq(sa);
 
-       if (rte_intr_enable(intr_handle) != 0)
+       if (rte_intr_enable(&pci_dev->intr_handle) != 0)
                sfc_err(sa, "cannot reenable interrupts");
 
        sfc_log_init(sa, "done");
@@ -257,7 +261,7 @@ sfc_intr_stop(struct sfc_adapter *sa)
 }
 
 int
-sfc_intr_init(struct sfc_adapter *sa)
+sfc_intr_configure(struct sfc_adapter *sa)
 {
        struct sfc_intr *intr = &sa->intr;
 
@@ -291,7 +295,7 @@ done:
 }
 
 void
-sfc_intr_fini(struct sfc_adapter *sa)
+sfc_intr_close(struct sfc_adapter *sa)
 {
        sfc_log_init(sa, "entry");