/* SPDX-License-Identifier: GPL-2.0 OR MIT */
 /**************************************************************************
  *
- * Copyright (c) 2009-2022 VMware, Inc., Palo Alto, CA., USA
+ * Copyright (c) 2009-2023 VMware, Inc., Palo Alto, CA., USA
  * All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * @tfile: struct ttm_object_file identifying the caller
  * @size: The size of the dma_bufs we export.
  * @prime: The object to be initialized.
- * @shareable: See ttm_base_object_init
  * @type: See ttm_base_object_init
  * @refcount_release: See ttm_base_object_init
  *
  * for data sharing between processes and devices.
  */
 int ttm_prime_object_init(struct ttm_object_file *tfile, size_t size,
-                         struct ttm_prime_object *prime, bool shareable,
+                         struct ttm_prime_object *prime,
                          enum ttm_object_type type,
                          void (*refcount_release) (struct ttm_base_object **))
 {
+       bool shareable = !!(type == VMW_RES_SURFACE);
        mutex_init(&prime->mutex);
        prime->size = PAGE_ALIGN(size);
        prime->real_type = type;
 
 /**************************************************************************
  *
- * Copyright (c) 2006-2022 VMware, Inc., Palo Alto, CA., USA
+ * Copyright (c) 2006-2023 VMware, Inc., Palo Alto, CA., USA
  * All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
 extern int ttm_prime_object_init(struct ttm_object_file *tfile,
                                 size_t size,
                                 struct ttm_prime_object *prime,
-                                bool shareable,
                                 enum ttm_object_type type,
                                 void (*refcount_release)
                                 (struct ttm_base_object **));
 
                srf->snooper.image = NULL;
        }
 
-       user_srf->prime.base.shareable = false;
-       user_srf->prime.base.tfile = NULL;
        if (drm_is_primary_client(file_priv))
                user_srf->master = drm_file_get_master(file_priv);
 
                goto out_unlock;
 
        /*
-        * A gb-aware client referencing a shared surface will
-        * expect a backup buffer to be present.
+        * A gb-aware client referencing a surface will expect a backup
+        * buffer to be present.
         */
-       if (dev_priv->has_mob && req->shareable) {
+       if (dev_priv->has_mob) {
                struct vmw_bo_params params = {
                        .domain = VMW_BO_DOMAIN_SYS,
                        .busy_domain = VMW_BO_DOMAIN_SYS,
        }
 
        tmp = vmw_resource_reference(&srf->res);
-       ret = ttm_prime_object_init(tfile, res->guest_memory_size, &user_srf->prime,
-                                   req->shareable, VMW_RES_SURFACE,
+       ret = ttm_prime_object_init(tfile, res->guest_memory_size,
+                                   &user_srf->prime,
+                                   VMW_RES_SURFACE,
                                    &vmw_user_surface_base_release);
 
        if (unlikely(ret != 0)) {
 
        tmp = vmw_resource_reference(res);
        ret = ttm_prime_object_init(tfile, res->guest_memory_size, &user_srf->prime,
-                                   req->base.drm_surface_flags &
-                                   drm_vmw_surface_flag_shareable,
                                    VMW_RES_SURFACE,
                                    &vmw_user_surface_base_release);
 
        }
 
        *srf_out  = &user_srf->srf;
-       user_srf->prime.base.shareable = false;
-       user_srf->prime.base.tfile = NULL;
 
        srf = &user_srf->srf;
        srf->metadata = *req;
 
 /**************************************************************************
  *
- * Copyright © 2009-2022 VMware, Inc., Palo Alto, CA., USA
+ * Copyright © 2009-2023 VMware, Inc., Palo Alto, CA., USA
  * All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
 /**
  * enum drm_vmw_surface_flags
  *
- * @drm_vmw_surface_flag_shareable:     Whether the surface is shareable
+ * @drm_vmw_surface_flag_shareable:     Deprecated - all userspace surfaces are
+ *                                      shareable.
  * @drm_vmw_surface_flag_scanout:       Whether the surface is a scanout
  *                                      surface.
  * @drm_vmw_surface_flag_create_buffer: Create a backup buffer if none is