Lines Matching defs:gpuobj
30 nvc0_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj,
40 true, false, &gpuobj->im_backing);
46 ret = nouveau_bo_pin(gpuobj->im_backing, TTM_PL_FLAG_VRAM);
49 nouveau_bo_ref(NULL, &gpuobj->im_backing);
53 gpuobj->im_backing_start = gpuobj->im_backing->bo.mem.mm_node->start;
54 gpuobj->im_backing_start <<= PAGE_SHIFT;
59 nvc0_instmem_clear(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
63 if (gpuobj && gpuobj->im_backing) {
64 if (gpuobj->im_bound)
65 dev_priv->engine.instmem.unbind(dev, gpuobj);
66 nouveau_bo_unpin(gpuobj->im_backing);
67 nouveau_bo_ref(NULL, &gpuobj->im_backing);
68 gpuobj->im_backing = NULL;
73 nvc0_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
79 if (!gpuobj->im_backing || !gpuobj->im_pramin || gpuobj->im_bound)
83 gpuobj->im_pramin->start, gpuobj->im_pramin->size);
85 pte = gpuobj->im_pramin->start >> 12;
86 pte_end = (gpuobj->im_pramin->size >> 12) + pte;
87 vram = gpuobj->im_backing_start;
90 gpuobj->im_pramin->start, pte, pte_end);
91 NV_DEBUG(dev, "first vram page: 0x%08x\n", gpuobj->im_backing_start);
107 gpuobj->im_bound = 1;
112 nvc0_instmem_unbind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
117 if (gpuobj->im_bound == 0)
120 pte = gpuobj->im_pramin->start >> 12;
121 pte_end = (gpuobj->im_pramin->size >> 12) + pte;
129 gpuobj->im_bound = 0;