Lines Matching refs:ring
121 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_wait_ring() local
126 if (ring->space >= n) { in mach64_wait_ring()
147 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_ring_idle() local
151 head = ring->head; in mach64_ring_idle()
155 if (ring->head == ring->tail && in mach64_ring_idle()
161 if (ring->head == head) { in mach64_ring_idle()
164 head = ring->head; in mach64_ring_idle()
182 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_ring_reset() local
185 ring->head_addr = ring->start_addr; in mach64_ring_reset()
186 ring->head = ring->tail = 0; in mach64_ring_reset()
187 ring->space = ring->size; in mach64_ring_reset()
190 ring->head_addr | MACH64_CIRCULAR_BUF_SIZE_16KB); in mach64_ring_reset()
218 dev_priv->ring.tail); in mach64_do_dma_idle()
479 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_dump_ring_info() local
486 ring->head_addr, ring->head, ring->tail); in mach64_dump_ring_info()
489 for (i = 0; i < ring->size / sizeof(u32); i += 4) { in mach64_dump_ring_info()
491 i >= ring->size / sizeof(u32) - MACH64_DUMP_CONTEXT * 4 || in mach64_dump_ring_info()
492 (i >= ring->tail - MACH64_DUMP_CONTEXT * 4 && in mach64_dump_ring_info()
493 i <= ring->tail + MACH64_DUMP_CONTEXT * 4) || in mach64_dump_ring_info()
494 (i >= ring->head - MACH64_DUMP_CONTEXT * 4 && in mach64_dump_ring_info()
495 i <= ring->head + MACH64_DUMP_CONTEXT * 4)) { in mach64_dump_ring_info()
497 (u32)(ring->start_addr + i * sizeof(u32)), in mach64_dump_ring_info()
498 le32_to_cpu(((u32 *) ring->start)[i + 0]), in mach64_dump_ring_info()
499 le32_to_cpu(((u32 *) ring->start)[i + 1]), in mach64_dump_ring_info()
500 le32_to_cpu(((u32 *) ring->start)[i + 2]), in mach64_dump_ring_info()
501 le32_to_cpu(((u32 *) ring->start)[i + 3]), in mach64_dump_ring_info()
502 i == ring->head ? " (head)" : "", in mach64_dump_ring_info()
503 i == ring->tail ? " (tail)" : ""); in mach64_dump_ring_info()
515 if (ring->head < ring->size / sizeof(u32)) { in mach64_dump_ring_info()
517 u32 addr = le32_to_cpu(((u32 *) ring->start)[ring->head + 1]); in mach64_dump_ring_info()
623 if (dev_priv->ring.space <= (n) * sizeof(u32)) { \
632 dev_priv->ring.space -= (n) * sizeof(u32); \
633 _ring = (u32 *) dev_priv->ring.start; \
634 _ring_tail = _ring_write = dev_priv->ring.tail; \
635 _ring_mask = dev_priv->ring.tail_mask; \
657 dev_priv->ring.tail = _ring_write; \
658 mach64_ring_tick( dev_priv, &(dev_priv)->ring ); \
788 table = (u32 *) dev_priv->ring.start; in mach64_bm_dma_test()
897 DRM_DEBUG("table bus addr = 0x%08x\n", dev_priv->ring.start_addr); in mach64_bm_dma_test()
901 dev_priv->ring.start_addr | MACH64_CIRCULAR_BUF_SIZE_16KB); in mach64_bm_dma_test()
1101 dev_priv->ring.size = 0x4000; /* 16KB */ in mach64_do_dma_init()
1102 dev_priv->ring.start = dev_priv->ring_map->virtual; in mach64_do_dma_init()
1103 dev_priv->ring.start_addr = (u32) dev_priv->ring_map->offset; in mach64_do_dma_init()
1105 memset(dev_priv->ring.start, 0, dev_priv->ring.size); in mach64_do_dma_init()
1107 dev_priv->ring.start, dev_priv->ring.start_addr); in mach64_do_dma_init()
1147 dev_priv->ring.head_addr = dev_priv->ring.start_addr; in mach64_do_dma_init()
1148 dev_priv->ring.head = dev_priv->ring.tail = 0; in mach64_do_dma_init()
1149 dev_priv->ring.tail_mask = (dev_priv->ring.size / sizeof(u32)) - 1; in mach64_do_dma_init()
1150 dev_priv->ring.space = dev_priv->ring.size; in mach64_do_dma_init()
1155 (dev_priv->ring. in mach64_do_dma_init()
1180 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_do_dispatch_pseudo_dma() local
1199 ring_read = (u32 *) ring->start; in mach64_do_dispatch_pseudo_dma()
1201 while (ring->tail != ring->head) { in mach64_do_dispatch_pseudo_dma()
1205 head = ring->head; in mach64_do_dispatch_pseudo_dma()
1214 head &= ring->tail_mask; in mach64_do_dispatch_pseudo_dma()
1240 head, ring->tail, buf_addr, (eol ? "eol" : "")); in mach64_do_dispatch_pseudo_dma()
1303 ring->head = head; in mach64_do_dispatch_pseudo_dma()
1304 ring->head_addr = ring->start_addr + (ring->head * sizeof(u32)); in mach64_do_dispatch_pseudo_dma()
1305 ring->space += (4 * sizeof(u32)); in mach64_do_dispatch_pseudo_dma()
1312 ring->head_addr | MACH64_CIRCULAR_BUF_SIZE_16KB); in mach64_do_dispatch_pseudo_dma()
1512 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_do_reclaim_completed() local
1518 mach64_ring_tick(dev_priv, ring); in mach64_do_reclaim_completed()
1519 head = ring->head; in mach64_do_reclaim_completed()
1520 tail = ring->tail; in mach64_do_reclaim_completed()
1552 for (i = head; i != tail; i = (i + 4) & ring->tail_mask) in mach64_do_reclaim_completed()
1554 u32 o1 = le32_to_cpu(((u32 *) ring-> in mach64_do_reclaim_completed()
1585 drm_mach64_descriptor_ring_t *ring = &dev_priv->ring; in mach64_freelist_get() local
1616 ring->head_addr, ring->head, ring->tail); in mach64_freelist_get()