Tweak the set of coalesced interrupts
dev/ns_gige.cc: clean up usage of ISR_FOO macros dev/ns_gige_reg.h: Clean up #defines make ISR_RXIDLE and ISR_TXIDLE coalesced --HG-- extra : convert_revision : fd64fc6a441d096fc45737fdcb837de8868ca10a
This commit is contained in:
parent
b1a1566818
commit
e1c61e5b2f
2 changed files with 9 additions and 7 deletions
|
@ -1211,7 +1211,7 @@ NSGigE::devIntrPost(uint32_t interrupts)
|
|||
if (interrupts & ISR_NOIMPL)
|
||||
warn("interrupt not implemented %#x\n", interrupts);
|
||||
|
||||
interrupts &= ~ISR_NOIMPL;
|
||||
interrupts &= ISR_IMPL;
|
||||
regs.isr |= interrupts;
|
||||
|
||||
if (interrupts & regs.imr) {
|
||||
|
@ -1247,7 +1247,7 @@ NSGigE::devIntrPost(uint32_t interrupts)
|
|||
|
||||
if ((regs.isr & regs.imr)) {
|
||||
Tick when = curTick;
|
||||
if (!(regs.isr & regs.imr & ISR_NODELAY))
|
||||
if ((regs.isr & regs.imr & ISR_NODELAY) == 0)
|
||||
when += intrDelay;
|
||||
cpuIntrPost(when);
|
||||
}
|
||||
|
@ -1289,8 +1289,7 @@ NSGigE::devIntrClear(uint32_t interrupts)
|
|||
postedRxOrn++;
|
||||
}
|
||||
|
||||
if (regs.isr & regs.imr & (ISR_SWI | ISR_RXIDLE | ISR_RXOK | ISR_RXDESC |
|
||||
ISR_TXOK | ISR_TXIDLE | ISR_TXDESC | ISR_RXORN) )
|
||||
if (regs.isr & regs.imr & ISR_IMPL)
|
||||
postedInterrupts++;
|
||||
|
||||
interrupts &= ~ISR_NOIMPL;
|
||||
|
|
|
@ -171,9 +171,12 @@
|
|||
#define ISR_RXDESC 0x00000002
|
||||
#define ISR_RXOK 0x00000001
|
||||
#define ISR_ALL 0x7FFFFFFF
|
||||
#define ISR_NODELAY (ISR_ALL & ~(ISR_RXOK|ISR_RXDESC|ISR_TXOK|ISR_TXDESC))
|
||||
#define ISR_NOIMPL (~(ISR_SWI|ISR_TXIDLE|ISR_TXDESC|ISR_TXOK|ISR_RXORN| \
|
||||
ISR_RXIDLE|ISR_RXDESC|ISR_RXOK))
|
||||
#define ISR_DELAY (ISR_TXIDLE|ISR_TXDESC|ISR_TXOK| \
|
||||
ISR_RXIDLE|ISR_RXDESC|ISR_RXOK)
|
||||
#define ISR_NODELAY (ISR_ALL & ~ISR_DELAY)
|
||||
#define ISR_IMPL (ISR_SWI|ISR_TXIDLE|ISR_TXDESC|ISR_TXOK|ISR_RXORN| \
|
||||
ISR_RXIDLE|ISR_RXDESC|ISR_RXOK)
|
||||
#define ISR_NOIMPL (ISR_ALL & ~ISR_IMPL)
|
||||
|
||||
/* transmit configuration register */
|
||||
#define TX_CFG_CSI 0x80000000
|
||||
|
|
Loading…
Reference in a new issue