Lines Matching refs:chunk

79 	struct amdgpu_mux_chunk *chunk;  in amdgpu_mux_resubmit_chunks()  local
103 list_for_each_entry(chunk, &e->list, entry) { in amdgpu_mux_resubmit_chunks()
104 if (chunk->sync_seq > last_seq && chunk->sync_seq <= seq) { in amdgpu_mux_resubmit_chunks()
106 chunk->sync_seq, in amdgpu_mux_resubmit_chunks()
108 if (chunk->sync_seq == in amdgpu_mux_resubmit_chunks()
110 if (chunk->cntl_offset <= e->ring->buf_mask) in amdgpu_mux_resubmit_chunks()
112 chunk->cntl_offset); in amdgpu_mux_resubmit_chunks()
113 if (chunk->ce_offset <= e->ring->buf_mask) in amdgpu_mux_resubmit_chunks()
114 amdgpu_ring_patch_ce(e->ring, chunk->ce_offset); in amdgpu_mux_resubmit_chunks()
115 if (chunk->de_offset <= e->ring->buf_mask) in amdgpu_mux_resubmit_chunks()
116 amdgpu_ring_patch_de(e->ring, chunk->de_offset); in amdgpu_mux_resubmit_chunks()
119 chunk->start, in amdgpu_mux_resubmit_chunks()
120 chunk->end); in amdgpu_mux_resubmit_chunks()
121 mux->wptr_resubmit = chunk->end; in amdgpu_mux_resubmit_chunks()
179 struct amdgpu_mux_chunk *chunk, *chunk2; in amdgpu_ring_mux_fini() local
184 list_for_each_entry_safe(chunk, chunk2, &e->list, entry) { in amdgpu_ring_mux_fini()
185 list_del(&chunk->entry); in amdgpu_ring_mux_fini()
186 kmem_cache_free(amdgpu_mux_chunk_slab, chunk); in amdgpu_ring_mux_fini()
437 struct amdgpu_mux_chunk *chunk; in amdgpu_ring_mux_start_ib() local
449 chunk = kmem_cache_alloc(amdgpu_mux_chunk_slab, GFP_KERNEL); in amdgpu_ring_mux_start_ib()
450 if (!chunk) { in amdgpu_ring_mux_start_ib()
455 chunk->start = ring->wptr; in amdgpu_ring_mux_start_ib()
457 chunk->cntl_offset = ring->buf_mask + 1; in amdgpu_ring_mux_start_ib()
458 chunk->de_offset = ring->buf_mask + 1; in amdgpu_ring_mux_start_ib()
459 chunk->ce_offset = ring->buf_mask + 1; in amdgpu_ring_mux_start_ib()
460 list_add_tail(&chunk->entry, &e->list); in amdgpu_ring_mux_start_ib()
467 struct amdgpu_mux_chunk *chunk, *tmp; in scan_and_remove_signaled_chunk() local
477 list_for_each_entry_safe(chunk, tmp, &e->list, entry) { in scan_and_remove_signaled_chunk()
478 if (chunk->sync_seq <= last_seq) { in scan_and_remove_signaled_chunk()
479 list_del(&chunk->entry); in scan_and_remove_signaled_chunk()
480 kmem_cache_free(amdgpu_mux_chunk_slab, chunk); in scan_and_remove_signaled_chunk()
490 struct amdgpu_mux_chunk *chunk; in amdgpu_ring_mux_ib_mark_offset() local
498 chunk = list_last_entry(&e->list, struct amdgpu_mux_chunk, entry); in amdgpu_ring_mux_ib_mark_offset()
499 if (!chunk) { in amdgpu_ring_mux_ib_mark_offset()
506 chunk->cntl_offset = offset; in amdgpu_ring_mux_ib_mark_offset()
509 chunk->de_offset = offset; in amdgpu_ring_mux_ib_mark_offset()
512 chunk->ce_offset = offset; in amdgpu_ring_mux_ib_mark_offset()
523 struct amdgpu_mux_chunk *chunk; in amdgpu_ring_mux_end_ib() local
531 chunk = list_last_entry(&e->list, struct amdgpu_mux_chunk, entry); in amdgpu_ring_mux_end_ib()
532 if (!chunk) { in amdgpu_ring_mux_end_ib()
537 chunk->end = ring->wptr; in amdgpu_ring_mux_end_ib()
538 chunk->sync_seq = READ_ONCE(ring->fence_drv.sync_seq); in amdgpu_ring_mux_end_ib()