Lines Matching refs:obj

55 viaOffScreenLinear(struct buffer_object *obj, ScrnInfoPtr pScrn,
66 obj->offset = linear->offset * depth;
67 obj->handle = (unsigned long) linear;
68 obj->domain = TTM_PL_FLAG_VRAM;
69 obj->size = size;
77 struct buffer_object *obj = NULL;
101 obj = drm_bo_alloc(pScrn, pitch * height, alignment, domain);
102 if (!obj->pitch)
103 obj->pitch = pitch;
104 return obj;
110 struct buffer_object *obj = NULL;
114 obj = xnfcalloc(1, sizeof(*obj));
115 if (obj) {
120 if (Success != viaOffScreenLinear(obj, pScrn, size)) {
124 DEBUG(ErrorF("%lu bytes of Linear memory allocated at %lx, handle %lu\n", obj->size, obj->offset, obj->handle));
138 obj->offset = ALIGN_TO(drm.offset, alignment);
139 obj->handle = drm.index;
140 obj->domain = domain;
141 obj->size = drm.size;
143 obj->size, obj->offset, obj->handle));
159 obj->map_offset = args.map_handle;
160 obj->offset = args.offset;
161 obj->handle = args.handle;
162 obj->pitch = args.pitch;
163 obj->size = args.size;
164 obj->domain = domain;
166 obj->size, obj->offset, obj->handle));
180 free(obj);
181 obj = NULL;
184 return obj;
188 drm_bo_map(ScrnInfoPtr pScrn, struct buffer_object *obj)
193 obj->ptr = mmap(0, obj->size, PROT_READ | PROT_WRITE,
194 MAP_SHARED, pVia->drmmode.fd, obj->map_offset);
195 if (obj->ptr == MAP_FAILED) {
197 obj->ptr = NULL;
200 switch (obj->domain) {
203 obj->ptr = (pVia->agpMappedAddr + obj->offset);
207 obj->ptr = (pVia->FBBase + obj->offset);
210 obj->ptr = NULL;
214 return obj->ptr;
218 drm_bo_unmap(ScrnInfoPtr pScrn, struct buffer_object *obj)
223 munmap(obj->ptr, obj->size);
226 obj->ptr = NULL;
230 drm_bo_free(ScrnInfoPtr pScrn, struct buffer_object *obj)
234 if (obj) {
235 DEBUG(ErrorF("Freed %lu (pool %d)\n", obj->offset, obj->domain));
236 switch (obj->domain) {
240 FBLinearPtr linear = (FBLinearPtr) obj->handle;
247 drm.index = obj->handle;
250 ErrorF("DRM failed to free for handle %lu.\n", obj->handle);
254 close.handle = obj->handle;
256 ErrorF("DRM failed to free for handle %lu.\n", obj->handle);
264 free(obj);