Lines Matching refs:qdev

26 static int alloc_clips(struct qxl_device *qdev,  in alloc_clips()  argument
33 return qxl_alloc_bo_reserved(qdev, release, size, clips_bo); in alloc_clips()
39 static struct qxl_rect *drawable_set_clipping(struct qxl_device *qdev, in drawable_set_clipping() argument
59 alloc_drawable(struct qxl_device *qdev, struct qxl_release **release) in alloc_drawable() argument
62 ret = qxl_alloc_release_reserved(qdev, sizeof(struct qxl_drawable), in alloc_drawable()
69 free_drawable(struct qxl_device *qdev, struct qxl_release *release) in free_drawable() argument
71 qxl_release_free(qdev, release); in free_drawable()
76 make_drawable(struct qxl_device *qdev, int surface, uint8_t type, in make_drawable() argument
83 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); in make_drawable()
111 drawable->mm_time = qdev->rom->mm_clock; in make_drawable()
112 qxl_release_unmap(qdev, release, &drawable->release_info); in make_drawable()
116 static int alloc_palette_object(struct qxl_device *qdev, in alloc_palette_object() argument
120 return qxl_alloc_bo_reserved(qdev, release, in alloc_palette_object()
158 struct qxl_device *qdev = qxl_fb_image->qdev; in qxl_draw_opaque_fb() local
176 ret = alloc_drawable(qdev, &release); in qxl_draw_opaque_fb()
180 ret = qxl_image_alloc_objects(qdev, release, in qxl_draw_opaque_fb()
187 ret = alloc_palette_object(qdev, release, &palette_bo); in qxl_draw_opaque_fb()
202 ret = make_drawable(qdev, 0, QXL_DRAW_COPY, &rect, release); in qxl_draw_opaque_fb()
208 ret = qxl_image_init(qdev, release, dimage, in qxl_draw_opaque_fb()
213 qxl_release_free(qdev, release); in qxl_draw_opaque_fb()
221 ptr = qxl_bo_kmap_atomic_page(qdev, dimage->bo, 0); in qxl_draw_opaque_fb()
224 qxl_bo_physical_address(qdev, palette_bo, 0); in qxl_draw_opaque_fb()
225 qxl_bo_kunmap_atomic_page(qdev, dimage->bo, ptr); in qxl_draw_opaque_fb()
228 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); in qxl_draw_opaque_fb()
243 qxl_bo_physical_address(qdev, dimage->bo, 0); in qxl_draw_opaque_fb()
244 qxl_release_unmap(qdev, release, &drawable->release_info); in qxl_draw_opaque_fb()
246 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); in qxl_draw_opaque_fb()
253 qxl_image_free_objects(qdev, dimage); in qxl_draw_opaque_fb()
256 free_drawable(qdev, release); in qxl_draw_opaque_fb()
266 void qxl_draw_dirty_fb(struct qxl_device *qdev, in qxl_draw_dirty_fb() argument
295 ret = alloc_drawable(qdev, &release); in qxl_draw_dirty_fb()
316 ret = alloc_clips(qdev, release, num_clips, &clips_bo); in qxl_draw_dirty_fb()
320 ret = qxl_image_alloc_objects(qdev, release, in qxl_draw_dirty_fb()
336 ret = make_drawable(qdev, 0, QXL_DRAW_COPY, &drawable_rect, in qxl_draw_dirty_fb()
346 ret = qxl_image_init(qdev, release, dimage, surface_base, in qxl_draw_dirty_fb()
352 rects = drawable_set_clipping(qdev, drawable, num_clips, clips_bo); in qxl_draw_dirty_fb()
356 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); in qxl_draw_dirty_fb()
359 drawable->clip.data = qxl_bo_physical_address(qdev, in qxl_draw_dirty_fb()
374 drawable->u.copy.src_bitmap = qxl_bo_physical_address(qdev, dimage->bo, 0); in qxl_draw_dirty_fb()
375 qxl_release_unmap(qdev, release, &drawable->release_info); in qxl_draw_dirty_fb()
386 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); in qxl_draw_dirty_fb()
393 qxl_image_free_objects(qdev, dimage); in qxl_draw_dirty_fb()
399 free_drawable(qdev, release); in qxl_draw_dirty_fb()
403 void qxl_draw_copyarea(struct qxl_device *qdev, in qxl_draw_copyarea() argument
413 ret = alloc_drawable(qdev, &release); in qxl_draw_copyarea()
426 ret = make_drawable(qdev, 0, QXL_COPY_BITS, &rect, release); in qxl_draw_copyarea()
432 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); in qxl_draw_copyarea()
435 qxl_release_unmap(qdev, release, &drawable->release_info); in qxl_draw_copyarea()
437 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); in qxl_draw_copyarea()
442 free_drawable(qdev, release); in qxl_draw_copyarea()
447 struct qxl_device *qdev = qxl_draw_fill_rec->qdev; in qxl_draw_fill() local
455 ret = alloc_drawable(qdev, &release); in qxl_draw_fill()
464 ret = make_drawable(qdev, 0, QXL_DRAW_FILL, &rect, release); in qxl_draw_fill()
470 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); in qxl_draw_fill()
479 qxl_release_unmap(qdev, release, &drawable->release_info); in qxl_draw_fill()
481 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); in qxl_draw_fill()
486 free_drawable(qdev, release); in qxl_draw_fill()