aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/igb_main.c
diff options
context:
space:
mode:
authorJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>2018-07-03 18:42:57 -0400
committerDavid S. Miller <davem@davemloft.net>2018-07-04 09:30:28 -0400
commit8080e6ab4e99216f414c5c314264fd7cf3b6e4c1 (patch)
tree8eecd33df0df865afc8e818f061f75eeed0641bf /drivers/net/ethernet/intel/igb/igb_main.c
parent0364a0d0e7a124e7c821cc536a95f7ef421349cb (diff)
igb: Refactor igb_offload_cbs()
Split code into a separate function (igb_offload_apply()) that will be used by ETF offload implementation. Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_main.c')
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 8c90f1e51add..c30ab7b260cc 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2474,6 +2474,19 @@ igb_features_check(struct sk_buff *skb, struct net_device *dev,
2474 return features; 2474 return features;
2475} 2475}
2476 2476
2477static void igb_offload_apply(struct igb_adapter *adapter, s32 queue)
2478{
2479 if (!is_fqtss_enabled(adapter)) {
2480 enable_fqtss(adapter, true);
2481 return;
2482 }
2483
2484 igb_config_tx_modes(adapter, queue);
2485
2486 if (!is_any_cbs_enabled(adapter))
2487 enable_fqtss(adapter, false);
2488}
2489
2477static int igb_offload_cbs(struct igb_adapter *adapter, 2490static int igb_offload_cbs(struct igb_adapter *adapter,
2478 struct tc_cbs_qopt_offload *qopt) 2491 struct tc_cbs_qopt_offload *qopt)
2479{ 2492{
@@ -2494,15 +2507,7 @@ static int igb_offload_cbs(struct igb_adapter *adapter,
2494 if (err) 2507 if (err)
2495 return err; 2508 return err;
2496 2509
2497 if (is_fqtss_enabled(adapter)) { 2510 igb_offload_apply(adapter, qopt->queue);
2498 igb_config_tx_modes(adapter, qopt->queue);
2499
2500 if (!is_any_cbs_enabled(adapter))
2501 enable_fqtss(adapter, false);
2502
2503 } else {
2504 enable_fqtss(adapter, true);
2505 }
2506 2511
2507 return 0; 2512 return 0;
2508} 2513}