Home | History | Annotate | Download | only in libkms

Lines Matching refs:bo

79 	struct intel_bo *bo;
93 bo = calloc(1, sizeof(*bo));
94 if (!bo)
105 free(bo);
116 bo->base.kms = kms;
117 bo->base.handle = arg.handle;
118 bo->base.size = size;
119 bo->base.pitch = pitch;
121 *out = &bo->base;
126 tile.handle = bo->base.handle;
128 tile.stride = bo->base.pitch;
142 free(bo);
147 intel_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out)
158 struct intel_bo *bo = (struct intel_bo *)_bo;
163 if (bo->base.ptr) {
164 bo->map_count++;
165 *out = bo->base.ptr;
170 arg.handle = bo->base.handle;
172 ret = drmCommandWriteRead(bo->base.kms->fd, DRM_I915_GEM_MMAP_GTT, &arg, sizeof(arg));
176 map = drm_mmap(0, bo->base.size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->base.kms->fd, arg.offset);
180 bo->base.ptr = map;
181 bo->map_count++;
182 *out = bo->base.ptr;
190 struct intel_bo *bo = (struct intel_bo *)_bo;
191 bo->map_count--;
198 struct intel_bo *bo = (struct intel_bo *)_bo;
202 if (bo->base.ptr) {
204 drm_munmap(bo->base.ptr, bo->base.size);
205 bo->base.ptr = NULL;
209 arg.handle = bo->base.handle;
211 ret = drmIoctl(bo->base.kms->fd, DRM_IOCTL_GEM_CLOSE, &arg);
215 free(bo);