Message ID | 20231027095102.499914-1-poros@redhat.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] iavf: use iavf_schedule_aq_request() helper | expand |
On 27.10.2023 11:51, Petr Oros wrote: > Use the iavf_schedule_aq_request() helper when we need to > schedule a watchdog task immediately. No functional change. > > Signed-off-by: Petr Oros <poros@redhat.com> > --- Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++------- > drivers/net/ethernet/intel/iavf/iavf_main.c | 15 +++++---------- > 2 files changed, 8 insertions(+), 17 deletions(-) > > diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c > index 90397293525f71..fc8d75a30602cd 100644 > --- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c > +++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c > @@ -1447,10 +1447,9 @@ static int iavf_add_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx > iavf_fdir_list_add_fltr(adapter, fltr); > adapter->fdir_active_fltr++; > fltr->state = IAVF_FDIR_FLTR_ADD_REQUEST; > - adapter->aq_required |= IAVF_FLAG_AQ_ADD_FDIR_FILTER; > spin_unlock_bh(&adapter->fdir_fltr_lock); > > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_FDIR_FILTER); > > ret: > if (err && fltr) > @@ -1481,7 +1480,6 @@ static int iavf_del_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx > if (fltr) { > if (fltr->state == IAVF_FDIR_FLTR_ACTIVE) { > fltr->state = IAVF_FDIR_FLTR_DEL_REQUEST; > - adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER; > } else { > err = -EBUSY; > } > @@ -1491,7 +1489,7 @@ static int iavf_del_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx > spin_unlock_bh(&adapter->fdir_fltr_lock); > > if (fltr && fltr->state == IAVF_FDIR_FLTR_DEL_REQUEST) > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DEL_FDIR_FILTER); > > return err; > } > @@ -1660,7 +1658,6 @@ iavf_set_adv_rss_hash_opt(struct iavf_adapter *adapter, > rss_old->hash_flds = hash_flds; > memcpy(&rss_old->cfg_msg, &rss_new->cfg_msg, > sizeof(rss_new->cfg_msg)); > - adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG; > } else { > err = -EEXIST; > } > @@ -1670,12 +1667,11 @@ iavf_set_adv_rss_hash_opt(struct iavf_adapter *adapter, > rss_new->packet_hdrs = hdrs; > rss_new->hash_flds = hash_flds; > list_add_tail(&rss_new->list, &adapter->adv_rss_list_head); > - adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG; > } > spin_unlock_bh(&adapter->adv_rss_lock); > > if (!err) > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_ADV_RSS_CFG); > > mutex_unlock(&adapter->crit_lock); > > diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c > index b3434dbc90d6fe..7217ba018f6bbf 100644 > --- a/drivers/net/ethernet/intel/iavf/iavf_main.c > +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c > @@ -1060,13 +1060,12 @@ static int iavf_replace_primary_mac(struct iavf_adapter *adapter, > */ > new_f->is_primary = true; > new_f->add = true; > - adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER; > ether_addr_copy(hw->mac.addr, new_mac); > > spin_unlock_bh(&adapter->mac_vlan_list_lock); > > /* schedule the watchdog task to immediately process the request */ > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_MAC_FILTER); > return 0; > } > > @@ -1284,10 +1283,9 @@ static void iavf_up_complete(struct iavf_adapter *adapter) > > iavf_napi_enable_all(adapter); > > - adapter->aq_required |= IAVF_FLAG_AQ_ENABLE_QUEUES; > if (CLIENT_ENABLED(adapter)) > adapter->flags |= IAVF_FLAG_CLIENT_NEEDS_OPEN; > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ENABLE_QUEUES); > } > > /** > @@ -1439,8 +1437,7 @@ void iavf_down(struct iavf_adapter *adapter) > adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; > } > > - adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES; > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DISABLE_QUEUES); > } > > /** > @@ -2340,10 +2337,8 @@ iavf_set_vlan_offload_features(struct iavf_adapter *adapter, > } > } > > - if (aq_required) { > - adapter->aq_required |= aq_required; > - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); > - } > + if (aq_required) > + iavf_schedule_aq_request(adapter, aq_required); > } > > /**
On 10/27/2023 2:51 AM, Petr Oros wrote: > Use the iavf_schedule_aq_request() helper when we need to > schedule a watchdog task immediately. No functional change. > > Signed-off-by: Petr Oros <poros@redhat.com> > --- This does not apply as-is to Intel Wired LAN dev-queue. I have no objection to netdev taking this directly, but if you want this to go through our IWL dev-queue testing, please rebase it and sent it tagged as iwl-next. Thanks, Jake
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c index 90397293525f71..fc8d75a30602cd 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c +++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c @@ -1447,10 +1447,9 @@ static int iavf_add_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx iavf_fdir_list_add_fltr(adapter, fltr); adapter->fdir_active_fltr++; fltr->state = IAVF_FDIR_FLTR_ADD_REQUEST; - adapter->aq_required |= IAVF_FLAG_AQ_ADD_FDIR_FILTER; spin_unlock_bh(&adapter->fdir_fltr_lock); - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_FDIR_FILTER); ret: if (err && fltr) @@ -1481,7 +1480,6 @@ static int iavf_del_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx if (fltr) { if (fltr->state == IAVF_FDIR_FLTR_ACTIVE) { fltr->state = IAVF_FDIR_FLTR_DEL_REQUEST; - adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER; } else { err = -EBUSY; } @@ -1491,7 +1489,7 @@ static int iavf_del_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx spin_unlock_bh(&adapter->fdir_fltr_lock); if (fltr && fltr->state == IAVF_FDIR_FLTR_DEL_REQUEST) - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DEL_FDIR_FILTER); return err; } @@ -1660,7 +1658,6 @@ iavf_set_adv_rss_hash_opt(struct iavf_adapter *adapter, rss_old->hash_flds = hash_flds; memcpy(&rss_old->cfg_msg, &rss_new->cfg_msg, sizeof(rss_new->cfg_msg)); - adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG; } else { err = -EEXIST; } @@ -1670,12 +1667,11 @@ iavf_set_adv_rss_hash_opt(struct iavf_adapter *adapter, rss_new->packet_hdrs = hdrs; rss_new->hash_flds = hash_flds; list_add_tail(&rss_new->list, &adapter->adv_rss_list_head); - adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG; } spin_unlock_bh(&adapter->adv_rss_lock); if (!err) - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_ADV_RSS_CFG); mutex_unlock(&adapter->crit_lock); diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index b3434dbc90d6fe..7217ba018f6bbf 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -1060,13 +1060,12 @@ static int iavf_replace_primary_mac(struct iavf_adapter *adapter, */ new_f->is_primary = true; new_f->add = true; - adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER; ether_addr_copy(hw->mac.addr, new_mac); spin_unlock_bh(&adapter->mac_vlan_list_lock); /* schedule the watchdog task to immediately process the request */ - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_MAC_FILTER); return 0; } @@ -1284,10 +1283,9 @@ static void iavf_up_complete(struct iavf_adapter *adapter) iavf_napi_enable_all(adapter); - adapter->aq_required |= IAVF_FLAG_AQ_ENABLE_QUEUES; if (CLIENT_ENABLED(adapter)) adapter->flags |= IAVF_FLAG_CLIENT_NEEDS_OPEN; - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ENABLE_QUEUES); } /** @@ -1439,8 +1437,7 @@ void iavf_down(struct iavf_adapter *adapter) adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; } - adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES; - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); + iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DISABLE_QUEUES); } /** @@ -2340,10 +2337,8 @@ iavf_set_vlan_offload_features(struct iavf_adapter *adapter, } } - if (aq_required) { - adapter->aq_required |= aq_required; - mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0); - } + if (aq_required) + iavf_schedule_aq_request(adapter, aq_required); } /**
Use the iavf_schedule_aq_request() helper when we need to schedule a watchdog task immediately. No functional change. Signed-off-by: Petr Oros <poros@redhat.com> --- drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 10 +++------- drivers/net/ethernet/intel/iavf/iavf_main.c | 15 +++++---------- 2 files changed, 8 insertions(+), 17 deletions(-)