From: Jacob Keller <jacob.e.kel...@intel.com>

A future patch needs to expand on the logic for re-enabling ATR. Doing
so would cause some code to break the 80-character line limit.

To reduce the level of indentation, factor out helper functions for
re-enabling ATR and SB rules.

Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 48 +++++++++++++++++++----------
 1 file changed, 32 insertions(+), 16 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c 
b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 848c8f1acbbf..beb854208047 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -8135,6 +8135,34 @@ u32 i40e_get_global_fd_count(struct i40e_pf *pf)
        return fcnt_prog;
 }
 
+/**
+ * i40e_reenable_fdir_sb - Restore FDir SB capability
+ * @pf: board private structure
+ **/
+static void i40e_reenable_fdir_sb(struct i40e_pf *pf)
+{
+       if (pf->flags & I40E_FLAG_FD_SB_AUTO_DISABLED) {
+               pf->flags &= ~I40E_FLAG_FD_SB_AUTO_DISABLED;
+               if ((pf->flags & I40E_FLAG_FD_SB_ENABLED) &&
+                   (I40E_DEBUG_FD & pf->hw.debug_mask))
+                       dev_info(&pf->pdev->dev, "FD Sideband/ntuple is being 
enabled since we have space in the table now\n");
+       }
+}
+
+/**
+ * i40e_reenable_fdir_atr - Restore FDir ATR capability
+ * @pf: board private structure
+ **/
+static void i40e_reenable_fdir_atr(struct i40e_pf *pf)
+{
+       if (pf->flags & I40E_FLAG_FD_ATR_AUTO_DISABLED) {
+               pf->flags &= ~I40E_FLAG_FD_ATR_AUTO_DISABLED;
+               if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
+                   (I40E_DEBUG_FD & pf->hw.debug_mask))
+                       dev_info(&pf->pdev->dev, "ATR is being enabled since we 
have space in the table and there are no conflicting ntuple rules\n");
+       }
+}
+
 /**
  * i40e_delete_invalid_filter - Delete an invalid FDIR filter
  * @pf: board private structure
@@ -8198,28 +8226,16 @@ void i40e_fdir_check_and_reenable(struct i40e_pf *pf)
        fcnt_avail = pf->fdir_pf_filter_count;
        if ((fcnt_prog < (fcnt_avail - I40E_FDIR_BUFFER_HEAD_ROOM)) ||
            (pf->fd_add_err == 0) ||
-           (i40e_get_current_atr_cnt(pf) < pf->fd_atr_cnt)) {
-               if (pf->flags & I40E_FLAG_FD_SB_AUTO_DISABLED) {
-                       pf->flags &= ~I40E_FLAG_FD_SB_AUTO_DISABLED;
-                       if ((pf->flags & I40E_FLAG_FD_SB_ENABLED) &&
-                           (I40E_DEBUG_FD & pf->hw.debug_mask))
-                               dev_info(&pf->pdev->dev, "FD Sideband/ntuple is 
being enabled since we have space in the table now\n");
-               }
-       }
+           (i40e_get_current_atr_cnt(pf) < pf->fd_atr_cnt))
+               i40e_reenable_fdir_sb(pf);
 
        /* We should wait for even more space before re-enabling ATR.
         * Additionally, we cannot enable ATR as long as we still have TCP SB
         * rules active.
         */
        if ((fcnt_prog < (fcnt_avail - I40E_FDIR_BUFFER_HEAD_ROOM_FOR_ATR)) &&
-           (pf->fd_tcp4_filter_cnt == 0)) {
-               if (pf->flags & I40E_FLAG_FD_ATR_AUTO_DISABLED) {
-                       pf->flags &= ~I40E_FLAG_FD_ATR_AUTO_DISABLED;
-                       if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
-                           (I40E_DEBUG_FD & pf->hw.debug_mask))
-                               dev_info(&pf->pdev->dev, "ATR is being enabled 
since we have space in the table and there are no conflicting ntuple rules\n");
-               }
-       }
+           (pf->fd_tcp4_filter_cnt == 0))
+               i40e_reenable_fdir_atr(pf);
 
        /* if hw had a problem adding a filter, delete it */
        if (pf->fd_inv > 0) {
-- 
2.14.3

Reply via email to