net: ena: enable Low Latency Queues
authorArthur Kiyanovski <akiyano@amazon.com>
Wed, 17 Oct 2018 12:33:23 +0000 (15:33 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Oct 2018 05:30:41 +0000 (22:30 -0700)
Use the new API to enable usage of LLQ.

Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_netdev.c

index 284a0a6..18956e7 100644 (file)
@@ -3022,20 +3022,10 @@ static int ena_calc_io_queue_num(struct pci_dev *pdev,
        int io_sq_num, io_queue_num;
 
        /* In case of LLQ use the llq number in the get feature cmd */
-       if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
-               io_sq_num = get_feat_ctx->max_queues.max_legacy_llq_num;
-
-               if (io_sq_num == 0) {
-                       dev_err(&pdev->dev,
-                               "Trying to use LLQ but llq_num is 0. Fall back into regular queues\n");
-
-                       ena_dev->tx_mem_queue_type =
-                               ENA_ADMIN_PLACEMENT_POLICY_HOST;
-                       io_sq_num = get_feat_ctx->max_queues.max_sq_num;
-               }
-       } else {
+       if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
+               io_sq_num = get_feat_ctx->llq.max_llq_num;
+       else
                io_sq_num = get_feat_ctx->max_queues.max_sq_num;
-       }
 
        io_queue_num = min_t(int, num_online_cpus(), ENA_MAX_NUM_IO_QUEUES);
        io_queue_num = min_t(int, io_queue_num, io_sq_num);
@@ -3238,7 +3228,7 @@ static int ena_calc_queue_size(struct pci_dev *pdev,
 
        if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
                queue_size = min_t(u32, queue_size,
-                                  get_feat_ctx->max_queues.max_legacy_llq_depth);
+                                  get_feat_ctx->llq.max_llq_depth);
 
        queue_size = rounddown_pow_of_two(queue_size);