Re: [Intel-gfx] [PULL] gvt-next

Robert Beckett
2022-04-26T19:19:43Z

On 26/04/2022 17:58, Wang, Zhi A wrote:
> On 4/26/22 3:53 PM, Jason Gunthorpe wrote:
>> On Tue, Apr 26, 2022 at 07:58:59AM +0000, Wang, Zhi A wrote:
>>> Hi folks:
>>>
>>> Here is the pull of gvt-next which fixs the compilation error when i915 debug
>>> is open after the GVT-g refactor patches.
>>>
>>> Thanks so much for the efforts.
>>>
>>> Thanks,
>>> Zhi.
>>>
>>> The following changes since commit 2917f53113be3b7a0f374e02cebe6d6b749366b5:
>>>
>>> vfio/mdev: Remove mdev drvdata (2022-04-21 07:36:56 -0400)
>>>
>>> are available in the Git repository at:
>>>
>>> https://github.com/intel/gvt-linux tags/gvt-next-2022-04-26
>>>
>>> for you to fetch changes up to 2da299cee780ea797b3f72558687868072cf5eb5:
>>>
>>> drm/i915/gvt: Add missing export of symbols. (2022-04-25 18:03:04 -0400)
>>>
>>> gvt-next-2022-04-26
>>>
>>> - Add two missing exports of symbols when i915 debug is enabled.
>>>
>>> Zhi Wang (1):
>>> drm/i915/gvt: Add missing export of symbols.
>>>
>>> drivers/gpu/drm/i915/intel_gvt.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>
>> This still has another compile problem:
>>
>> ERROR: modpost: "intel_runtime_pm_put" [vmlinux] is a static EXPORT_SYMBOL_GPL
>>
>> Because:
>>
>> #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
>> void intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref);
>> #else
>> static inline void
>> intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref)
>> {
>> intel_runtime_pm_put_unchecked(rpm);
>> }
>> #endif
>>
>> Looks like it happens if CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n
>>
>> I think you probably want to #ifdef the export in the same way:
>>
>> --- a/drivers/gpu/drm/i915/intel_gvt.c
>> +++ b/drivers/gpu/drm/i915/intel_gvt.c
>> @@ -309,7 +309,9 @@ EXPORT_SYMBOL_NS_GPL(__intel_context_do_pin, I915_GVT);
>> EXPORT_SYMBOL_NS_GPL(__intel_context_do_unpin, I915_GVT);
>> EXPORT_SYMBOL_NS_GPL(intel_ring_begin, I915_GVT);
>> EXPORT_SYMBOL_NS_GPL(intel_runtime_pm_get, I915_GVT);
>> +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
>> EXPORT_SYMBOL_NS_GPL(intel_runtime_pm_put, I915_GVT);
>> +#endif
> Sigh. That's tricky. Let me prepare another one.

Also the following compile error:

drivers/gpu/drm/i915/gvt/handlers.c:75:6: error: no previous prototype
for ‘intel_gvt_match_device’ [-Werror=missing-prototypes]

75 | bool intel_gvt_match_device(struct intel_gvt *gvt,

| ^~~~~~~~~~~~~~~~~~~~~~

it was removed from a header. The implementation should now be made static

>> EXPORT_SYMBOL_NS_GPL(intel_runtime_pm_put_unchecked, I915_GVT);
>> EXPORT_SYMBOL_NS_GPL(intel_uncore_forcewake_for_reg, I915_GVT);
>> EXPORT_SYMBOL_NS_GPL(intel_uncore_forcewake_get, I915_GVT);
>>
>> Jason
>>
>