Lines Matching refs:surf

326 int qxl_io_update_area(struct qxl_device *qdev, struct qxl_bo *surf,  in qxl_io_update_area()  argument
333 if (!surf->hw_surf_alloc) in qxl_io_update_area()
336 if (surf->is_primary) in qxl_io_update_area()
339 surface_id = surf->surface_id; in qxl_io_update_area()
340 surface_width = surf->surf.width; in qxl_io_update_area()
341 surface_height = surf->surf.height; in qxl_io_update_area()
387 create->format = bo->surf.format; in qxl_io_create_primary()
388 create->width = bo->surf.width; in qxl_io_create_primary()
389 create->height = bo->surf.height; in qxl_io_create_primary()
390 create->stride = bo->surf.stride; in qxl_io_create_primary()
446 struct qxl_bo *surf) in qxl_surface_id_alloc() argument
469 surf->surface_id = handle; in qxl_surface_id_alloc()
486 struct qxl_bo *surf, in qxl_hw_surface_alloc() argument
493 if (surf->hw_surf_alloc) in qxl_hw_surface_alloc()
509 cmd->u.surface_create.format = surf->surf.format; in qxl_hw_surface_alloc()
510 cmd->u.surface_create.width = surf->surf.width; in qxl_hw_surface_alloc()
511 cmd->u.surface_create.height = surf->surf.height; in qxl_hw_surface_alloc()
512 cmd->u.surface_create.stride = surf->surf.stride; in qxl_hw_surface_alloc()
514 int slot_id = surf->type == QXL_GEM_DOMAIN_VRAM ? qdev->main_mem_slot : qdev->surfaces_mem_slot; in qxl_hw_surface_alloc()
520 …cmd->u.surface_create.data |= (new_mem->start << PAGE_SHIFT) + surf->tbo.bdev->man[new_mem->mem_ty… in qxl_hw_surface_alloc()
522 cmd->u.surface_create.data = qxl_bo_physical_address(qdev, surf, 0); in qxl_hw_surface_alloc()
523 cmd->surface_id = surf->surface_id; in qxl_hw_surface_alloc()
526 surf->surf_create = release; in qxl_hw_surface_alloc()
534 surf->hw_surf_alloc = true; in qxl_hw_surface_alloc()
536 idr_replace(&qdev->surf_id_idr, surf, surf->surface_id); in qxl_hw_surface_alloc()
542 struct qxl_bo *surf) in qxl_hw_surface_dealloc() argument
549 if (!surf->hw_surf_alloc) in qxl_hw_surface_dealloc()
553 surf->surf_create, in qxl_hw_surface_dealloc()
558 surf->surf_create = NULL; in qxl_hw_surface_dealloc()
561 idr_replace(&qdev->surf_id_idr, NULL, surf->surface_id); in qxl_hw_surface_dealloc()
563 surf->hw_surf_alloc = false; in qxl_hw_surface_dealloc()
565 id = surf->surface_id; in qxl_hw_surface_dealloc()
566 surf->surface_id = 0; in qxl_hw_surface_dealloc()
581 int qxl_update_surface(struct qxl_device *qdev, struct qxl_bo *surf) in qxl_update_surface() argument
589 rect.right = surf->surf.width; in qxl_update_surface()
591 rect.bottom = surf->surf.height; in qxl_update_surface()
593 ret = qxl_io_update_area(qdev, surf, &rect); in qxl_update_surface()
599 static void qxl_surface_evict_locked(struct qxl_device *qdev, struct qxl_bo *surf, bool do_update_a… in qxl_surface_evict_locked() argument
603 qxl_update_surface(qdev, surf); in qxl_surface_evict_locked()
606 qxl_hw_surface_dealloc(qdev, surf); in qxl_surface_evict_locked()
609 void qxl_surface_evict(struct qxl_device *qdev, struct qxl_bo *surf, bool do_update_area) in qxl_surface_evict() argument
612 qxl_surface_evict_locked(qdev, surf, do_update_area); in qxl_surface_evict()
616 static int qxl_reap_surf(struct qxl_device *qdev, struct qxl_bo *surf, bool stall) in qxl_reap_surf() argument
620 ret = qxl_bo_reserve(surf, false); in qxl_reap_surf()
627 ret = ttm_bo_wait(&surf->tbo, true, true, !stall); in qxl_reap_surf()
632 qxl_bo_unreserve(surf); in qxl_reap_surf()
636 qxl_surface_evict_locked(qdev, surf, true); in qxl_reap_surf()
637 qxl_bo_unreserve(surf); in qxl_reap_surf()