summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChas Williams <chas@cmf.nrl.navy.mil>2004-04-25 07:35:58 -0700
committerStephen Hemminger <shemminger@osdl.org>2004-04-25 07:35:58 -0700
commitfa58cfcf4bb82b9d29c9ea5d0c8c581f4f6b0719 (patch)
treef6a5b81427a8192e8cda7010ec795ee96003b349
parent9ed124a318f54902a208dc8660c55ed4b2ea36f8 (diff)
[ATM]: [fore200e] make use tasklet configurable
-rw-r--r--drivers/atm/Kconfig9
-rw-r--r--drivers/atm/fore200e.c4
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/atm/Kconfig b/drivers/atm/Kconfig
index da82a166c837..489de81ea609 100644
--- a/drivers/atm/Kconfig
+++ b/drivers/atm/Kconfig
@@ -385,6 +385,15 @@ config ATM_FORE200E_SBA_FW
not have to supply an alternative one. They just say Y to "Use
default SBA-200E firmware", above.
+config ATM_FORE200E_USE_TASKLET
+ bool "Defer interrupt work to a tasklet"
+ depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
+ default n
+ help
+ This defers work to be done by the interrupt handler to a
+ tasklet instead of hanlding everything at interrupt time. This
+ may improve the responsive of the host.
+
config ATM_FORE200E_TX_RETRY
int "Maximum number of tx retries"
depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 0918442b2ced..c41bbe20c569 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -55,7 +55,7 @@
#include <asm/pgtable.h>
#endif
-#if 0 /* defer interrupt work to a tasklet */
+#if defined(CONFIG_ATM_FORE200E_USE_TASKLET) /* defer interrupt work to a tasklet */
#define FORE200E_USE_TASKLET
#endif
@@ -1354,6 +1354,7 @@ fore200e_rx_irq(struct fore200e* fore200e)
}
+#ifndef FORE200E_USE_TASKLET
static void
fore200e_irq(struct fore200e* fore200e)
{
@@ -1367,6 +1368,7 @@ fore200e_irq(struct fore200e* fore200e)
fore200e_tx_irq(fore200e);
spin_unlock_irqrestore(&fore200e->q_lock, flags);
}
+#endif
static irqreturn_t