Changes between Version 4 and Version 5 of cma_driver


Ignore:
Timestamp:
Oct 29, 2014, 12:21:58 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • cma_driver

    v4 v5  
    1010The SEG_CMA_BASE address must be defined in the hard_config.h file.
    1111
    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 
    1512The addressable registers map is defined [source:soft/giet_vm/giet_drivers/cma_driver.h here].
    1613
     
    2118This low_level function returns the value contained in register (index).
    2219
     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 ) ===
     26This 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 )
     36This function desactivates a chained buffer DMA channel.
     37 * channel : CMA channel index.
     38
    2339 === void '''_cma_isr'''( unsigned int irq_type,  unsigned int irq_id,  unsigned int channel ) ===
    2440This Interrupt Service Routine handles the IRQ generated by a CMA channel.