Texas Instruments TNETE110A Network Card User Manual


 
Interrupt Type Codes
4-7
Interrupt Handling
4.4 Interrupt Type Codes
The following subsections define specific interrupt codes which may occur
during ThunderLAN operation. It describes the conditions that result from the
occurrence of interrupts, and corrective actions to overcome these conditions.
4.4.1 No Interrupt (Invalid Code). Int_type = 000b
This condition occurs when the driver detects an interrupt, but ThunderLAN
did not cause this interrupt. This indicates a hardware error that is caused by
other hardware. The driver can be configured to ignore this interrupt and not
acknowledge it. An error counter may be used for such occurrences.
4.4.2 Tx EOF Interrupt. Int_type = 001b
Tx EOF and Tx EOC interrupt handling depends on the Tx interrupt threshold
used. The interrupt threshold counter is part of Texas Instruments Adaptive
Performance Optimization (APO) algorithm. More information on APO can
be found in the
ThunderLAN Adaptive Performance Utilization Technical Brief
(TI literature number SPWT089). There are two main options described below.
In the first option, the interrupt threshold is set to a nonzero number. Thunder-
LAN does not interrupt until it has encountered the number of Tx EOFs given
to it by the Ack_Count register. In this way, the host is able to acknowledge mul-
tiple Tx EOFs in a single interrupt call. The host must count the number of
frames it has transmitted by counting the frames with the Frm_Cmp bit set in
the CSTAT field and must use this number in the Ack_Count field while ac-
knowledging.
A special case of this first option is when the interrupt threshold is set to a value
of 1. This gives an interrupt for each Tx EOF encountered (one frame = one
Tx EOF = one interrupt). In this case, ThunderLAN interrupts the host each
time it transmits a frame. The host must then acknowledge this interrupt by
writing an acknowledge count of 1 to HOST_CMD with the appropriate bits set.
Depending on the application, a continuous transmit channel may not be feasi-
ble. In other words, there may not be enough frames to create a continuous
transmit list, and the adapter issues a Tx EOF and a Tx EOC for every frame
transmitted (one frame = one Tx EOF + one Tx EOC = two interrupts). A Tx
GO command must be executed each time a frame is transmitted, as the Tx
channel has been stopped by ThunderLAN (as evidenced by the Tx EOC).
This condition can be avoided by loading the interrupt threshold with a 0. Doing
this disables all Tx EOFs. ThunderLAN only interrupts the host for Tx EOCs
(one frame = one Tx EOC = one interrupt). This simplifies the driver, since it
only has to acknowledge one interrupt per frame.