Adaptec 1737100 Programmer Manual - Page 172
Required Fields
UPC - 760884136362
View all Adaptec 1737100 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 172 highlights
AIC-6915 Ethernet LAN Controller Programmer's Manual 11 RXDESCQUEUE1PTRS (offset E8h): This register contains the consumer and producer indices for the first Receive Buffer Descriptor Queue. Initialization of this register depends on the choice of the receive model - producer-consumer versus polling. Required Fields: - RxDescQ1Consumer = 0: Initialize the consumer index to zero. - RxDescQ1Producer = 0: In the producer-consumer model, initialize the producer index to zero to indicate that the queue is empty. For the polling model, initialize the producer index to any value. The Valid bit in the Receive Buffer descriptor is used to determine buffer availability. 12 RXDESCQUEUE2PTRS (offset ECh): This register contains the consumer and producer indices for the second Receive Buffer Descriptor Queue. It is required only if two queues have been implemented. Initialization of this register depends on the choice of the receive model - producer-consumer versus polling. Required Fields: - RxDescQ2Consumer = 0: Initialize the consumer index to zero. - RxDescQ2Producer = 0: In the producer-consumer model, initialize the producer index to zero to indicate that the queue is empty. For the polling model, initialize the producer index to any value. The Valid bit in the Receive Buffer descriptor is used to determine buffer availability. 13 RXADDRESSFILTERINGCTRL (offset F4h): This register sets frame acceptance criteria. The exact settings depend on the address filtering appropriate for the driver environment. Example: // Receive initialization example // 4 byte Receive Completion Descriptors (type 0) // Single Receive Completion Descriptor Queue // Single Receive Buffer Descriptor Queue // 2048 entries in Receive Buffer Descriptor Queue // Use receive polling model // Perfect address filtering // Allocate memory for RxCompletionQueue1 AIC6915_ALLOC_MEMORY(&Status, &RxCompletionQ, 4 * 1024); // 4 byte descriptor, // 1K fixed size queue // Initialize RxCompletionQueue1Ctrl // set the threshold based on a registry entry RxCompletionQueue1CtrlValue.RxCompletionQ1Threshold = Adapter->RxCompletionQ1Threshold; // use a Type 0 descriptor (one word) RxCompletionQueue1CtrlValue.RxCompletionQ1Type = 0; // software does not write the producer index RxCompletionQueue1CtrlValue.RxCompletionQ1ProducerWe = 0; // use 32-bit addressing for the completion queue RxCompletionQueue1CtrlValue.RxCompletionQ1_64bitAddress = 0; 8-12