Lines Matching refs:ring
331 struct ioat_ring_ent **ring; in ioat_alloc_ring() local
339 ring = kcalloc(descs, sizeof(*ring), flags); in ioat_alloc_ring()
340 if (!ring) in ioat_alloc_ring()
343 ring[i] = ioat_alloc_ring_ent(c, flags); in ioat_alloc_ring()
344 if (!ring[i]) { in ioat_alloc_ring()
346 ioat_free_ring_ent(ring[i], c); in ioat_alloc_ring()
347 kfree(ring); in ioat_alloc_ring()
350 set_desc_id(ring[i], i); in ioat_alloc_ring()
355 struct ioat_ring_ent *next = ring[i+1]; in ioat_alloc_ring()
356 struct ioat_dma_descriptor *hw = ring[i]->hw; in ioat_alloc_ring()
360 ring[i]->hw->next = ring[0]->txd.phys; in ioat_alloc_ring()
362 return ring; in ioat_alloc_ring()
375 struct ioat_ring_ent **ring; in reshape_ring() local
392 ring = kcalloc(new_size, sizeof(*ring), GFP_NOWAIT); in reshape_ring()
393 if (!ring) in reshape_ring()
403 ring[new_idx] = ioat_chan->ring[curr_idx]; in reshape_ring()
404 set_desc_id(ring[new_idx], new_idx); in reshape_ring()
411 ring[new_idx] = ioat_alloc_ring_ent(c, GFP_NOWAIT); in reshape_ring()
412 if (!ring[new_idx]) { in reshape_ring()
417 ioat_free_ring_ent(ring[new_idx], c); in reshape_ring()
419 kfree(ring); in reshape_ring()
422 set_desc_id(ring[new_idx], new_idx); in reshape_ring()
429 ring[(new_idx+1) & (new_size-1)]; in reshape_ring()
430 struct ioat_dma_descriptor *hw = ring[new_idx]->hw; in reshape_ring()
445 ring[new_idx] = ioat_chan->ring[curr_idx]; in reshape_ring()
446 set_desc_id(ring[new_idx], new_idx); in reshape_ring()
458 hw = ring[(ioat_chan->tail+new_size-1) & (new_size-1)]->hw; in reshape_ring()
459 next = ring[(ioat_chan->tail+new_size) & (new_size-1)]; in reshape_ring()
466 kfree(ioat_chan->ring); in reshape_ring()
467 ioat_chan->ring = ring; in reshape_ring()