aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/s2io.h
diff options
context:
space:
mode:
authorSivakumar Subramani <sivakumar.subramani@neterion.com>2007-09-15 17:24:03 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:51:10 -0400
commit596c5c97431eab8465739c169401ea611127b9ad (patch)
tree97e1316dc08c452104631c25eb879ba496181e13 /drivers/net/s2io.h
parent92b84437a6cddf5dc00ab179e38d2baa2264d46a (diff)
S2io: code Optimization of isr function
- Code Optimization of s2io_isr function. - Isr check using per device napi variable instead of driver global. - Reduced from 3 to 1 if condition before check for processing packet receive packets. - Implemented Jeff's comment to use synchronize_irq. Removed the isr_cnt variable as it became redundant. - One time de assert the interrupts by writing all F's to the general_int_mask register instead of de asserting by clearing the source of interrupts with multiple writes which causes loss of interrupts (race conditions). It is entirely possible that before the driver has a chance to mask the asserted alarm bit, another alarm/traffic interrupt bit gets asserted as well. In this case Herc will keep the INTA line asserted and the bridge will not send a new Assert_INTA message upstream. [ Resolved conflicts due to napi_struct changes... -DaveM ] Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r--drivers/net/s2io.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index 33e812ea7d1..1a70cf02c91 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -911,7 +911,6 @@ struct s2io_nic {
911 u16 lro_max_aggr_per_sess; 911 u16 lro_max_aggr_per_sess;
912 volatile unsigned long state; 912 volatile unsigned long state;
913 spinlock_t rx_lock; 913 spinlock_t rx_lock;
914 atomic_t isr_cnt;
915 u64 general_int_mask; 914 u64 general_int_mask;
916 u64 *ufo_in_band_v; 915 u64 *ufo_in_band_v;
917#define VPD_STRING_LEN 80 916#define VPD_STRING_LEN 80