net/iavf: fix queue interrupt for ice
authorWei Zhao <wei.zhao1@intel.com>
Thu, 18 Apr 2019 04:58:15 +0000 (12:58 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 19 Apr 2019 12:51:54 +0000 (14:51 +0200)
Enable CLEARPBA bit is required by ice NIC of A0/A1 version to
enable Tx and Rx queue interrupt.
Also enable CLEARPBA bit does no impact on IAVF behaviour when be
hosted by other devices, so we can make it as default.

Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/iavf/iavf_ethdev.c

index 7825cbc..7a0696e 100644 (file)
@@ -1014,11 +1014,13 @@ iavf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
                PMD_DRV_LOG(INFO, "MISC is also enabled for control");
                IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
                              IAVFINT_DYN_CTL01_INTENA_MASK |
+                             IAVFINT_DYN_CTL01_CLEARPBA_MASK |
                              IAVFINT_DYN_CTL01_ITR_INDX_MASK);
        } else {
                IAVF_WRITE_REG(hw,
                              IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
                              IAVFINT_DYN_CTLN1_INTENA_MASK |
+                             IAVFINT_DYN_CTL01_CLEARPBA_MASK |
                              IAVFINT_DYN_CTLN1_ITR_INDX_MASK);
        }