Home | History | Annotate | Download | only in libkms

Lines Matching defs:bo

76 	struct dumb_bo *bo;
91 bo = calloc(1, sizeof(*bo));
92 if (!bo)
106 bo->base.kms = kms;
107 bo->base.handle = arg.handle;
108 bo->base.size = arg.size;
109 bo->base.pitch = arg.pitch;
111 *out = &bo->base;
116 free(bo);
121 dumb_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out)
132 struct dumb_bo *bo = (struct dumb_bo *)_bo;
137 if (bo->base.ptr) {
138 bo->map_count++;
139 *out = bo->base.ptr;
144 arg.handle = bo->base.handle;
146 ret = drmIoctl(bo->base.kms->fd, DRM_IOCTL_MODE_MAP_DUMB, &arg);
150 map = drm_mmap(0, bo->base.size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->base.kms->fd, arg.offset);
154 bo->base.ptr = map;
155 bo->map_count++;
156 *out = bo->base.ptr;
164 struct dumb_bo *bo = (struct dumb_bo *)_bo;
165 bo->map_count--;
172 struct dumb_bo *bo = (struct dumb_bo *)_bo;
176 if (bo->base.ptr) {
178 drm_munmap(bo->base.ptr, bo->base.size);
179 bo->base.ptr = NULL;
183 arg.handle = bo->base.handle;
185 ret = drmIoctl(bo->base.kms->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &arg);
189 free(bo);