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 DocumentThe Table 8 data structure describes the <strong>AAU</strong> device. It keeps track of all the variables that arerelated to the <strong>AAU</strong>.Table 8.<strong>AAU</strong> Device Descriptortypedef struct _iop310_aau_t{const char *dev_id; /* Device ID */list_t process_q; /* Processing Q */list_t holding_q; /* Holding Q */spinlock_t lock_pq; /* PQ spinlock */spinlock_t lock_hq; /* HQ spinlock */aau_regs_t *regs; /* <strong>AAU</strong> registers */int irq; /* IRQ number */sw_aau_t *last_aau; /* ptr to last <strong>AAU</strong> disc */struct tq_struct aau_task; /* <strong>AAU</strong> task entry */wait_queue_head_t wait_q; /* <strong>AAU</strong> wait queue */atomic_t ref_count; /* <strong>AAU</strong> Reference count */} iop310_aau_t;The following structures represent the data format applications use to pass data to the <strong>AAU</strong> API.The application creates a SGL header with a SGL pointed to by the header. When no callbackfunction is required, the call_back value must set to NULL. The status field should bezeroed out before being passed down. The end of the list is always marked by the next_sglvariable in the SGL list pointed to NULL.Table 9.User SGL Headerstruct _aau_sgl_head_t{u32 total; /* total SGLs */aau_sgl_t *list; /* Pointer to list head */u32 status; /* SG status */aau_callback_t callback; /* Callback func ptr */} aau_sgl_head_t;14 White Paper

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

Saved successfully!

Ooh no, something went wrong!