12.07.2015 Views

Intel(R) IQ80315 I/O Processor DMA and XOR Library APIs and ...

Intel(R) IQ80315 I/O Processor DMA and XOR Library APIs and ...

Intel(R) IQ80315 I/O Processor DMA and XOR Library APIs and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Contents8.4 Changing from <strong>DMA</strong> to <strong>XOR</strong> Descriptors on the Same Channel ....................................... 288.5 Error H<strong>and</strong>ling..................................................................................................................... 288.6 <strong>DMA</strong>/<strong>XOR</strong> Channel Arbitration for the SFN Port ................................................................ 298.7 GNUPro Toolset Compiler Optimization ............................................................................. 298.8 Reclamation of Descriptors................................................................................................. 298.9 Extending <strong>Library</strong> to Run with Multiple Threads ................................................................. 298.10 When Using Append / Resume Sequence .........................................................................298.11 Append Operation Sequencing........................................................................................... 308.12 <strong>DMA</strong> or <strong>XOR</strong> Descriptors Variables should be Volatile ...................................................... 309.0 Conclusion................................................................................................................................... 31A <strong>Library</strong> Flow Charts..................................................................................................................... 32B <strong>Library</strong> Data Structures............................................................................................................... 41B.1 Descriptor Headers..................................................................................................................... 41B.2 <strong>DMA</strong> Descriptors ........................................................................................................................ 41B.3 <strong>XOR</strong> Descriptors......................................................................................................................... 41B.4 <strong>Intel</strong> ® XScale Microarchitecture Page Tables<strong>and</strong> <strong>Library</strong> Memory Map (xscale.h) ........................................................................................... 43C <strong>DMA</strong><strong>XOR</strong>80314.h ......................................................................................................................... 44D dmaxor_desc_mgr.h ................................................................................................................... 64E <strong>Library</strong> Function Prototypes ...................................................................................................... 69E.1 Functions Included in xscale.h <strong>and</strong> xscale.c .............................................................................. 69E.1.1 void lib_flush_data_cache(void) .................................................................................... 69E.1.2 int lib_memmap_malloc(int dma_desc_Mbs,int <strong>XOR</strong>_desc_Mbs, int data_Mbs)................................................................................ 69E.1.3 void lib_set_xcb_mem_range(unsigned int xcb,void * virt_addr_base, int size_in_bytes) ....................................................................... 69E.1.4 Page_Type lib_get_page_attributes(unsigned long virt_addr) ...................................... 70E.1.5 Page_Type lib_set_page_xcb(unsigned long base,unsigned int xcb) ........................................................................................................... 70E.2 Functions included in dmaxor_desc_mgr.h<strong>and</strong> dmaxor_desc_mgr.c ............................................................................................................71E.2.1 XorDma_80314_Type * lib_new_mgr(void)................................................................... 71E.2.2 int lib_buffersize(void)....................................................................................................71E.2.3 void lib_init(XorDma_80314_Type * mgrt,void * desc_baseaddr)...................................................................................................72E.2.4 void lib_free_mgr(XorDma_80314_Type * mgr) ............................................................72E.2.5 void * lib_stack_pop(XorDma_80314_Type * mgr,enum CHANNEL channel)............................................................................................. 72E.2.6 Bool lib_stack_push(XorDma_80314_Type * mgr,E.2.7void * frame, enum CHANNEL channel)........................................................................ 73void * lib_top_of_stack(XorDma_80314_Type * mgr,enum CHANNEL channel)............................................................................................. 73E.2.8 inline int ............... lib_postq_appnd_resume_sdram(XorDma_80314_Type * mgr, void *frame,enum PORT port,enum GCSR_OP_CMD cmd,unsigned int gcsr,enum CHANNELchannel)74E.2.9int lib_reclaim(XorDma_80314_Type * mgr,enum CHANNEL channel)............................................................................................. 744 <strong>APIs</strong> <strong>and</strong> Testbench White Paper

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

Saved successfully!

Ooh no, something went wrong!