| 39 | | === void '''_mwr_channel_init'''( unsigned int cluster_xy, unsigned int channel, unsigned int mode, unsigned long long buffer_paddr, unsigned int buffer_size, unsigned long long desc_paddr, unsigned long long lock_paddr ) === |
| 40 | | This function initialises all registers defining one communication channel for a given coprocessor. |
| 41 | | * '''cluster_xy''' is the cluster index |
| 42 | | * '''channel''' is the channel index |
| 43 | | * '''mode''' is the requested mode (MWMR / DMA_IRQ / DMA_NO_IRQ) |
| 44 | | * '''buffer_paddr''' is the memory buffer physical address |
| 45 | | * '''buffer_size''' is the memory buffer size (bytes) |
| 46 | | * '''desc_paddr''' is the MWMR descriptor physical address (only used in MWMR mode) |
| 47 | | * '''lock_paddr''' is the MWMR lock physical address (only used in MWMR mode) |
| | 39 | === void '''_mwr_set_channel_register'''( unsigned int cluster_xy , unsigned int channel , unsigned int index , unsigned int value ) === |
| | 40 | This function set a a new value in a coprocessor register. |
| | 41 | * '''cluster_xy''' : cluster coordinates. |
| | 42 | * '''channel''': channel index. |
| | 43 | * '''index''' : register index. |
| | 44 | * '''value''' : value to be written. |
| 49 | | === void '''_mwr_channel_start'''( unsigned int cluster_xy, unsigned int channel ) === |
| 50 | | This function activates one communication channel for a given coprocessor (set a non zero value in the RUNNING channel register). |
| 51 | | * '''cluster_xy''' is the cluster index |
| 52 | | * '''channel''' is the channel index |
| | 46 | === unsigned int '''_mwr_get channel_register'''( unsigned int cluster_xy , unsigned int channel, unsigned int index) === |
| | 47 | * '''cluster_xy''' : cluster coordinates. |
| | 48 | * '''channel''': channel index. |
| | 49 | * '''index''' : register index. |