Home | History | Annotate | Download | only in libkms

Lines Matching defs:bo

65 	struct exynos_bo *bo;
79 bo = calloc(1, sizeof(*bo));
80 if (!bo)
101 bo->base.kms = kms;
102 bo->base.handle = arg.handle;
103 bo->base.size = size;
104 bo->base.pitch = pitch;
106 *out = &bo->base;
111 free(bo);
116 exynos_bo_get_prop(struct kms_bo *bo, unsigned key, unsigned *out)
127 struct exynos_bo *bo = (struct exynos_bo *)_bo;
132 if (bo->base.ptr) {
133 bo->map_count++;
134 *out = bo->base.ptr;
139 arg.handle = bo->base.handle;
141 ret = drmIoctl(bo->base.kms->fd, DRM_IOCTL_MODE_MAP_DUMB, &arg);
145 map = drm_mmap(0, bo->base.size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->base.kms->fd, arg.offset);
149 bo->base.ptr = map;
150 bo->map_count++;
151 *out = bo->base.ptr;
159 struct exynos_bo *bo = (struct exynos_bo *)_bo;
160 bo->map_count--;
167 struct exynos_bo *bo = (struct exynos_bo *)_bo;
171 if (bo->base.ptr) {
173 munmap(bo->base.ptr, bo->base.size);
174 bo->base.ptr = NULL;
178 arg.handle = bo->base.handle;
180 ret = drmIoctl(bo->base.kms->fd, DRM_IOCTL_GEM_CLOSE, &arg);
184 free(bo);