Lines Matching full:get
33 /* Fetch and adjust GPU GET pointer
36 * value >= 0, the adjusted GET pointer
37 * -EINVAL if GET pointer currently outside main push buffer
49 /* reset counter as long as GET is still advancing, this is in READ_GET()
101 uint32_t get = nvif_rd32(&chan->user, 0x88); in nv50_dma_push_wait() local
102 if (get != prev_get) { in nv50_dma_push_wait()
103 prev_get = get; in nv50_dma_push_wait()
113 chan->dma.ib_free = get - chan->dma.ib_put; in nv50_dma_push_wait()
132 int get = READ_GET(chan, &prev_get, &cnt); in nv50_dma_wait() local
133 if (unlikely(get < 0)) { in nv50_dma_wait()
134 if (get == -EINVAL) in nv50_dma_wait()
137 return get; in nv50_dma_wait()
140 if (get <= chan->dma.cur) { in nv50_dma_wait()
147 get = READ_GET(chan, &prev_get, &cnt); in nv50_dma_wait()
148 if (unlikely(get < 0)) { in nv50_dma_wait()
149 if (get == -EINVAL) in nv50_dma_wait()
151 return get; in nv50_dma_wait()
153 } while (get == 0); in nv50_dma_wait()
158 chan->dma.free = get - chan->dma.cur - 1; in nv50_dma_wait()
168 int cnt = 0, get; in nouveau_dma_wait() local
174 get = READ_GET(chan, &prev_get, &cnt); in nouveau_dma_wait()
175 if (unlikely(get == -EBUSY)) in nouveau_dma_wait()
178 /* loop until we have a usable GET pointer. the value in nouveau_dma_wait()
183 * the other case we discard GET is while the GPU is fetching in nouveau_dma_wait()
187 if (unlikely(get == -EINVAL) || get < NOUVEAU_DMA_SKIPS) in nouveau_dma_wait()
190 if (get <= chan->dma.cur) { in nouveau_dma_wait()
192 * idle (GET == PUT) so we have free space up until in nouveau_dma_wait()
201 * GET==PUT, in which case the below conditional will in nouveau_dma_wait()
214 /* wait for GET to depart from the skips area. in nouveau_dma_wait()
215 * prevents writing GET==PUT and causing a race in nouveau_dma_wait()
220 get = READ_GET(chan, &prev_get, &cnt); in nouveau_dma_wait()
221 if (unlikely(get == -EBUSY)) in nouveau_dma_wait()
223 if (unlikely(get == -EINVAL)) in nouveau_dma_wait()
225 } while (get <= NOUVEAU_DMA_SKIPS); in nouveau_dma_wait()
236 * current GET pointer. the "- 1" is to ensure there's in nouveau_dma_wait()
238 * push buffer if we require it. we can never get GET == PUT in nouveau_dma_wait()
241 chan->dma.free = get - chan->dma.cur - 1; in nouveau_dma_wait()