Adaptec 1737100 Programmer Manual - Page 181
Transmit Initialization
UPC - 760884136362
View all Adaptec 1737100 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 181 highlights
Sample Driver Transmit Initialization The AIC-6915 provides a set of registers which must be initialized in preparation for transmitting packets. These registers and the fields which must be initialized in the driver are summarized below. Register bits which are not explicitly described here may be left at the default reset value. The developer must determine if these default values need to be modified for the driver under development. These registers may be initialized in any order. Refer to Chapter 7 for more detailed information on these registers. 1 TXDESCQUEUECTRL (offset 90h): This register provides information about the Transmit Buffer Descriptor Queue. This includes the descriptor type. Required Fields: - SkipLength: The driver may specify a field for software usage at the beginning of each Transmit Buffer. This length must be a multiple of 8 bytes. The driver may store any information in this field. It is most useful for storing data provided when the operating system first initiated the transmit, so that this information may be referenced when the transmit resources are returned to the operating system. This field is optional and may be set to zero. - TxDescQueue64bitAddr = 0: This should be set to 0 for all 32-bit driver environments. - TxDescType: This field designates the Transmit Buffer Descriptor Type. Four choices are available. The operating system environment usually dictates the choice of descriptor. 2 HIPRTXDESCQUEUEBASEADDR (offset 94h): This register initializes the address of the high priority Transmit Buffer Descriptor Queue. If only one queue is implemented, it may be either the low or high priority queue. In this case, there is no difference between the queues. Note that there is only one Transmit Completion Descriptor Queue. Required Fields: - HighPriorityTxDescQueueBaseAddress: This field contains the high 24 bits of the buffer address, as allocated from the operating system. If the only queue used is the low priority queue, this register need not be initialized. 3 LOPRTXDESCQUEUEBASEADDR (offset 98h): This register initializes the address of the low priority Transmit Buffer Descriptor Queue. In this case, there is no difference between the queues. Required Fields: - LowPriorityTxDescQueuebaseAddress: This field contains the high 24 bits of the buffer address, as allocated from the operating system. If the only queue used is the high priority queue, this register need not be initialized. 4 TXDESCQUEUEHIGHADDR (offset 9Ch): This register contains the high 32 bits of the Transmit Buffer Descriptor Queue when using 64-bit addressing. It applies to both the low and high priority queues. Required Fields: - TXDESCQUEUEHIGHADDR = 0: In most operating system environments, this value is set to zero. 8-21