Lines Matching defs:base
44 * @base: The TTM base object handling user-space visibility.
87 vmw_user_surface_base_to_res(struct ttm_base_object *base);
641 * vmw_user_surface_base_to_res - TTM base object to resource converter for
644 * @base: Pointer to a TTM base object
647 * for the user-visible object identified by the TTM base object @base.
650 vmw_user_surface_base_to_res(struct ttm_base_object *base)
652 return &(container_of(base, struct vmw_user_surface,
653 prime.base)->srf.res);
680 * vmw_user_surface_free - User visible surface TTM base object destructor
682 * @p_base: Pointer to a pointer to a TTM base object
685 * Drops the base object's reference on its resource, and the
690 struct ttm_base_object *base = *p_base;
692 container_of(base, struct vmw_user_surface, prime.base);
866 user_srf->prime.base.shareable = false;
867 user_srf->prime.base.tfile = NULL;
910 rep->sid = user_srf->prime.base.handle;
939 struct ttm_base_object *base;
951 base = ttm_base_object_lookup_for_ref(dev_priv->tdev, handle);
952 if (unlikely(!base)) {
957 if (unlikely(ttm_base_object_type(base) != VMW_RES_SURFACE)) {
965 user_srf = container_of(base, struct vmw_user_surface,
966 prime.base);
986 ret = ttm_ref_object_add(tfile, base, TTM_REF_USAGE, NULL,
994 *base_p = base;
998 ttm_base_object_unref(&base);
1026 struct ttm_base_object *base;
1030 req->handle_type, &base);
1034 user_srf = container_of(base, struct vmw_user_surface, prime.base);
1051 ttm_ref_object_base_unref(tfile, base->handle, TTM_REF_USAGE);
1055 ttm_base_object_unref(&base);
1364 req_ext.base = arg->req;
1398 rep->creq = rep_ext.creq.base;
1469 req->base.svga3d_flags);
1472 if (req->base.array_size > 0 && !has_sm4_context(dev_priv)) {
1481 if (req->base.multisample_count != 0)
1502 req->base.multisample_count == 0) {
1507 if (req->base.mip_levels > DRM_VMW_MAX_MIP_LEVELS) {
1519 metadata.format = req->base.format;
1520 metadata.mip_levels[0] = req->base.mip_levels;
1521 metadata.multisample_count = req->base.multisample_count;
1524 metadata.array_size = req->base.array_size;
1527 metadata.base_size = req->base.base_size;
1528 metadata.scanout = req->base.drm_surface_flags &
1548 if (req->base.buffer_handle != SVGA3D_INVALID_ID) {
1549 ret = vmw_user_bo_lookup(tfile, req->base.buffer_handle,
1553 if (res->backup->base.num_pages * PAGE_SIZE <
1560 backup_handle = req->base.buffer_handle;
1563 } else if (req->base.drm_surface_flags &
1568 req->base.drm_surface_flags &
1579 if (req->base.drm_surface_flags & drm_vmw_surface_flag_coherent) {
1582 ttm_bo_reserve(&backup->base, false, false, NULL);
1591 ttm_bo_unreserve(&backup->base);
1601 req->base.drm_surface_flags &
1612 rep->handle = user_srf->prime.base.handle;
1616 drm_vma_node_offset_addr(&res->backup->base.base.vma_node);
1617 rep->buffer_size = res->backup->base.num_pages * PAGE_SIZE;
1652 struct ttm_base_object *base;
1657 req->handle_type, &base);
1661 user_srf = container_of(base, struct vmw_user_surface, prime.base);
1676 (void) ttm_ref_object_base_unref(tfile, base->handle,
1681 rep->creq.base.svga3d_flags = SVGA3D_FLAGS_LOWER_32(metadata->flags);
1682 rep->creq.base.format = metadata->format;
1683 rep->creq.base.mip_levels = metadata->mip_levels[0];
1684 rep->creq.base.drm_surface_flags = 0;
1685 rep->creq.base.multisample_count = metadata->multisample_count;
1686 rep->creq.base.autogen_filter = metadata->autogen_filter;
1687 rep->creq.base.array_size = metadata->array_size;
1688 rep->creq.base.buffer_handle = backup_handle;
1689 rep->creq.base.base_size = metadata->base_size;
1690 rep->crep.handle = user_srf->prime.base.handle;
1694 drm_vma_node_offset_addr(&srf->res.backup->base.base.vma_node);
1695 rep->crep.buffer_size = srf->res.backup->base.num_pages * PAGE_SIZE;
1705 ttm_base_object_unref(&base);
2146 user_srf->prime.base.shareable = false;
2147 user_srf->prime.base.tfile = NULL;