interrupt coalescing / polling

Donald Becker becker@cesdis1.gsfc.nasa.gov
Fri Feb 26 19:34:20 1999


On Fri, 26 Feb 1999, John Plevyak wrote:
> On Fri, Feb 26, 1999 at 02:48:41AM -0500, Donald Becker wrote:
> > On Thu, 25 Feb 1999, John Plevyak wrote:
> > Unlike most chips the EEPro100 has only a global interrupt mask, not
> > individual interrupt enables.  You would have to turn off the interrupt bits
> > on the receive descriptor list.

Ooops, I was wro.. wron.. wr.. wrr..  ..your understanding of my statement was
limited ;->
Specific interrupts, including the RxDone interrupt, on the Speedo3
(EEPro100B chip) can be masked.
There is an Rx indication for every received frame.
  (Definition: "Indication" means "will generate an interrupt if not masked")

/* Current, bits defined in the driver.*/
________________
#define INT_MASK	0x0100
#define DRVR_INT	0x0200		/* Driver generated interrupt. */
________________

/* The full list, which I'll add to the driver RSN. */
________________
enum SCBCmdBits {
     SCBMaskCmdDone=0x8000, SCBMaskRxDone=0x4000, SCBMaskCmdIdle=0x2000,
     SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=0x0800, SCBMaskFlowCtl=0x0400,
     SCBTriggerIntr=0x0200, SCBMaskAll=0x0100,
     /* The rest are Rx and Tx commands. */
     CUStart=0x0010, CUResume=0x0020, CUStatsAddr=0x0040, CUShowStats=0x0050,
     CUCmdBase=0x0060,	/* CU Base address (set to zero) . */
     CUDumpStats=0x0070, /* Dump then reset stats counters. */
     RxStart=0x0001, RxResume=0x0002, RxAbort=0x0004, RxAddrLoad=0x0006,
     RxResumeNoResources=0x0007,
};
________________

Note that the only the upper four interrupt masks bits match the SCBStatus
bits!!!


Donald Becker					  becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center,  Greenbelt, MD.  20771
301-286-0882	     http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html