ethdev: decouple from PCI device
[dpdk.git] / drivers / net / enic / enic_ethdev.c
index d380d73..e5ceb98 100644 (file)
@@ -154,7 +154,7 @@ static int enicpmd_dev_setup_intr(struct enic *enic)
                return 0;
        /* check start of packet (SOP) RQs only in case scatter is disabled. */
        for (index = 0; index < enic->rq_count; index++) {
-               if (!enic->rq[enic_sop_rq(index)].ctrl)
+               if (!enic->rq[enic_rte_rq_idx_to_sop_idx(index)].ctrl)
                        break;
        }
        if (enic->rq_count != index)
@@ -277,7 +277,7 @@ static uint32_t enicpmd_dev_rx_queue_count(struct rte_eth_dev *dev,
                return 0;
        }
 
-       rq_num = enic_sop_rq(rx_queue_id);
+       rq_num = enic_rte_rq_idx_to_sop_idx(rx_queue_id);
        cq = &enic->cq[enic_cq_rq(enic, rq_num)];
        cq_idx = cq->to_clean;
 
@@ -313,18 +313,15 @@ static int enicpmd_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
        }
 
        eth_dev->data->rx_queues[queue_idx] =
-               (void *)&enic->rq[enic_sop_rq(queue_idx)];
+               (void *)&enic->rq[enic_rte_rq_idx_to_sop_idx(queue_idx)];
 
-       ret = enic_alloc_rq(enic, queue_idx, socket_id, mp, nb_desc);
+       ret = enic_alloc_rq(enic, queue_idx, socket_id, mp, nb_desc,
+                           rx_conf->rx_free_thresh);
        if (ret) {
                dev_err(enic, "error in allocating rq\n");
                return ret;
        }
 
-       enic->rq[queue_idx].rx_free_thresh = rx_conf->rx_free_thresh;
-       dev_debug(enic, "Set queue_id:%u free thresh:%u\n", queue_idx,
-                       enic->rq[queue_idx].rx_free_thresh);
-
        return enicpmd_dev_setup_intr(enic);
 }
 
@@ -462,12 +459,12 @@ static void enicpmd_dev_info_get(struct rte_eth_dev *eth_dev,
        struct enic *enic = pmd_priv(eth_dev);
 
        ENICPMD_FUNC_TRACE();
+       device_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
        /* Scattered Rx uses two receive queues per rx queue exposed to dpdk */
        device_info->max_rx_queues = enic->conf_rq_count / 2;
        device_info->max_tx_queues = enic->conf_wq_count;
        device_info->min_rx_bufsize = ENIC_MIN_MTU;
-       device_info->max_rx_pktlen = enic->rte_dev->data->mtu
-                                  + ETHER_HDR_LEN + 4;
+       device_info->max_rx_pktlen = enic->max_mtu + ETHER_HDR_LEN + 4;
        device_info->max_mac_addrs = 1;
        device_info->rx_offload_capa =
                DEV_RX_OFFLOAD_VLAN_STRIP |
@@ -625,7 +622,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
        eth_dev->rx_pkt_burst = &enic_recv_pkts;
        eth_dev->tx_pkt_burst = &enic_xmit_pkts;
 
-       pdev = eth_dev->pci_dev;
+       pdev = RTE_DEV_TO_PCI(eth_dev->device);
        rte_eth_copy_pci_info(eth_dev, pdev);
        enic->pdev = pdev;
        addr = &pdev->addr;
@@ -649,3 +646,4 @@ static struct eth_driver rte_enic_pmd = {
 
 RTE_PMD_REGISTER_PCI(net_enic, rte_enic_pmd.pci_drv);
 RTE_PMD_REGISTER_PCI_TABLE(net_enic, pci_id_enic_map);
+RTE_PMD_REGISTER_KMOD_DEP(net_enic, "* igb_uio | uio_pci_generic | vfio");