[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <88760cd1-d1ed-8952-d061-15e238b2ec57@molgen.mpg.de>
Date: Tue, 12 Apr 2022 10:01:21 +0200
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: Alex Deucher <alexdeucher@...il.com>,
Yongqiang Sun <yongqiang.sun@....com>
Cc: Jingwen Chen <jingwen.chen2@....com>,
"Luo, Zhigang" <zhigang.luo@....com>,
amd-gfx@...ts.freedesktop.org, monk.liu@....com,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drm/amd/amdgpu: Not request init data for MS_HYPERV with
vega10
[Cc: +x86 folks]
Dear Alex, dear x86 folks,
x86 folks, can you think of alternatives to access `X86_HYPER_MS_HYPERV`
from `arch/x86/include/asm/hypervisor.h` without any preprocessor ifdef-ery?
Am 11.04.22 um 18:28 schrieb Alex Deucher:
> On Mon, Apr 11, 2022 at 11:28 AM Paul Menzel wrote:
[…]
>> Am 11.04.22 um 15:59 schrieb Yongqiang Sun:
>>> MS_HYPERV with vega10 doesn't have the interface to process
>>> request init data msg.
>>
>> Should some Hyper-V folks be added to the reviewers list too?
>>
>>> Check hypervisor type to not send the request for MS_HYPERV.
>>
>> Please add a blank line between paragraphs.
>>
>>> Signed-off-by: Yongqiang Sun <yongqiang.sun@....com>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 12 ++++++++++--
>>> 1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>>> index 933c41f77c92..56b130ec44a9 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>>> @@ -23,6 +23,10 @@
>>>
>>> #include <linux/module.h>
>>>
>>> +#ifdef CONFIG_X86
>>> +#include <asm/hypervisor.h>
>>> +#endif
>>> +
>>> #include <drm/drm_drv.h>
>>>
>>> #include "amdgpu.h"
>>> @@ -721,8 +725,12 @@ void amdgpu_detect_virtualization(struct amdgpu_device *adev)
>>> break;
>>> case CHIP_VEGA10:
>>> soc15_set_virt_ops(adev);
>>> - /* send a dummy GPU_INIT_DATA request to host on vega10 */
>>> - amdgpu_virt_request_init_data(adev);
>>> +#ifdef CONFIG_X86
>>> + /* not send GPU_INIT_DATA with MS_HYPERV*/
>>> + if (hypervisor_is_type(X86_HYPER_MS_HYPERV) == false)
>>> +#endif
>>
>> Why guard everything with CONFIG_X86? (If it’s needed, it should be done
>> in C code.)
>
> X86_HYPER_MS_HYPERV only available on x86.
Sorry, I missed the X86 dependency when quickly looking at the Hyper-V
stub IOMMU driver `drivers/iommu/hyperv-iommu.c`, but missed that
`HYPERV_IOMMU` has `depends on HYPERV && X86`.
Kind regards,
Paul
>>> + /* send a dummy GPU_INIT_DATA request to host on vega10 */
>>> + amdgpu_virt_request_init_data(adev);
>>> break;
>>> case CHIP_VEGA20:
>>> case CHIP_ARCTURUS:
>>
>>
>> Kind regards,
>>
>> Paul
Powered by blists - more mailing lists