summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/natsemi.c
diff options
context:
space:
mode:
authorUdayan Kumar2007-07-04 01:29:31 +0200
committerUdayan Kumar2007-07-15 03:08:05 +0200
commit0d4ecfa63c70e77e1755d490d3caa61e3453bf07 (patch)
treea058ba1aa53b11ed11e52723c56085072bb895c7 /src/drivers/net/natsemi.c
parentadded change log to natsemi.c (diff)
downloadipxe-0d4ecfa63c70e77e1755d490d3caa61e3453bf07.tar.gz
ipxe-0d4ecfa63c70e77e1755d490d3caa61e3453bf07.tar.xz
ipxe-0d4ecfa63c70e77e1755d490d3caa61e3453bf07.zip
enabled interrupt in natsemi.c
Diffstat (limited to 'src/drivers/net/natsemi.c')
-rw-r--r--src/drivers/net/natsemi.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c
index d658bb6a..67c18b8e 100644
--- a/src/drivers/net/natsemi.c
+++ b/src/drivers/net/natsemi.c
@@ -200,6 +200,14 @@ enum desc_status_bits {
RxTooLong = 0x00400000
};
+/*Bits in Interrupt Mask register */
+
+enum Intr_mask_register_bits {
+ RxOk = 0x001,
+ RxErr = 0x004,
+ TxOk = 0x040,
+ TxErr = 0x100
+};
/* EEPROM access , values are devices specific*/
@@ -407,6 +415,12 @@ static int nat_open ( struct net_device *netdev ) {
/*start the receiver */
outl(RxOn, nat->ioaddr + ChipCmd);
+ /*enable interrupts*/
+ outl((RxOk|RxErr|TxOk|TxErr),nat->ioaddr + IntrMask);
+ outl(1,nat->ioaddr +IntrEnable);
+
+
+
return 0;
}
@@ -430,6 +444,8 @@ static void nat_close ( struct net_device *netdev ) {
free_iob( nat->iobuf[i] );
}
+ /* disable interrupts */
+ outl(0,nat->ioaddr +IntrEnable);
}
/**