Changes between Version 75 and Version 76 of library_stdio


Ignore:
Timestamp:
Apr 12, 2015, 5:27:42 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • library_stdio

    v75 v76  
    5353The coprocessor and the communication channels are activated by the ''get_coproc_run()'' system call.
    5454 * In '''MODE_MWMR''', each channel FSM  implements the 7 steps MWMR protocol, and transfer an "infinite" data stream, between one coprocessor port and a MWMR software FIFO in memory. The There is no transfer completion signaling, as the synchronisation is done through the MWMR FIFOs. The MWR IRQ is only asserted if a VCI error is reported in memory access.
    55  * In '''MODE_DMA_IRQ''' or '''MODE_DMA_NO_IRQ''', each channel FSM transfers a single buffer between one coprocessor port and the memory. When transfer is completed, the channel FSM keep blocked until it is re-activated. In '''MODE_DMA_IRQ''', the calling task is descheduled, after coprocessor activation, in the ''giet_coproc_run()'' system call. The transfer completion is signaled by the MWR IRQ that updates the ''_coproc_done'' / ''_coproc_status'' variables, deactivates the coprocessor, and resumes the calling task.  In '''MODE_DMA_NO_IRQ''', the ''giet_coproc_start()'' system call is not blocking. The user task must use the ''giet_coproc_completed()'' system call that detect transfer completion by polling the coprocessor registers, and deactivates the coprocessor before returning.
     55 * In '''MODE_DMA_IRQ''' or '''MODE_DMA_NO_IRQ''', each channel FSM transfers a single buffer between one coprocessor port and the memory. When transfer is completed, the channel FSM keep blocked until it is re-activated.
     56   - In '''MODE_DMA_IRQ''', the calling task is descheduled, after coprocessor activation, in the ''giet_coproc_run()'' system call. The transfer completion is signaled by the MWR IRQ that updates the ''_coproc_status'' / ''_coproc_channel'' variables, deactivates the coprocessor, and resumes the calling task.
     57   - In '''MODE_DMA_NO_IRQ''', the ''giet_coproc_run()'' system call returns after coprocessor activation. The user task must use the blocking ''giet_coproc_completed()'' system call that detect transfer completion by polling the coprocessor registers, and deactivates the coprocessor before returning.
    5658
    5759'''WARNING''': For a given coprocessor, all channels must be running in the same mode. If this is not the case, the result is unpredictable.