Lines Matching refs:dma
312 static void save_tile_dma_state(struct tile_dma_state *dma)
333 dma->src = __insn_mfspr(SPR_DMA_SRC_ADDR);
334 dma->src_chunk = __insn_mfspr(SPR_DMA_SRC_CHUNK_ADDR);
335 dma->dest = __insn_mfspr(SPR_DMA_DST_ADDR);
336 dma->dest_chunk = __insn_mfspr(SPR_DMA_DST_CHUNK_ADDR);
337 dma->strides = __insn_mfspr(SPR_DMA_STRIDE);
338 dma->chunk_size = __insn_mfspr(SPR_DMA_CHUNK_SIZE);
339 dma->byte = __insn_mfspr(SPR_DMA_BYTE);
340 dma->status = (state & SPR_DMA_STATUS__RUNNING_MASK) |
347 const struct tile_dma_state *dma = &t->tile_dma_state;
353 if ((dma->status & SPR_DMA_STATUS__DONE_MASK) &&
362 __insn_mtspr(SPR_DMA_SRC_ADDR, dma->src);
363 __insn_mtspr(SPR_DMA_SRC_CHUNK_ADDR, dma->src_chunk);
364 __insn_mtspr(SPR_DMA_DST_ADDR, dma->dest);
365 __insn_mtspr(SPR_DMA_DST_CHUNK_ADDR, dma->dest_chunk);
366 __insn_mtspr(SPR_DMA_STRIDE, dma->strides);
367 __insn_mtspr(SPR_DMA_CHUNK_SIZE, dma->chunk_size);
368 __insn_mtspr(SPR_DMA_BYTE, dma->byte);
378 if ((dma->status & DMA_STATUS_MASK) == SPR_DMA_STATUS__RUNNING_MASK) {
451 struct tile_dma_state *dma = ¤t->thread.tile_dma_state;
452 if (dma->enabled)
453 save_tile_dma_state(dma);