Lines Matching refs:srf
45 * @srf: The surface metadata.
51 struct vmw_surface srf;
195 * @srf: Pointer to a struct vmw_surface
198 * restoration of the surface represented by @srf.
200 static inline uint32_t vmw_surface_dma_size(const struct vmw_surface *srf)
202 return srf->metadata.num_sizes * sizeof(struct vmw_surface_dma);
209 * @srf: Pointer to a struct vmw_surface
212 * of the surface represented by @srf.
214 static inline uint32_t vmw_surface_define_size(const struct vmw_surface *srf)
216 return sizeof(struct vmw_surface_define) + srf->metadata.num_sizes *
252 * @srf: Pointer to a struct vmw_surface object.
255 static void vmw_surface_define_encode(const struct vmw_surface *srf,
265 cmd_len = sizeof(cmd->body) + srf->metadata.num_sizes *
270 cmd->body.sid = srf->res.id;
276 cmd->body.surfaceFlags = (SVGA3dSurface1Flags)srf->metadata.flags;
277 cmd->body.format = srf->metadata.format;
279 cmd->body.face[i].numMipLevels = srf->metadata.mip_levels[i];
283 src_size = srf->metadata.sizes;
285 for (i = 0; i < srf->metadata.num_sizes; ++i, cmd_size++, src_size++) {
295 * @srf: Pointer to a struct vmw_surface object.
301 static void vmw_surface_dma_encode(struct vmw_surface *srf,
309 svga3dsurface_get_desc(srf->metadata.format);
311 for (i = 0; i < srf->metadata.num_sizes; ++i) {
316 const struct vmw_surface_offset *cur_offset = &srf->offsets[i];
317 const struct drm_vmw_size *cur_size = &srf->metadata.sizes[i];
326 body->host.sid = srf->res.id;
410 struct vmw_surface *srf;
418 srf = vmw_res_to_srf(res);
442 submit_size = vmw_surface_define_size(srf);
449 vmw_surface_define_encode(srf, cmd);
489 struct vmw_surface *srf = vmw_res_to_srf(res);
494 submit_size = vmw_surface_dma_size(srf);
500 vmw_surface_dma_encode(srf, cmd, &ptr, bind);
609 * @srf: Pointer to the struct vmw_surface to initialize.
614 struct vmw_surface *srf,
618 struct vmw_resource *res = &srf->res;
635 INIT_LIST_HEAD(&srf->view_list);
653 prime.base)->srf.res);
663 struct vmw_surface *srf = vmw_res_to_srf(res);
665 container_of(srf, struct vmw_user_surface, srf);
666 struct vmw_private *dev_priv = srf->res.dev_priv;
672 kfree(srf->offsets);
673 kfree(srf->metadata.sizes);
674 kfree(srf->snooper.image);
693 struct vmw_resource *res = &user_srf->srf.res;
731 struct vmw_surface *srf;
797 srf = &user_srf->srf;
798 metadata = &srf->metadata;
799 res = &srf->res;
818 srf->offsets = kmalloc_array(metadata->num_sizes, sizeof(*srf->offsets),
820 if (unlikely(!srf->offsets)) {
825 metadata->base_size = *srf->metadata.sizes;
832 cur_offset = srf->offsets;
856 srf->snooper.image = kzalloc(64 * 64 * 4, GFP_KERNEL);
857 if (!srf->snooper.image) {
863 srf->snooper.image = NULL;
876 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);
899 tmp = vmw_resource_reference(&srf->res);
916 kfree(srf->offsets);
1023 struct vmw_surface *srf;
1035 srf = &user_srf->srf;
1038 rep->flags = (uint32_t)srf->metadata.flags;
1039 rep->format = srf->metadata.format;
1040 memcpy(rep->mip_levels, srf->metadata.mip_levels,
1041 sizeof(srf->metadata.mip_levels));
1046 ret = copy_to_user(user_sizes, &srf->metadata.base_size,
1047 sizeof(srf->metadata.base_size));
1050 srf->metadata.num_sizes);
1063 * @srf: Pointer to a struct vmw_surface object.
1069 struct vmw_surface *srf = vmw_res_to_srf(res);
1070 struct vmw_surface_metadata *metadata = &srf->metadata;
1136 cmd4->body.sid = srf->res.id;
1152 cmd3->body.sid = srf->res.id;
1167 cmd2->body.sid = srf->res.id;
1180 cmd->body.sid = srf->res.id;
1318 struct vmw_surface *srf = vmw_res_to_srf(res);
1328 vmw_view_surface_list_destroy(dev_priv, &srf->view_list);
1461 struct vmw_surface *srf;
1532 ret = vmw_gb_surface_define(dev_priv, size, &metadata, &srf);
1538 user_srf = container_of(srf, struct vmw_user_surface, srf);
1546 res = &user_srf->srf.res;
1649 struct vmw_surface *srf;
1662 srf = &user_srf->srf;
1663 if (!srf->res.backup) {
1667 metadata = &srf->metadata;
1670 ret = vmw_user_bo_reference(tfile, srf->res.backup, &backup_handle);
1691 rep->crep.backup_size = srf->res.backup_size;
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;
1866 struct vmw_surface *srf = vmw_res_to_srf(res);
1872 if (srf->metadata.format == SVGA3D_BUFFER)
1961 struct vmw_surface *srf = vmw_res_to_srf(res);
1962 const struct vmw_surface_metadata *metadata = &srf->metadata;
2081 struct vmw_surface *srf;
2144 *srf_out = &user_srf->srf;
2149 srf = &user_srf->srf;
2150 srf->metadata = *req;
2151 srf->offsets = NULL;
2153 metadata = &srf->metadata;
2163 srf->res.backup_size =
2171 srf->res.backup_size += sizeof(SVGA3dDXSOState);
2191 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);