Changes between Version 6 and Version 7 of Component/Vci Mwmr Dma


Ignore:
Timestamp:
Apr 9, 2015, 3:33:49 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Vci Mwmr Dma

    v6 v7  
    2424
    2525Each channel FSM implements two main operating modes that can be defined by software:
    26  * In '''MODE_DMA_IRQ''' or '''MODE_DMA_NO_IRQ''' modes the channel FSM transfer a single buffer between the memory and the coprocessor port. The number of VCI burst depends on both the memory buffer size, and the burst size. In this mode the software must define the channel configuration by writing the data buffer address and size in the channel configuration registers. When the transfer is completed, the channel FSM wait in the success or ERROR state, until it is reset to IDLE state by writing a zero value in the CHANNEL_RUN register. An optional IRQ can be activated when the requested transfer is completed (only in MODE_DMA_IRQ).
     26 * In '''MODE_DMA_IRQ''' or '''MODE_DMA_NO_IRQ''' modes the channel FSM transfer a single buffer between the memory and the coprocessor port. The number of VCI burst depends on both the memory buffer size, and the burst size. In this mode the software must define the channel configuration by writing the data buffer address and size in the channel configuration registers. When the transfer is completed, the channel FSM is blocked, waiting in the SUCCESS or ERROR state, until it is reset to IDLE state by writing a zero value in the CHANNEL_RUN register. An optional IRQ can be activated when the requested transfer is completed (only in MODE_DMA_IRQ).
    2727
    2828 * In '''MWMR_MODE''', the channel FSM transfer an "infinite" data stream, between the coprocessor port and a MWMR channel (software FIFO in memory). In this mode the software must write in the channel configuration registers the data buffer address and size, but also the MWMR FIFO descriptor address and the lock address, as the channel FSM implements the 7 steps MWMR protocol.
     
    5959
    6060The relevant values for the CHANNEL_STATUS register are the following:
    61  *
    62 For extensibility issues, you should access these registers using these globally-defined offsets.
    63 The [source:trunk/soclib/soclib/module/infrastructure_component/dma_infrastructure/vci_mwmr_dma/include/soclib/mwmr_dma.h mwmr_dma.h file] defines all useful offsets and constants.
     61||  symbolic value    || description                                         ||
     62|| CHANNEL_SUCCESS    || DMA transfer successfully completed                 ||
     63|| CHANNEL_ERROR_DATA || Bus error accessing the memory data buffer          ||
     64|| CHANNEL_ERROR_DESC || Bus error accessing the MWMR FIFO descriptor buffer ||
     65|| CHANNEL_ERROR_DATA || Bus error accessing the MWMR FIFO lock              ||
     66All other values are equivalent to channel busy.
     67
     68For extensibility issues, you should access these registers using the offsets defined [source:trunk/soclib/soclib/module/infrastructure_component/dma_infrastructure/vci_mwmr_dma/include/soclib/mwmr_dma.h mwmr_dma.h here].
    6469
    6570This hardware component cheks for segmentation violation, and can be used as a default target.