aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'rockchip/rockchip_drm.c')
-rw-r--r--rockchip/rockchip_drm.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/rockchip/rockchip_drm.c b/rockchip/rockchip_drm.c
index d56a68b4..44a78be8 100644
--- a/rockchip/rockchip_drm.c
+++ b/rockchip/rockchip_drm.c
@@ -129,6 +129,31 @@ fail:
129 return NULL; 129 return NULL;
130} 130}
131 131
132struct rockchip_bo *rockchip_bo_from_handle(struct rockchip_device *dev,
133 uint32_t handle, uint32_t flags, uint32_t size)
134{
135 struct rockchip_bo *bo;
136
137 if (size == 0) {
138 fprintf(stderr, "invalid size.\n");
139 return NULL;
140 }
141
142 bo = calloc(1, sizeof(*bo));
143 if (!bo) {
144 fprintf(stderr, "failed to create bo[%s].\n",
145 strerror(errno));
146 return NULL;
147 }
148
149 bo->dev = dev;
150 bo->handle = handle;
151 bo->size = size;
152 bo->flags = flags;
153
154 return bo;
155}
156
132/* 157/*
133 * Destroy a rockchip buffer object. 158 * Destroy a rockchip buffer object.
134 * 159 *