Changes between Initial Version and Version 1 of cma_driver


Ignore:
Timestamp:
Oct 8, 2014, 3:46:28 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • cma_driver

    v1 v1  
     1= GIET-VM / CMA Driver =
     2
     3The [source:soft/giet_vm/giet_drivers/cma_driver.c cma_driver.c] and [source:soft/giet_vm/giet_drivers/cma_driver.h cma_driver.h] files define the CMA driver.
     4
     5It supports the SocLib ''vci_chbuf_dma'' component, that is a multi channels, chained buffer DMA controller.
     6This component can be used in conjonction with the SocLib ''vci_frame_buffer'' to display images, or with the SocLib ''vci_multi_nic controller'' to transfer both RX and TX packets between NIC and memory buffers.
     7
     8The SEG_CMA_BASE address must be defined in the hard_config.h file
     9
     10All 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.
     11The higher level access functions are defined in the [wiki:fbf_driver fbf_driver] and [wiki:nic_driver nic_driver] files.
     12
     13The addressable registers map is defined [source:soft/giet_vm/giet_drivers/cma_driver.h here].
     14
     15 === unsigned int '''_cma_get_register'''( unsigned int channel,  unsigned int index ) ===
     16This low_level function returns the value contained in register (index).
     17
     18 === void '''_cma_set_register'''( unsigned int channel,  unsigned int index,  unsigned int value ) ===
     19This low_level function returns the value contained in register (index).
     20
     21 === void '''_cma_isr'''( unsigned int irq_type,  unsigned int irq_id,  unsigned int channel ) ===
     22This Interrupt Service Routine handles the IRQ generated by a CMA channel.
     23