This trys to export all required i915 functions for GVT. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 11 +++++++++++ drivers/gpu/drm/i915/i915_gem_context.c | 2 ++ drivers/gpu/drm/i915/i915_gem_dmabuf.c | 1 + drivers/gpu/drm/i915/i915_gem_fence_reg.c | 2 ++ drivers/gpu/drm/i915/i915_gem_gtt.c | 1 + drivers/gpu/drm/i915/i915_request.c | 3 +++ drivers/gpu/drm/i915/i915_vma.c | 2 ++ drivers/gpu/drm/i915/intel_ringbuffer.c | 1 + drivers/gpu/drm/i915/intel_runtime_pm.c | 2 ++ drivers/gpu/drm/i915/intel_uncore.c | 3 +++ 10 files changed, 28 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index c55b1f75c980..9af6e9810f85 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -701,6 +701,7 @@ void *i915_gem_object_alloc(struct drm_i915_private *dev_priv) { return kmem_cache_zalloc(dev_priv->objects, GFP_KERNEL); } +EXPORT_SYMBOL_GPL(i915_gem_object_alloc); void i915_gem_object_free(struct drm_i915_gem_object *obj) { @@ -1029,6 +1030,7 @@ int i915_gem_obj_prepare_shmem_write(struct drm_i915_gem_object *obj, i915_gem_object_unpin_pages(obj); return ret; } +EXPORT_SYMBOL_GPL(i915_gem_obj_prepare_shmem_write); static void shmem_clflush_swizzled_range(char *addr, unsigned long length, @@ -2764,6 +2766,7 @@ void __i915_gem_object_set_pages(struct drm_i915_gem_object *obj, list_add(&obj->mm.link, &i915->mm.unbound_list); spin_unlock(&i915->mm.obj_lock); } +EXPORT_SYMBOL_GPL(__i915_gem_object_set_pages); static int ____i915_gem_object_get_pages(struct drm_i915_gem_object *obj) { @@ -2930,6 +2933,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj, ptr = ERR_PTR(ret); goto out_unlock; } +EXPORT_SYMBOL_GPL(i915_gem_object_pin_map); static int i915_gem_object_pwrite_gtt(struct drm_i915_gem_object *obj, @@ -4041,6 +4045,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) i915_gem_object_unpin_pages(obj); return 0; } +EXPORT_SYMBOL_GPL(i915_gem_object_set_to_gtt_domain); /** * Changes the cache-level of an object across all VMA. @@ -4406,6 +4411,7 @@ i915_gem_object_set_to_cpu_domain(struct drm_i915_gem_object *obj, bool write) return 0; } +EXPORT_SYMBOL_GPL(i915_gem_object_set_to_cpu_domain); /* Throttle our rendering by waiting until the ring has completed our requests * emitted over 20 msec ago. @@ -4535,6 +4541,7 @@ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj, return vma; } +EXPORT_SYMBOL_GPL(i915_gem_object_ggtt_pin); static __always_inline unsigned int __busy_read_flag(unsigned int id) { @@ -4758,6 +4765,7 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj, i915_gem_info_add_obj(to_i915(obj->base.dev), obj->base.size); } +EXPORT_SYMBOL_GPL(i915_gem_object_init); static const struct drm_i915_gem_object_ops i915_gem_object_ops = { .flags = I915_GEM_OBJECT_HAS_STRUCT_PAGE | @@ -4864,6 +4872,7 @@ i915_gem_object_create(struct drm_i915_private *dev_priv, u64 size) i915_gem_object_free(obj); return ERR_PTR(ret); } +EXPORT_SYMBOL_GPL(i915_gem_object_create); static bool discard_backing_storage(struct drm_i915_gem_object *obj) { @@ -5061,6 +5070,7 @@ void __i915_gem_object_release_unless_active(struct drm_i915_gem_object *obj) else i915_gem_object_put(obj); } +EXPORT_SYMBOL_GPL(__i915_gem_object_release_unless_active); void i915_gem_sanitize(struct drm_i915_private *i915) { @@ -6168,6 +6178,7 @@ i915_gem_object_get_page(struct drm_i915_gem_object *obj, unsigned int n) sg = i915_gem_object_get_sg(obj, n, &offset); return nth_page(sg_page(sg), offset); } +EXPORT_SYMBOL_GPL(i915_gem_object_get_page); /* Like i915_gem_object_get_page(), but mark the returned page dirty */ struct page * diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c index b97963db0287..212b8d176d25 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c @@ -274,6 +274,7 @@ void i915_gem_context_release(struct kref *ref) if (llist_add(&ctx->free_link, &i915->contexts.free_list)) queue_work(i915->wq, &i915->contexts.free_work); } +EXPORT_SYMBOL_GPL(i915_gem_context_release); static void context_close(struct i915_gem_context *ctx) { @@ -473,6 +474,7 @@ i915_gem_context_create_gvt(struct drm_device *dev) mutex_unlock(&dev->struct_mutex); return ctx; } +EXPORT_SYMBOL_GPL(i915_gem_context_create_gvt); static void destroy_kernel_context(struct i915_gem_context **ctxp) diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c index 82e2ca17a441..ac98b094220c 100644 --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c @@ -244,6 +244,7 @@ struct dma_buf *i915_gem_prime_export(struct drm_device *dev, return drm_gem_dmabuf_export(dev, &exp_info); } +EXPORT_SYMBOL_GPL(i915_gem_prime_export); static int i915_gem_object_get_pages_dmabuf(struct drm_i915_gem_object *obj) { diff --git a/drivers/gpu/drm/i915/i915_gem_fence_reg.c b/drivers/gpu/drm/i915/i915_gem_fence_reg.c index d548ac05ccd7..21b79c1f61d0 100644 --- a/drivers/gpu/drm/i915/i915_gem_fence_reg.c +++ b/drivers/gpu/drm/i915/i915_gem_fence_reg.c @@ -420,6 +420,7 @@ i915_reserve_fence(struct drm_i915_private *dev_priv) list_del(&fence->link); return fence; } +EXPORT_SYMBOL_GPL(i915_reserve_fence); /** * i915_unreserve_fence - Reclaim a reserved fence @@ -433,6 +434,7 @@ void i915_unreserve_fence(struct drm_i915_fence_reg *fence) list_add(&fence->link, &fence->i915->mm.fence_list); } +EXPORT_SYMBOL_GPL(i915_unreserve_fence); /** * i915_gem_revoke_fences - revoke fence state diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index add1fe7aeb93..75dd6ebf517e 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -4040,6 +4040,7 @@ int i915_gem_gtt_insert(struct i915_address_space *vm, size, alignment, color, start, end, DRM_MM_INSERT_EVICT); } +EXPORT_SYMBOL_GPL(i915_gem_gtt_insert); #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST) #include "selftests/mock_gtt.c" diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c index 71107540581d..0048fd9bb899 100644 --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c @@ -749,6 +749,7 @@ i915_request_alloc(struct intel_engine_cs *engine, struct i915_gem_context *ctx) intel_context_unpin(ce); return ERR_PTR(ret); } +EXPORT_SYMBOL_GPL(i915_request_alloc); static int i915_request_await_request(struct i915_request *to, struct i915_request *from) @@ -1073,6 +1074,7 @@ void i915_request_add(struct i915_request *request) if (prev && i915_request_completed(prev)) i915_request_retire_upto(prev); } +EXPORT_SYMBOL_GPL(i915_request_add); static unsigned long local_clock_us(unsigned int *cpu) { @@ -1339,6 +1341,7 @@ long i915_request_wait(struct i915_request *rq, return timeout; } +EXPORT_SYMBOL_GPL(i915_request_wait); static void ring_retire_requests(struct intel_ring *ring) { diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c index 5b4d78cdb4ca..704f18a8ecd3 100644 --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c @@ -783,6 +783,7 @@ void i915_vma_close(struct i915_vma *vma) */ list_add_tail(&vma->closed_link, &vma->vm->i915->gt.closed_vma); } +EXPORT_SYMBOL_GPL(i915_vma_close); void i915_vma_reopen(struct i915_vma *vma) { @@ -1028,6 +1029,7 @@ int i915_vma_move_to_active(struct i915_vma *vma, export_fence(vma, rq, flags); return 0; } +EXPORT_SYMBOL_GPL(i915_vma_move_to_active); int i915_vma_unbind(struct i915_vma *vma) { diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 87eebc13c0d8..c0d8693f1110 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -1957,6 +1957,7 @@ u32 *intel_ring_begin(struct i915_request *rq, unsigned int num_dwords) return cs; } +EXPORT_SYMBOL_GPL(intel_ring_begin); /* Align the ring tail to a cacheline boundary */ int intel_ring_cacheline_align(struct i915_request *rq) diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c index 1c2de9b69a19..90a15e8d2afa 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -4004,6 +4004,7 @@ void intel_runtime_pm_get(struct drm_i915_private *dev_priv) atomic_inc(&dev_priv->runtime_pm.wakeref_count); assert_rpm_wakelock_held(dev_priv); } +EXPORT_SYMBOL_GPL(intel_runtime_pm_get); /** * intel_runtime_pm_get_if_in_use - grab a runtime pm reference if device in use @@ -4087,6 +4088,7 @@ void intel_runtime_pm_put(struct drm_i915_private *dev_priv) pm_runtime_mark_last_busy(kdev); pm_runtime_put_autosuspend(kdev); } +EXPORT_SYMBOL_GPL(intel_runtime_pm_put); /** * intel_runtime_pm_enable - enable runtime pm diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 9289515108c3..35293ac7dff9 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -644,6 +644,7 @@ void intel_uncore_forcewake_get(struct drm_i915_private *dev_priv, __intel_uncore_forcewake_get(dev_priv, fw_domains); spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags); } +EXPORT_SYMBOL_GPL(intel_uncore_forcewake_get); /** * intel_uncore_forcewake_user_get - claim forcewake on behalf of userspace @@ -756,6 +757,7 @@ void intel_uncore_forcewake_put(struct drm_i915_private *dev_priv, __intel_uncore_forcewake_put(dev_priv, fw_domains); spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags); } +EXPORT_SYMBOL_GPL(intel_uncore_forcewake_put); /** * intel_uncore_forcewake_put__locked - grab forcewake domain references @@ -2388,6 +2390,7 @@ intel_uncore_forcewake_for_reg(struct drm_i915_private *dev_priv, return fw_domains; } +EXPORT_SYMBOL_GPL(intel_uncore_forcewake_for_reg); #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST) #include "selftests/mock_uncore.c" -- 2.19.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx