liquidio: moved octeon_setup_droq to lio_core.c
authorIntiyaz Basha <intiyaz.basha@cavium.com>
Mon, 14 Aug 2017 19:01:41 +0000 (12:01 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Aug 2017 05:21:40 +0000 (22:21 -0700)
Moving common octeon_setup_droq to lio_core.c

Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_core.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
drivers/net/ethernet/cavium/liquidio/octeon_network.h

index b55ab75a7d9cfb0e0a0678f39fe210e071e74659..90583ce8642ddff174215a029dd0667270b0a311 100644 (file)
@@ -397,3 +397,38 @@ void lio_update_txq_status(struct octeon_device *oct, int iq_num)
                netif_wake_queue(netdev);
        }
 }
+
+/**
+ * \brief Setup output queue
+ * @param oct octeon device
+ * @param q_no which queue
+ * @param num_descs how many descriptors
+ * @param desc_size size of each descriptor
+ * @param app_ctx application context
+ */
+int octeon_setup_droq(struct octeon_device *oct, int q_no, int num_descs,
+                     int desc_size, void *app_ctx)
+{
+       int ret_val;
+
+       dev_dbg(&oct->pci_dev->dev, "Creating Droq: %d\n", q_no);
+       /* droq creation and local register settings. */
+       ret_val = octeon_create_droq(oct, q_no, num_descs, desc_size, app_ctx);
+       if (ret_val < 0)
+               return ret_val;
+
+       if (ret_val == 1) {
+               dev_dbg(&oct->pci_dev->dev, "Using default droq %d\n", q_no);
+               return 0;
+       }
+
+       /* Enable the droq queues */
+       octeon_set_droq_pkt_op(oct, q_no, 1);
+
+       /* Send Credit for Octeon Output queues. Credits are always
+        * sent after the output queue is enabled.
+        */
+       writel(oct->droq[q_no]->max_count, oct->droq[q_no]->pkts_credit_reg);
+
+       return ret_val;
+}
index 01c6985cff6d9d624a657e04d7a084029b76f3c0..02e71184fa4c48842ff02f4818e93d60a0b70e73 100644 (file)
@@ -2198,43 +2198,6 @@ static int load_firmware(struct octeon_device *oct)
        return ret;
 }
 
-/**
- * \brief Setup output queue
- * @param oct octeon device
- * @param q_no which queue
- * @param num_descs how many descriptors
- * @param desc_size size of each descriptor
- * @param app_ctx application context
- */
-static int octeon_setup_droq(struct octeon_device *oct, int q_no, int num_descs,
-                            int desc_size, void *app_ctx)
-{
-       int ret_val = 0;
-
-       dev_dbg(&oct->pci_dev->dev, "Creating Droq: %d\n", q_no);
-       /* droq creation and local register settings. */
-       ret_val = octeon_create_droq(oct, q_no, num_descs, desc_size, app_ctx);
-       if (ret_val < 0)
-               return ret_val;
-
-       if (ret_val == 1) {
-               dev_dbg(&oct->pci_dev->dev, "Using default droq %d\n", q_no);
-               return 0;
-       }
-       /* tasklet creation for the droq */
-
-       /* Enable the droq queues */
-       octeon_set_droq_pkt_op(oct, q_no, 1);
-
-       /* Send Credit for Octeon Output queues. Credits are always
-        * sent after the output queue is enabled.
-        */
-       writel(oct->droq[q_no]->max_count,
-              oct->droq[q_no]->pkts_credit_reg);
-
-       return ret_val;
-}
-
 /**
  * \brief Callback for getting interface configuration
  * @param status status of request
index dd0265a52521b617dfe231a92ffab8c3bf21e807..a6efd75c30bb26389627434f0e98166417630a4f 100644 (file)
@@ -1344,41 +1344,6 @@ static void free_netsgbuf_with_resp(void *buf)
        check_txq_state(lio, skb);
 }
 
-/**
- * \brief Setup output queue
- * @param oct octeon device
- * @param q_no which queue
- * @param num_descs how many descriptors
- * @param desc_size size of each descriptor
- * @param app_ctx application context
- */
-static int octeon_setup_droq(struct octeon_device *oct, int q_no, int num_descs,
-                            int desc_size, void *app_ctx)
-{
-       int ret_val;
-
-       dev_dbg(&oct->pci_dev->dev, "Creating Droq: %d\n", q_no);
-       /* droq creation and local register settings. */
-       ret_val = octeon_create_droq(oct, q_no, num_descs, desc_size, app_ctx);
-       if (ret_val < 0)
-               return ret_val;
-
-       if (ret_val == 1) {
-               dev_dbg(&oct->pci_dev->dev, "Using default droq %d\n", q_no);
-               return 0;
-       }
-
-       /* Enable the droq queues */
-       octeon_set_droq_pkt_op(oct, q_no, 1);
-
-       /* Send Credit for Octeon Output queues. Credits are always
-        * sent after the output queue is enabled.
-        */
-       writel(oct->droq[q_no]->max_count, oct->droq[q_no]->pkts_credit_reg);
-
-       return ret_val;
-}
-
 /**
  * \brief Callback for getting interface configuration
  * @param status status of request
index 0e44ee1d4cb211a7a15832ac875ea6598178afa3..b2bb34dbc900f92267bdef911cd5ffa1cb623014 100644 (file)
@@ -475,4 +475,6 @@ static inline int wait_for_pending_requests(struct octeon_device *oct)
 }
 
 void lio_update_txq_status(struct octeon_device *oct, int iq_num);
+int octeon_setup_droq(struct octeon_device *oct, int q_no, int num_descs,
+                     int desc_size, void *app_ctx);
 #endif