10.07.2015 Views

Intel 80310 I/O Processor Chipset AAU Coding Techniques

Intel 80310 I/O Processor Chipset AAU Coding Techniques

Intel 80310 I/O Processor Chipset AAU Coding Techniques

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Intel</strong> ® <strong>80310</strong> I/O <strong>Processor</strong> <strong>Chipset</strong> <strong>AAU</strong> <strong>Coding</strong> <strong>Techniques</strong>Low-Level Design Document3.1.6.2.10 static void aau_process(iop310_aau_t *aau);Input:Output:aau – <strong>AAU</strong> device descriptorN/APurpose: This function removes the done descriptor from the processing queue and put them in theholding queue to be processed by the bottom handler later. This function is only calledby the interrupt handler.Operation:• Do while descriptor address != ADAR and queue not empty— Remove from processing queue— Put on holding queue— If IE bit set in ADCR set <strong>AAU</strong>_DONE on chain head descriptor3.1.6.2.11 static void aau_result_handler(void *aau);Input:Output:*aau – <strong>AAU</strong> device descriptorN/APurpose: This function is scheduled by the interrupt handler to finish processing <strong>AAU</strong> descriptorsafter the INT handler is done and exits the interrupt space. It notifies the driverperforming the <strong>AAU</strong> either by waking the driver up when sleeping or use a callbackfunction provided by the driver.Operation:• Do while descriptor status == <strong>AAU</strong>_DONE— Remove descriptor from holding queue— Set status on user SGL— Return descriptor to free stack— If callback function exists• Call callback— Else if sleeping on wait queue• Wake up sleeping process24 White Paper

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!