Lines Matching defs:surf
325 int qxl_io_update_area(struct qxl_device *qdev, struct qxl_bo *surf,
332 if (!surf->hw_surf_alloc)
335 if (surf->is_primary)
338 surface_id = surf->surface_id;
339 surface_width = surf->surf.width;
340 surface_height = surf->surf.height;
386 create->format = bo->surf.format;
387 create->width = bo->surf.width;
388 create->height = bo->surf.height;
389 create->stride = bo->surf.stride;
420 struct qxl_bo *surf)
441 surf->surface_id = handle;
458 struct qxl_bo *surf)
464 if (surf->hw_surf_alloc)
481 cmd->u.surface_create.format = surf->surf.format;
482 cmd->u.surface_create.width = surf->surf.width;
483 cmd->u.surface_create.height = surf->surf.height;
484 cmd->u.surface_create.stride = surf->surf.stride;
485 cmd->u.surface_create.data = qxl_bo_physical_address(qdev, surf, 0);
486 cmd->surface_id = surf->surface_id;
489 surf->surf_create = release;
497 surf->hw_surf_alloc = true;
499 idr_replace(&qdev->surf_id_idr, surf, surf->surface_id);
505 struct qxl_bo *surf)
512 if (!surf->hw_surf_alloc)
516 surf->surf_create,
521 surf->surf_create = NULL;
524 idr_replace(&qdev->surf_id_idr, NULL, surf->surface_id);
526 surf->hw_surf_alloc = false;
528 id = surf->surface_id;
529 surf->surface_id = 0;
543 static int qxl_update_surface(struct qxl_device *qdev, struct qxl_bo *surf)
551 rect.right = surf->surf.width;
553 rect.bottom = surf->surf.height;
555 ret = qxl_io_update_area(qdev, surf, &rect);
561 static void qxl_surface_evict_locked(struct qxl_device *qdev, struct qxl_bo *surf, bool do_update_area)
565 qxl_update_surface(qdev, surf);
568 qxl_hw_surface_dealloc(qdev, surf);
571 void qxl_surface_evict(struct qxl_device *qdev, struct qxl_bo *surf, bool do_update_area)
574 qxl_surface_evict_locked(qdev, surf, do_update_area);
578 static int qxl_reap_surf(struct qxl_device *qdev, struct qxl_bo *surf, bool stall)
582 ret = qxl_bo_reserve(surf);
590 ret = dma_resv_wait_timeout(surf->tbo.base.resv,
598 ret = dma_resv_test_signaled(surf->tbo.base.resv,
606 qxl_bo_unreserve(surf);
610 qxl_surface_evict_locked(qdev, surf, true);
611 qxl_bo_unreserve(surf);