Changes between Version 4 and Version 5 of cma_driver
- Timestamp:
- Oct 29, 2014, 12:21:58 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
cma_driver
v4 v5 10 10 The SEG_CMA_BASE address must be defined in the hard_config.h file. 11 11 12 All accesses to CMA registers are done by the two _cma_set_register() and _cma_get_register() low-level functions, that are handling the extended physical addresses.13 The higher level access functions are defined in the [wiki:fbf_driver fbf_driver] and [wiki:nic_driver nic_driver] files.14 15 12 The addressable registers map is defined [source:soft/giet_vm/giet_drivers/cma_driver.h here]. 16 13 … … 21 18 This low_level function returns the value contained in register (index). 22 19 20 === void '''_cma_start_channel'''( unsigned int channel, 21 unsigned long long src_paddr, 22 unsigned int src_nbufs, 23 unsigned long long dst_paddr, 24 unsigned int dst_nbufs, 25 unsigned int buf_length ) === 26 This function activates a chained buffer DMA channel. 27 * channel : CMA channel index. 28 * src_paddr : physical address of the source chbuf. 29 * src_nbufs : number of buffers in the source chbuf. 30 * dst_paddr : physical address of the destination chbuf. 31 * dst_nbufs : number of buffers in the destination chbuf. 32 * buf_length : single buffer length (bytes) 33 * s 34 35 === void '''_cma_stop_channel( unsigned int channel ) 36 This function desactivates a chained buffer DMA channel. 37 * channel : CMA channel index. 38 23 39 === void '''_cma_isr'''( unsigned int irq_type, unsigned int irq_id, unsigned int channel ) === 24 40 This Interrupt Service Routine handles the IRQ generated by a CMA channel.