Lines Matching refs:kref
87 struct drm_nouveau_gem_pushbuf_bo *kref;
124 kref = krec->buffer;
125 for (i = 0; i < krec->nr_buffer; i++, kref++) {
126 if (!(kref->valid_domains & NOUVEAU_GEM_DOMAIN_GART))
129 kbo = (void *)(unsigned long)kref->user_priv;
130 if (!(kref->valid_domains & NOUVEAU_GEM_DOMAIN_VRAM) ||
134 kref->valid_domains &= NOUVEAU_GEM_DOMAIN_VRAM;
155 struct drm_nouveau_gem_pushbuf_bo *kref;
174 kref = cli_kref_get(push->client, bo);
175 if (kref) {
177 if (!(kref->valid_domains & domains))
183 if ((kref->valid_domains & NOUVEAU_GEM_DOMAIN_GART) &&
191 kref->valid_domains &= domains;
192 kref->write_domains |= domains_wr;
193 kref->read_domains |= domains_rd;
199 kref = &krec->buffer[krec->nr_buffer++];
200 kref->user_priv = (unsigned long)bo;
201 kref->handle = bo->handle;
202 kref->valid_domains = domains;
203 kref->write_domains = domains_wr;
204 kref->read_domains = domains_rd;
205 kref->presumed.valid = 1;
206 kref->presumed.offset = bo->offset;
208 kref->presumed.domain = NOUVEAU_GEM_DOMAIN_VRAM;
210 kref->presumed.domain = NOUVEAU_GEM_DOMAIN_GART;
212 cli_kref_set(push->client, bo, kref, push);
216 return kref;
268 struct drm_nouveau_gem_pushbuf_bo *kref;
276 kref = krec->buffer;
277 for (i = 0; i < krec->nr_buffer; i++, kref++) {
278 bo = (void *)(uintptr_t)kref->user_priv;
280 kref->handle, kref->valid_domains,
281 kref->read_domains, kref->write_domains, bo->map, bo->offset, bo->size);
294 kref = krec->buffer + kpsh->bo_index;
295 bo = (void *)(unsigned long)kref->user_priv;
318 struct drm_nouveau_gem_pushbuf_bo *kref;
371 kref = krec->buffer;
372 for (i = 0; i < krec->nr_buffer; i++, kref++) {
373 bo = (void *)(unsigned long)kref->user_priv;
375 info = &kref->presumed;
385 if (kref->write_domains)
387 if (kref->read_domains)
402 struct drm_nouveau_gem_pushbuf_bo *kref;
415 kref = krec->buffer;
416 for (i = 0; i < krec->nr_buffer; i++, kref++) {
417 bo = (void *)(unsigned long)kref->user_priv;
444 struct drm_nouveau_gem_pushbuf_bo *kref;
446 kref = krec->buffer + sref;
448 struct nouveau_bo *bo = (void *)(unsigned long)kref->user_priv;
451 kref++;
463 struct drm_nouveau_gem_pushbuf_bo *kref;
468 kref = pushbuf_kref(push, refs[i].bo, refs[i].flags);
469 if (!kref) {
492 struct drm_nouveau_gem_pushbuf_bo *kref;
509 kref = pushbuf_kref(push, bref->bo, bref->flags);
510 if (!kref) {
614 struct drm_nouveau_gem_pushbuf_bo *kref;
617 kref = krec->buffer;
619 unsigned long priv = kref++->user_priv;
714 struct drm_nouveau_gem_pushbuf_bo *kref;
729 kref = cli_kref_get(push->client, bo);
730 assert(kref);
732 kpsh->bo_index = kref - krec->buffer;
762 struct drm_nouveau_gem_pushbuf_bo *kref;
766 kref = cli_kref_get(push->client, bo);
767 assert(kref);
768 if (kref->read_domains)
770 if (kref->write_domains)