Lines Matching defs:obj

45 static int vgpu_gem_get_pages(struct drm_i915_gem_object *obj)
47 struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
56 if (overflows_type(obj->base.size >> PAGE_SHIFT, page_num))
59 page_num = obj->base.size >> PAGE_SHIFT;
60 fb_info = (struct intel_vgpu_fb_info *)obj->gvt_info;
64 vgpu = fb_info->obj->vgpu;
93 __i915_gem_object_set_pages(obj, st);
111 static void vgpu_gem_put_pages(struct drm_i915_gem_object *obj,
116 if (obj->base.dma_buf) {
117 struct intel_vgpu_fb_info *fb_info = obj->gvt_info;
118 struct intel_vgpu_dmabuf_obj *obj = fb_info->obj;
119 struct intel_vgpu *vgpu = obj->vgpu;
133 struct intel_vgpu_dmabuf_obj *obj =
135 struct intel_vgpu *vgpu = obj->vgpu;
143 if (dmabuf_obj == obj) {
154 kfree(obj->info);
155 kfree(obj);
160 static inline void dmabuf_obj_get(struct intel_vgpu_dmabuf_obj *obj)
162 kref_get(&obj->kref);
165 static inline void dmabuf_obj_put(struct intel_vgpu_dmabuf_obj *obj)
167 kref_put(&obj->kref, dmabuf_gem_object_free);
174 struct intel_vgpu_dmabuf_obj *obj = fb_info->obj;
175 struct intel_vgpu *vgpu = obj->vgpu;
180 dmabuf_obj_put(obj);
185 dmabuf_obj_put(obj);
202 struct drm_i915_gem_object *obj;
204 obj = i915_gem_object_alloc();
205 if (obj == NULL)
208 drm_gem_private_object_init(dev, &obj->base,
210 i915_gem_object_init(obj, &intel_vgpu_gem_ops, &lock_class, 0);
211 i915_gem_object_set_readonly(obj);
213 obj->read_domains = I915_GEM_DOMAIN_GTT;
214 obj->write_domain = 0;
236 obj->tiling_and_stride = tiling_mode | stride;
238 obj->tiling_and_stride = info->drm_format_mod ?
242 return obj;
464 ((struct intel_vgpu_fb_info *)dmabuf_obj->info)->obj = dmabuf_obj;
504 struct drm_i915_gem_object *obj;
518 obj = vgpu_create_gem(dev, dmabuf_obj->info);
519 if (obj == NULL) {
520 gvt_vgpu_err("create gvt gem obj failed\n");
525 obj->gvt_info = dmabuf_obj->info;
527 dmabuf = i915_gem_prime_export(&obj->base, DRM_CLOEXEC | DRM_RDWR);
556 kref_read(&obj->base.refcount));
558 i915_gem_object_put(obj);
565 i915_gem_object_put(obj);