ethdev: free all common data when releasing port
[dpdk.git] / drivers / net / dpaa / dpaa_ethdev.c
index c3546f9..d0572b3 100644 (file)
@@ -617,9 +617,9 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
                fman_if_set_bp(dpaa_intf->fif, mp->size,
                               dpaa_intf->bp_info->bpid, bp_size);
                dpaa_intf->valid = 1;
-               DPAA_PMD_INFO("if =%s - fd_offset = %d offset = %d",
-                           dpaa_intf->name, fd_offset,
-                       fman_if_get_fdoff(dpaa_intf->fif));
+               DPAA_PMD_DEBUG("if:%s fd_offset = %d offset = %d",
+                               dpaa_intf->name, fd_offset,
+                               fman_if_get_fdoff(dpaa_intf->fif));
        }
        DPAA_PMD_DEBUG("if:%s sg_on = %d, max_frm =%d", dpaa_intf->name,
                fman_if_get_sg_enable(dpaa_intf->fif),
@@ -661,8 +661,13 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
                                "ret:%d(%s)", rxq->fqid, ret, strerror(ret));
                        return ret;
                }
-               rxq->cb.dqrr_dpdk_pull_cb = dpaa_rx_cb;
-               rxq->cb.dqrr_prepare = dpaa_rx_cb_prepare;
+               if (dpaa_svr_family == SVR_LS1043A_FAMILY) {
+                       rxq->cb.dqrr_dpdk_pull_cb = dpaa_rx_cb_no_prefetch;
+               } else {
+                       rxq->cb.dqrr_dpdk_pull_cb = dpaa_rx_cb;
+                       rxq->cb.dqrr_prepare = dpaa_rx_cb_prepare;
+               }
+
                rxq->is_static = true;
        }
        dev->data->rx_queues[queue_idx] = rxq;
@@ -697,7 +702,8 @@ dpaa_eth_eventq_attach(const struct rte_eth_dev *dev,
        struct qm_mcc_initfq opts = {0};
 
        if (dpaa_push_mode_max_queue)
-               DPAA_PMD_WARN("PUSH mode already enabled for first %d queues.\n"
+               DPAA_PMD_WARN("PUSH mode q and EVENTDEV are not compatible\n"
+                             "PUSH mode already enabled for first %d queues.\n"
                              "To disable set DPAA_PUSH_QUEUES_NUMBER to 0\n",
                              dpaa_push_mode_max_queue);
 
@@ -1433,10 +1439,6 @@ dpaa_dev_uninit(struct rte_eth_dev *dev)
        rte_free(dpaa_intf->tx_queues);
        dpaa_intf->tx_queues = NULL;
 
-       /* free memory for storing MAC addresses */
-       rte_free(dev->data->mac_addrs);
-       dev->data->mac_addrs = NULL;
-
        dev->dev_ops = NULL;
        dev->rx_pkt_burst = NULL;
        dev->tx_pkt_burst = NULL;
@@ -1538,9 +1540,6 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
                return 0;
        }
 
-       if (rte_eal_process_type() == RTE_PROC_PRIMARY)
-               rte_free(eth_dev->data->dev_private);
-
        rte_eth_dev_release_port(eth_dev);
        return diag;
 }
@@ -1555,9 +1554,6 @@ rte_dpaa_remove(struct rte_dpaa_device *dpaa_dev)
        eth_dev = dpaa_dev->eth_dev;
        dpaa_dev_uninit(eth_dev);
 
-       if (rte_eal_process_type() == RTE_PROC_PRIMARY)
-               rte_free(eth_dev->data->dev_private);
-
        rte_eth_dev_release_port(eth_dev);
 
        return 0;