Lines Matching full:get

46 /* Fetch and adjust GPU GET pointer
49 * value >= 0, the adjusted GET pointer
50 * -EINVAL if GET pointer currently outside main push buffer
62 /* reset counter as long as GET is still advancing, this is in READ_GET()
114 uint32_t get = nvif_rd32(&chan->user, 0x88); in nv50_dma_push_wait() local
115 if (get != prev_get) { in nv50_dma_push_wait()
116 prev_get = get; in nv50_dma_push_wait()
126 chan->dma.ib_free = get - chan->dma.ib_put; in nv50_dma_push_wait()
145 int get = READ_GET(chan, &prev_get, &cnt); in nv50_dma_wait() local
146 if (unlikely(get < 0)) { in nv50_dma_wait()
147 if (get == -EINVAL) in nv50_dma_wait()
150 return get; in nv50_dma_wait()
153 if (get <= chan->dma.cur) { in nv50_dma_wait()
160 get = READ_GET(chan, &prev_get, &cnt); in nv50_dma_wait()
161 if (unlikely(get < 0)) { in nv50_dma_wait()
162 if (get == -EINVAL) in nv50_dma_wait()
164 return get; in nv50_dma_wait()
166 } while (get == 0); in nv50_dma_wait()
171 chan->dma.free = get - chan->dma.cur - 1; in nv50_dma_wait()
181 int cnt = 0, get; in nouveau_dma_wait() local
187 get = READ_GET(chan, &prev_get, &cnt); in nouveau_dma_wait()
188 if (unlikely(get == -EBUSY)) in nouveau_dma_wait()
191 /* loop until we have a usable GET pointer. the value in nouveau_dma_wait()
196 * the other case we discard GET is while the GPU is fetching in nouveau_dma_wait()
200 if (unlikely(get == -EINVAL) || get < NOUVEAU_DMA_SKIPS) in nouveau_dma_wait()
203 if (get <= chan->dma.cur) { in nouveau_dma_wait()
205 * idle (GET == PUT) so we have free space up until in nouveau_dma_wait()
214 * GET==PUT, in which case the below conditional will in nouveau_dma_wait()
227 /* wait for GET to depart from the skips area. in nouveau_dma_wait()
228 * prevents writing GET==PUT and causing a race in nouveau_dma_wait()
233 get = READ_GET(chan, &prev_get, &cnt); in nouveau_dma_wait()
234 if (unlikely(get == -EBUSY)) in nouveau_dma_wait()
236 if (unlikely(get == -EINVAL)) in nouveau_dma_wait()
238 } while (get <= NOUVEAU_DMA_SKIPS); in nouveau_dma_wait()
249 * current GET pointer. the "- 1" is to ensure there's in nouveau_dma_wait()
251 * push buffer if we require it. we can never get GET == PUT in nouveau_dma_wait()
254 chan->dma.free = get - chan->dma.cur - 1; in nouveau_dma_wait()