sfc: EFX_WORKAROUND_ALWAYS is really specific to Falcon-architecture
The workarounds that currently use EFX_WORKAROUND_ALWAYS are in Falcon-specific or Falcon-arch-specific code, so get rid of the conditions altogether. Add/move comments as appropriate. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
@@ -830,8 +830,7 @@ efx_farch_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
|
||||
netif_tx_lock(efx->net_dev);
|
||||
efx_farch_notify_tx_desc(tx_queue);
|
||||
netif_tx_unlock(efx->net_dev);
|
||||
} else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_PKT_ERR) &&
|
||||
EFX_WORKAROUND_10727(efx)) {
|
||||
} else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_PKT_ERR)) {
|
||||
efx_schedule_reset(efx, RESET_TYPE_TX_DESC_FETCH);
|
||||
} else {
|
||||
netif_err(efx, tx_err, efx->net_dev,
|
||||
@@ -1531,8 +1530,7 @@ irqreturn_t efx_farch_legacy_interrupt(int irq, void *dev_id)
|
||||
}
|
||||
|
||||
if (queues != 0) {
|
||||
if (EFX_WORKAROUND_15783(efx))
|
||||
efx->irq_zero_count = 0;
|
||||
efx->irq_zero_count = 0;
|
||||
|
||||
/* Schedule processing of any interrupting queues */
|
||||
if (likely(soft_enabled)) {
|
||||
@@ -1544,9 +1542,11 @@ irqreturn_t efx_farch_legacy_interrupt(int irq, void *dev_id)
|
||||
}
|
||||
result = IRQ_HANDLED;
|
||||
|
||||
} else if (EFX_WORKAROUND_15783(efx)) {
|
||||
} else {
|
||||
efx_qword_t *event;
|
||||
|
||||
/* Legacy ISR read can return zero once (SF bug 15783) */
|
||||
|
||||
/* We can't return IRQ_HANDLED more than once on seeing ISR=0
|
||||
* because this might be a shared interrupt. */
|
||||
if (efx->irq_zero_count++ == 0)
|
||||
|
Reference in New Issue
Block a user