[PATCH] drm/amdgpu: disable page queue on Vega10 SR-IOV VF

Yang, Philip Philip.Yang at amd.com
Wed Nov 7 23:58:33 UTC 2018


On 2018-11-07 12:53 p.m., Kuehling, Felix wrote:
> [+Philip]
>
> On 2018-11-07 12:25 a.m., Zhang, Jerry(Junwei) wrote:
>> On 11/7/18 1:15 PM, Trigger Huang wrote:
>>> Currently, SDMA page queue is not used under SR-IOV VF, and this
>>> queue will
>>> cause ring test failure in amdgpu module reload case. So just disable
>>> it.
>>>
>>> Signed-off-by: Trigger Huang <Trigger.Huang at amd.com>
>> Looks we ran into several issues about it on vega.
>> kfd also disabled vega10 for development.(but not sure the detail
>> issue for them)
>>
>> Thus, we may disable it for vega10 as well?
>> any comment? Alex, Christian, Flex.
> We ran into a regression with the page queue in a specific KFDTest that
> runs user mode SDMA in two processes. The SDMA engine would stall for
> about 6 seconds after one of the processes terminates (and destroys its
> queues). We don't have a root cause. Suspect an SDMA firmware issue.
>
> Regards,
>    Felix
The SDMA firmware has root cause the bug, I have tested one SDMA 
firmware, that fixed
the KFDIPCTest.BasicTest issue. I am waiting for SDMA firmware check in 
then enable paging
queue for Vega 10. I has asked SDAM firmware if Vega12/Vega20 paging 
queue issue has
the same root cause.

Philip
>
>> Regards,
>> Jerry
>>> ---
>>>    drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 4 +++-
>>>    1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
>>> b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
>>> index e39a09eb0f..4edc848 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
>>> @@ -1451,7 +1451,9 @@ static int sdma_v4_0_early_init(void *handle)
>>>            adev->sdma.has_page_queue = false;
>>>        } else {
>>>            adev->sdma.num_instances = 2;
>>> -        if (adev->asic_type != CHIP_VEGA20 &&
>>> +        if ((adev->asic_type == CHIP_VEGA10) &&
>>> amdgpu_sriov_vf((adev)))
>>> +            adev->sdma.has_page_queue = false;
>>> +        else if (adev->asic_type != CHIP_VEGA20 &&
>>>                    adev->asic_type != CHIP_VEGA12)
>>>                adev->sdma.has_page_queue = true;
>>>        }
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



More information about the amd-gfx mailing list