Lines Matching defs:nvpb

83 	struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
84 struct nouveau_pushbuf_krec *krec = nvpb->krec;
152 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
153 struct nouveau_pushbuf_krec *krec = nvpb->krec;
223 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
224 struct nouveau_pushbuf_krec *krec = nvpb->krec;
230 pkref = cli_kref_get(push->client, nvpb->bo);
237 krel->reloc_bo_offset = (push->cur - nvpb->ptr) * 4;
313 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
314 struct nouveau_pushbuf_krec *krec = nvpb->list;
341 req.suffix0 = nvpb->suffix0;
342 req.suffix1 = nvpb->suffix1;
354 nvpb->suffix0 = req.suffix0;
355 nvpb->suffix1 = req.suffix1;
400 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
401 struct nouveau_pushbuf_krec *krec = nvpb->krec;
412 nvpb->krec = krec->next;
423 krec = nvpb->krec;
430 DRMLISTFOREACHENTRYSAFE(bctx, btmp, &nvpb->bctx_list, head) {
442 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
443 struct nouveau_pushbuf_krec *krec = nvpb->krec;
461 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
462 struct nouveau_pushbuf_krec *krec = nvpb->krec;
490 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
491 struct nouveau_pushbuf_krec *krec = nvpb->krec;
506 DRMLISTADD(&bctx->head, &nvpb->bctx_list);
545 struct nouveau_pushbuf_priv *nvpb;
563 nvpb = calloc(1, sizeof(*nvpb) + nr * sizeof(*nvpb->bos));
564 if (!nvpb)
568 nvpb->suffix0 = req.suffix0;
569 nvpb->suffix1 = req.suffix1;
571 nvpb->suffix0 = 0xffffffff;
572 nvpb->suffix1 = 0xffffffff;
574 nvpb->krec = calloc(1, sizeof(*nvpb->krec));
575 nvpb->list = nvpb->krec;
576 if (!nvpb->krec) {
577 free(nvpb);
581 push = &nvpb->base;
587 nvpb->type = NOUVEAU_BO_GART;
591 nvpb->type = NOUVEAU_BO_VRAM;
593 nvpb->type |= NOUVEAU_BO_MAP;
595 for (nvpb->bo_nr = 0; nvpb->bo_nr < nr; nvpb->bo_nr++) {
596 ret = nouveau_bo_new(client->device, nvpb->type, 0, size,
597 NULL, &nvpb->bos[nvpb->bo_nr]);
604 DRMINITLISTHEAD(&nvpb->bctx_list);
612 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(*ppush);
613 if (nvpb) {
616 while ((krec = nvpb->list)) {
621 cli_kref_set(nvpb->base.client, bo, NULL, NULL);
624 nvpb->list = krec->next;
627 while (nvpb->bo_nr--)
628 nouveau_bo_ref(NULL, &nvpb->bos[nvpb->bo_nr]);
629 nouveau_bo_ref(NULL, &nvpb->bo);
630 free(nvpb);
647 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
648 struct nouveau_pushbuf_krec *krec = nvpb->krec;
656 if (nvpb->bo_next < nvpb->bo_nr) {
657 nouveau_bo_ref(nvpb->bos[nvpb->bo_next++], &bo);
658 if (nvpb->bo_next == nvpb->bo_nr && push->channel)
659 nvpb->bo_next = 0;
661 ret = nouveau_bo_new(client->device, nvpb->type, 0,
662 nvpb->bos[0]->size, NULL, &bo);
681 if (nvpb->bo && krec->nr_buffer)
693 nouveau_bo_ref(bo, &nvpb->bo);
696 nvpb->bgn = nvpb->bo->map;
697 nvpb->ptr = nvpb->bgn;
698 push->cur = nvpb->bgn;
699 push->end = push->cur + (nvpb->bo->size / 4);
703 pushbuf_kref(push, nvpb->bo, push->flags);
711 struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
712 struct nouveau_pushbuf_krec *krec = nvpb->krec;
716 if (bo != nvpb->bo && nvpb->bgn != push->cur) {
717 if (nvpb->suffix0 || nvpb->suffix1) {
718 *push->cur++ = nvpb->suffix0;
719 *push->cur++ = nvpb->suffix1;
722 nouveau_pushbuf_data(push, nvpb->bo,
723 (nvpb->bgn - nvpb->ptr) * 4,
724 (push->cur - nvpb->bgn) * 4);
725 nvpb->bgn = push->cur;