]> git.droids-corp.org - dpdk.git/commitdiff
net/dpaa: fix event queue detach
authorGagandeep Singh <g.singh@nxp.com>
Fri, 22 Apr 2022 04:57:29 +0000 (10:27 +0530)
committerFerruh Yigit <ferruh.yigit@xilinx.com>
Tue, 10 May 2022 13:43:09 +0000 (15:43 +0200)
Calling the correct qman queue free APIs to de-attach the queue.

Fixes: 5e7455931442 ("net/dpaa: support Rx queue configurations with eventdev")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/net/dpaa/dpaa_ethdev.c

index bddb3bb15ccc2b9b66817035561ff47bec80edb2..e5a072cf49620db5e4d594e89c57a6411804e7b8 100644 (file)
@@ -1211,23 +1211,17 @@ int
 dpaa_eth_eventq_detach(const struct rte_eth_dev *dev,
                int eth_rx_queue_id)
 {
-       struct qm_mcc_initfq opts;
+       struct qm_mcc_initfq opts = {0};
        int ret;
        u32 flags = 0;
        struct dpaa_if *dpaa_intf = dev->data->dev_private;
        struct qman_fq *rxq = &dpaa_intf->rx_queues[eth_rx_queue_id];
 
-       dpaa_poll_queue_default_config(&opts);
-
-       if (dpaa_intf->cgr_rx) {
-               opts.we_mask |= QM_INITFQ_WE_CGID;
-               opts.fqd.cgid = dpaa_intf->cgr_rx[eth_rx_queue_id].cgrid;
-               opts.fqd.fq_ctrl |= QM_FQCTRL_CGE;
-       }
-
+       qman_retire_fq(rxq, NULL);
+       qman_oos_fq(rxq);
        ret = qman_init_fq(rxq, flags, &opts);
        if (ret) {
-               DPAA_PMD_ERR("init rx fqid %d failed with ret: %d",
+               DPAA_PMD_ERR("detach rx fqid %d failed with ret: %d",
                             rxq->fqid, ret);
        }