diff options
author | Nathan Binkert <binkertn@umich.edu> | 2005-09-18 21:22:57 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2005-09-18 21:22:57 -0400 |
commit | e1c61e5b2f041b5b0a48ae2ba146d537757d5e01 (patch) | |
tree | f4a38b81428073b04e85a9f5dc31a9859ce38c7c /dev/ns_gige.cc | |
parent | b1a1566818777acde37ae3dbf5ffea9ddca2d4a0 (diff) | |
download | gem5-e1c61e5b2f041b5b0a48ae2ba146d537757d5e01.tar.xz |
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
Diffstat (limited to 'dev/ns_gige.cc')
-rw-r--r-- | dev/ns_gige.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc index d93e155bf..6aae7b9eb 100644 --- a/dev/ns_gige.cc +++ b/dev/ns_gige.cc @@ -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; |